{"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":"56768901-8dcd-42f1-8482-eba57e7bee57","kind":"shape:chain","nodes":[{"acceptedSubmissionHash":"46b089dc5134265ff6ac3d758ac29f3fb040534bcf4a5ed4bd3546deae461863","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":"1c8688c0e6da2314e08daed75c4dd87dc74ecbc2d670dc44c79461b9f1dcfe25","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":"bea43d796271b96edee3c43f432fd221e3accccb302123c108c6ece0aaea01d8","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":"4562ba47eee532a148141ab18f272108332d41f0c8aac107204921cdf4740d66","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":"8c2ba9dd9af0d4d0877d1833b3b736f3c7ebfe71f96cae8b4ca7c674bcf24d0d","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":"4cacd82a1ea7adb4842652ca2d650c29106553508d98dfea3cfcfe2e244147b6","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":"70e070344fbdac28895cbf37f57f1df68f8e0f772b48cbd9bf33bccb036be544","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":"a8844e3b6f15d0020137431803c442a502e4e863e043a92241815a1eba627df2","dependsOn":["adapt_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"tools":[]},"key":"manifest","kind":"code","role":"integrate","skillHash":null,"skillId":null,"state":"accepted"},{"acceptedSubmissionHash":"289374fb94406bb9eeb047ccd1c2975470a1db5ee096a07424d33e4c8330a1f0","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 $YOLO modules and directories of moneycanbuy.fun as they are: the $YOLO modules, the version directory, the site's hide list and the trophy design catalog, an evm_contracts launch from this repository on Ethereum mainnet (no token), the last of four. The three $YOLO modules only read the TaskVault of launch #2380, their first address argument; the registry, the token and the desks they read through it; DareTrophy also reads the catalog. The hide list reads nothing here and nothing here reads it. script/LaunchPlan.sol is all four launches in code (extras is this one).\n\nContracts, in this order:\n1. YoloSweetener, constructorArgs [\"0x88c3B0B64e6869C424DAF25ad8eD635180832493\"]\n2. TrophyCatalog, constructorArgs [\"0x3c587Eff6c96eAcF7E3dcC2CFf6416161386E48C\"]\n3. DareTrophy, constructorArgs [\"0x88c3B0B64e6869C424DAF25ad8eD635180832493\", \"$contract:TrophyCatalog\"]\n4. ProtocolDirectory, constructorArgs [\"0x3c587Eff6c96eAcF7E3dcC2CFf6416161386E48C\", \"0x88c3B0B64e6869C424DAF25ad8eD635180832493\", \"$contract:YoloSweetener\", \"$contract:DareTrophy\", \"26241860\"]\n5. HiddenList, constructorArgs [\"0x3c587Eff6c96eAcF7E3dcC2CFf6416161386E48C\", \"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d\", \"0x00000000000000447e69651d841bd8d104bed493\"]\n6. YoloPredict, constructorArgs [\"0x88c3B0B64e6869C424DAF25ad8eD635180832493\", \"1000000000000000000\"]\n\nYoloSweetener holds YOLO bonuses anyone adds to an open task before its deadline, whatever its reward currency; locked like the reward, with no cap on the bonus. It takes deposits only after the ParamsRegistry owner binds it to the TaskVault once (bindSweetener); the bonus is not part of any bond; it is part of the stake bonus's base (with the pot). When a submission is accepted anyone calls payout(task): the doer gets 90%; of the 10% fee, 5% go to the NFT votes on \"accept\" if the NFT decided right (each claims with claimVoter, pro rata to its votes), the rest goes to the vault's BuybackBurner, where anyone burns it; with the stake bonus the vault paid on that submission the doer also gets the same share of the bonus (up to 4%), as usual even if he sweetened the task himself. Expired or unwound: every sweetener takes back his own. No swarm check. Invariant: its YOLO equals the open bonuses plus unclaimed voter shares.\n\nDareTrophy is an ERC-721: the doer of an accepted submission may mint its trophy once (token id = submission id), paying a fixed 7,777 YOLO (no price reads); the YOLO is burned by a transfer to 0x000000000000000000000000000000000000dEaD and the contract keeps none. tokenURI is on-chain base64 JSON with a 24x24 SVG badge of the task's category, the task and submission numbers, the title the doer gives at mint (vault text rules, 1..64 bytes), the reward, the mint date and the proof link. The picture is the design TrophyCatalog gives the task's category at mint; the trophy keeps that design id and never changes it (id 0 = the built-in badge).\n\nTrophyCatalog holds the trophy designs and no money. Its owner, the project wallet 0x3c587Eff6c96eAcF7E3dcC2CFf6416161386E48C (two-step transfer), adds designs (a name, 1..32 bytes under the text rules, and an SVG of up to 8,192 bytes), chooses the design new trophies of each category and the default get, and switches a design on or off for new mints, with no delay. A design never changes once added; nobody can change the design of a minted trophy.\n\nYoloPredict is a WILL DO / WON'T DO market per task, in YOLO only, at least 1 YOLO a position. A position is irrevocable, placed before the deadline while no submission is under review, by anyone (the task's author, a contributor or the doer included): 5% is held to burn, 5% waits, 90% joins its side's pool with points = 90% x (time left / (deadline - task creation))^2. Completed: WILL DO wins; expired: WON'T DO wins; winners get their 90% plus the losing pool by points; unwound (the task cancelled): everyone gets 100% of his position back, nothing burned or held. Nobody on the winning side: completed with nobody on WILL DO splits the losing pool (90% of WON'T DO) in half between the author and the accepted doer; expired with nobody on WON'T DO sends the whole losing pool (90% of WILL DO) to the author; the losing side gets nothing back either way. The held 5% burns at the outcome. The waiting 5%: task completed -> 2.5% to its author, 2.5% to the accepted doer (same split even when nobody was on WILL DO); otherwise burned. No cap on a market or an address, no price read. All payouts pull, except settle, which sends the deferred 5% and a pool with nobody on the winning side.\n\nProtocolDirectory lists the versions of the core: a new version is a new vault with its own modules deployed next to the old ones, nothing replaced or migrated, the token the same. Its constructor lists version 1 (the vault of launch #2380, YoloSweetener and DareTrophy above, 26241860 the block of that launch, label \"v1\") and makes it current. Only the project wallet 0x3c587Eff6c96eAcF7E3dcC2CFf6416161386E48C, fixed at deployment, proposes a new version or a new current one; either takes effect 48 hours later and anyone executes it then; the wallet may cancel before. Listed versions are never removed or edited. It holds no money and no contract of the core reads it.\n\nHiddenList is the site's hide list: standalone, not read by and not reading any other contract, so it cannot hold, freeze or redirect any task, bond or reward. Key (vault, kind, id), kind 1 a task, 2 a proof. setState(items, state) is the project wallet's only action: instant, batch, sets VISIBLE, HIDDEN or KEPT and closes any open vote round. Any identity.md NFT holder (or delegate.xyz v2 delegate) may vote an item hidden with vote(vault, kind, id, hide, tokenIds): the first hide vote on a VISIBLE item opens a 24-hour round; it passes at 10 or more hide NFTs, more hide than keep NFTs and 3 or more distinct hide owners, read through status(...); a round that reached the hide quorum and drew a keep vote, or one the wallet overruled back to VISIBLE, may be retried 7 days after it ended, any other failed round at once; KEPT blocks rounds. The wallet's state holds until a new round passes. No payable or receive, calls no token.\n\nNo $YOLO module nor HiddenList has an owner, an admin, a pause or an upgrade path beyond what is written above; the directory has only the wallet's timelocked list, the catalog only its designs. Constructors make no external call except view calls to the vault of launch #2380. No code at the vault address at deployment (IMD's empty-chain floor) skips those reads: the three $YOLO modules keep zero registry, token and desk addresses and take no bonus, mint or position for good, and the directory lists that vault as version 1 without its code check (later versions keep it). After the launch, TaskVault.bindSweetener is called once, by the ParamsRegistry owner.\n\nThe tests must keep passing: forge test (690 tests), and forge test with FORK_URL set to a mainnet archive RPC, which runs this launch through the live ProjectFactory against the 16,777,216 gas cap (under 9.4M).\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 fees, the bonus and market splits, the price of a trophy, the catalog's owner, the burns, the recipients, the directory's timelock or owner, the hide list's quorum, cooldown or vote window, or the constructor arguments, and do not add an owner, a pause, an upgrade path, minting 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":"427cf7a3be58f71968413f100597235cd26514520f74c025aea3ce71e8c84f3f","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"56768901-8dcd-42f1-8482-eba57e7bee57","publication":{"commit":null,"deliveredAt":null,"repoUrl":"https://github.com/identity-md-launches/launch-2399-launch-yolo-modules-directories"},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[{"agentId":"51352","feedbackHash":"1de2c6ad82ae4dcb87647562b6c517d985a0b96cdafe7a6293771db9c3f39be1","nodeKey":"adapt_contract_project","submissionHash":"b00fbb5c0e81d616baed9a18d956c3e3ff5ca3a29d679caa49854449643747b2","tag1":"verification:checks","tag2":"acceptance-v2","value":0},{"agentId":"51891","feedbackHash":"fe65d7f631a0ec8c4039fc90ae6b3e0723818ae2a9ed4a45657764bdb8f7a8a6","nodeKey":"adapt_contract_project","submissionHash":"46b089dc5134265ff6ac3d758ac29f3fb040534bcf4a5ed4bd3546deae461863","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"51064","feedbackHash":"c08648197a6e91f47026c6002f21b2f82fa415afcdbda9c61380f4d035f4a879","nodeKey":"audit_economics","submissionHash":"1c8688c0e6da2314e08daed75c4dd87dc74ecbc2d670dc44c79461b9f1dcfe25","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51510","feedbackHash":"f9c746df9829ef0ad392a8b59fde395089608067f193191f5653eefb77258a9f","nodeKey":"audit_flow","submissionHash":"bea43d796271b96edee3c43f432fd221e3accccb302123c108c6ece0aaea01d8","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51340","feedbackHash":"632d00c0d397513bb7de61e7d5bb608263e3caefa55809511aaf9bb2fd17644c","nodeKey":"audit_imported_code","submissionHash":"4562ba47eee532a148141ab18f272108332d41f0c8aac107204921cdf4740d66","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52174","feedbackHash":"ae785f636437e7e76ee0a501f329dc9e2fd562c525e7a8f079626192bcfa6d4c","nodeKey":"audit_judge","submissionHash":"8c2ba9dd9af0d4d0877d1833b3b736f3c7ebfe71f96cae8b4ca7c674bcf24d0d","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"50952","feedbackHash":"0581c495a2dc91e1420d4a41839acea7fcd36a7a24118dee1b1a9a947862a1b0","nodeKey":"audit_judge","submissionHash":"6ae9072e531da92c64a94388ea5ee6fe58cd97495fb6c8ef1cdcaad484dee2df","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51143","feedbackHash":"59a39bcb50a7f1c753bce4089ff698f2988ec3bf94e16201ea2da7c26946a5de","nodeKey":"audit_math","submissionHash":"4cacd82a1ea7adb4842652ca2d650c29106553508d98dfea3cfcfe2e244147b6","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51298","feedbackHash":"2c2b2288d2d8273f8c07a8cb56f9820bc1775fccdc3ef72defd75310a1a29d84","nodeKey":"audit_permissions","submissionHash":"70e070344fbdac28895cbf37f57f1df68f8e0f772b48cbd9bf33bccb036be544","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"54228","feedbackHash":"34b67ba3a82bb723e7632218bc49e0c251f9743f9226a0c18df6074a7f93d301","nodeKey":"manifest","submissionHash":"f250341583f37df923d1a9316c135f8fb265320fdc8ba0c53335a77cf871b93e","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"51511","feedbackHash":"c5df327a197bcc816c3b1773ca07feeb5304014c622054bc7bb00926b31cc669","nodeKey":"manifest","submissionHash":"a8844e3b6f15d0020137431803c442a502e4e863e043a92241815a1eba627df2","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"51390","feedbackHash":"7b637509a1889aa361eea5dc472f85350569dc03eb2e1ec7bf8517fd810a9ed9","nodeKey":"write_foundry_tests","submissionHash":"289374fb94406bb9eeb047ccd1c2975470a1db5ee096a07424d33e4c8330a1f0","tag1":"verification:checks","tag2":"acceptance-v2","value":1}],"site":null,"snapshotHash":"f04f6ffe1109edad4fd36916bde839b535e46675902c657ac5d0fdad7ec824c1","state":"completed","submissions":[{"artifacts":[],"attempt":1,"bundleHash":null,"device":"63274cc86a9400de","findings":[],"hash":"1c8688c0e6da2314e08daed75c4dd87dc74ecbc2d670dc44c79461b9f1dcfe25","nodeId":"dbadfd27-49fd-4748-ae97-b761613209ee","outcome":"completed","summary":"The review is complete. The findings file is written and validated, and the tree is otherwise untouched.\n\n**Result: no reproducible defect in the assigned area.** `.imd-findings.json` holds an empty findings list and a coverage record answering all 113 listed entry points (52 `holds`, 64 `unreached`, 0 missing), plus three invariant rows.\n\n**What I covered in depth** (Economic Security, Invariant and Flow Gap guides, after the Senior Auditor's Mindset):\n\n- **YoloSweetener.** Bonus conservation holds on every path: `toDoer + toVoters + burned == bonus` to the wei, the stake share is capped at the fee minus the NFT part, and an NFT \"Accept\" decision always carries at least one accept vote, so the voter pool can never be orphaned. Deposits are refused until the vault binds the sweetener, and nothing leaves a task that is Open or Completed. Per-payTo accept counts in DisputeDesk sum exactly to `votesAccept`, so the pro-rata voter claim is exact.\n- **YoloPredict.** Traced WillDoWon, WontDoWon, both no-winner branches and Void. Burn, deferred and 90% parts always sum to the position; the split pays the last claimant the exact remainder; Void returns the full `paidIn`. The repository's own fuzz test already asserts `burned + paid + held == deposited` and zero held after all claims. The market pauses on any active or queued-then-activated submission and the poke-before-check closes the timer gap.\n- **DareTrophy and TrophyCatalog.** The 7,777 YOLO goes straight to the dead address, one trophy per accepted submission, design id frozen at mint, and every string reaching the on-chain JSON (title, design name, proof link) is filtered of quotes and backslashes by the text rules.\n- **ProtocolDirectory and HiddenList.** Both hold no money; the timelock, cancel and append-only list behave as the brief states, and the hide-list cooldown now requires the same quorum the round passes at.\n- **Dependencies.** YOLO transfers off the pool-manager legs are plain and exact, so pushes in `settle` cannot block. The vault's `poke` returns immediately on a final task, so a module's funds cannot be locked by the vault after resolution. Views are forwarded by STATICCALL without the reentrancy lock, so the batch voter claim reaching the sweetener works.\n\n**Not reached** within budget: launch-0 vesting and gate contracts, ParamsRegistry, the swap adapter, the vault's swarm, bond and credit paths, and most DisputeDesk appeal and swarm functions. These are marked `unreached` honestly rather than claimed.\n\n**Checks run.** `forge test` passes locally (693 passed, 0 failed, 4 fork tests skipped without `FORK_URL`). No scratch tests were needed since no finding was substantiated, and no repository file was modified.","treeHash":null,"usage":{"cachedInputTokens":2385011,"inputTokens":610,"model":"claude-fable-5-1","outputTokens":55666,"runtime":"claude","turns":39,"wallClockMs":1240770}},{"artifacts":[],"attempt":2,"bundleHash":"0956b007ad753791898dffddd649514aced353edb3a154c622a2e3b874828fa8","device":"dd0f9bb0bf93f9dd","findings":[],"hash":"289374fb94406bb9eeb047ccd1c2975470a1db5ee096a07424d33e4c8330a1f0","nodeId":"54599d20-af63-4659-a7eb-9519d70f5f06","outcome":"completed","summary":"Added failure-path tests and randomized invariants under `test/`.\n\n- `forge build` passed.\n- **723 tests passed**, 0 failed, using the required seed.\n- 4 fork checks skipped without `FORK_URL`.\n- Cold compilation took 1,430 seconds; the earlier 600-second cutoff remains unresolved.\n\nChanges are documented in [ADAPTATION.md](test/extras/ADAPTATION.md).","treeHash":"f00b5b5141c2eeef05c86273b106076db19c64a7","usage":{"cachedInputTokens":14377088,"inputTokens":257038,"model":"gpt-6-astra","outputTokens":76522,"runtime":"codex","turns":24,"wallClockMs":2848050}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"c69899cad79c228f","findings":[],"hash":"29d0c9adc99c6da66092b906982bc6913e17f821a215235a036eaa1f1b1d6f44","nodeId":"54599d20-af63-4659-a7eb-9519d70f5f06","outcome":"failed","summary":"the local build failed, so this was not submitted:\nforge build exited with 0:\nCompiling 186 files with Solc 0.8.28\n\nstopped at the local check's time limit after 600 s","treeHash":null,"usage":{"cachedInputTokens":15999488,"inputTokens":346612,"model":"gpt-6-astra","outputTokens":81471,"runtime":"codex","turns":34,"wallClockMs":3920180}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"3b260b68e9ad6a37","findings":[{"citation":"resolved","description":"The cooldown test in vote() treats a round as a real contest when hideNfts >= QUORUM_NFTS and keepNfts > 0. It does not look at hideOwners, the gate _won() actually enforces. So one holder (or one holder's NFTs delegated to one caller) can open a round with 10 of its own NFTs, which can never pass (hideOwners = 1 < MIN_WALLETS), have a second wallet with a single NFT vote keep, and the failed round is 'contested': for the next 7 days every hide vote on that item returns silently, no round opens and no event is emitted. Repeated every 8 days (each failed round lasts 24h and buys 7 days) it keeps the item un-hideable by vote for as long as the attacker likes, with 11 NFTs across 2 wallets. The comment right above the check claims the opposite ('a self-contest ... cannot buy the cooldown against an honest hide cluster that has not voted yet'), and test_SelfContestUnderQuorumDoesNotBlockHonestVoteNextDay only covers the under-quorum variant (fewer than 10 hide NFTs). The project wallet can still setState(HIDDEN) at any time, and honest holders can join the whale's round during its 24 hours, which is why this is low: no money, the owner's override stands, and the launch text's own wording ('a round that reached the hide quorum and drew a keep vote ... 7 days') is what the code does. If the adapter keeps the rule as worded, the comment and the stated guarantee should be corrected instead; if the intent (the comment) is wanted, the 'real contest' test should require the round to have reached the owners bar too (hideOwners >= MIN_WALLETS), which does not change the quorum, the cooldown or the window.","line":157,"path":"src/HiddenList.sol","proof":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.28;\n\nimport {Test} from \"forge-std/Test.sol\";\nimport {HiddenList} from \"src/HiddenList.sol\";\n\n/// @dev Minimal ERC-721 `ownerOf` for the hide list (no delegate registry).\ncontract OwnerOfNft {\n    mapping(uint256 => address) public owners;\n\n    function set(uint256 id, address o) external {\n        owners[id] = o;\n    }\n\n    function ownerOf(uint256 id) external view returns (address) {\n        address o = owners[id];\n        require(o != address(0), \"none\");\n        return o;\n    }\n}\n\n/// @notice One holder of 10 NFTs (one `ownerOf` owner, so the round can never pass: hideOwners = 1 < 3) votes hide,\n///         a second wallet with 1 NFT votes keep. The round fails but counts as \"contested\" (hideNfts >= 10 and a\n///         keep vote), so an honest hide vote the next day is silently dropped: no round opens for 7 days. The\n///         in-code comment says a self-contest \"cannot buy the cooldown against an honest hide cluster that has not\n///         voted yet\"; it can, with 11 NFTs across 2 wallets, repeatable every 8 days.\ncontract HiddenListSelfContestTest is Test {\n    HiddenList internal list;\n    OwnerOfNft internal nft;\n    address internal constant OWNER = address(0xA11CE);\n    address internal constant WHALE = address(0xB0B);\n    address internal constant WHALE2 = address(0xB0B2);\n    address internal constant VAULT = address(0xDEAD1);\n\n    function setUp() public {\n        nft = new OwnerOfNft();\n        list = new HiddenList(OWNER, address(nft), address(0));\n        vm.warp(1_700_000_000);\n        for (uint256 i = 1; i <= 10; ++i) {\n            nft.set(i, WHALE);\n        }\n        nft.set(11, WHALE2);\n        // three honest holders, one NFT each\n        for (uint256 i = 100; i < 110; ++i) {\n            nft.set(i, address(uint160(0x1000 + i)));\n        }\n    }\n\n    function _ids(uint256 from, uint256 to) internal pure returns (uint256[] memory ids) {\n        ids = new uint256[](to - from + 1);\n        for (uint256 i = from; i <= to; ++i) {\n            ids[i - from] = i;\n        }\n    }\n\n    function test_selfContestAtQuorumBuysTheCooldown() public {\n        // day 0: the whale opens a round with its 10 NFTs (one owner) and contests it from its second wallet\n        vm.prank(WHALE);\n        list.vote(VAULT, 1, 7, true, _ids(1, 10));\n        vm.prank(WHALE2);\n        list.vote(VAULT, 1, 7, false, _ids(11, 11));\n        (uint8 state, uint32 hideNfts, uint32 keepNfts,, uint64 roundEnd) = list.status(VAULT, 1, 7);\n        assertEq(hideNfts, 10);\n        assertEq(keepNfts, 1);\n\n        // day 1 + 1h: the round is over and failed (1 hide owner < 3)\n        vm.warp(roundEnd + 1 hours);\n        (state,,,,) = list.status(VAULT, 1, 7);\n        assertEq(state, list.VISIBLE(), \"the whale's round failed\");\n\n        // day 1: an honest holder votes hide: a new round should open (nothing honest was contested)\n        address honest = address(uint160(0x1000 + 100));\n        vm.prank(honest);\n        list.vote(VAULT, 1, 7, true, _ids(100, 100));\n        uint64 roundEnd2;\n        (, hideNfts,,, roundEnd2) = list.status(VAULT, 1, 7);\n        // Expected by the comment in `vote`: a fresh round, 1 hide NFT, a new 24h window.\n        // Actual: the vote is dropped silently; the old round's tally and end stand for 7 days.\n        assertEq(hideNfts, 1, \"honest hide vote should open a fresh round\");\n        assertGt(roundEnd2, roundEnd, \"a new 24h round should be running\");\n    }\n}","reproduction":"Item (vault V, kind 1, id 7) VISIBLE. WHALE owns NFTs 1..10, WHALE2 owns NFT 11, HONEST owns NFT 100. t0: WHALE calls vote(V,1,7,true,[1..10]) -> round opens, hideNfts=10, hideOwners=1. WHALE2 calls vote(V,1,7,false,[11]) -> keepNfts=1. t0+25h: status() -> VISIBLE (round failed: 1 hide owner < 3). HONEST calls vote(V,1,7,true,[100]). Expected (per the comment in vote and the 'any other failed round at once' rule as the comment reads it): a fresh 24h round with hideNfts=1 and a new roundEnd. Actual: the call returns without any state change or event; status() still shows hideNfts=10, keepNfts=1, roundEnd=t0+24h; every hide vote is dropped until t0+24h+7d. Scratch test test/scratch/HiddenListSelfContest.t.sol fails on this tree with 'honest hide vote should open a fresh round: 10 != 1'.","severity":"low","snippet":"                    ((s.keepNfts > 0 && s.hideNfts >= QUORUM_NFTS) || s.ownerCooldown)","title":"HiddenList: a single 10-NFT owner plus one keep vote from a second wallet buys the 7-day cooldown the code says a self-contest cannot buy"},{"citation":"resolved","description":"cancelVersion only zeroes pendingVersionEta; the struct _pendingVersion stays as proposed and the view pendingVersion() keeps returning it with no eta. An off-chain reader that shows pendingVersion() without also checking pendingVersionEta == 0 would display a cancelled version as pending. No on-chain effect: addVersion reverts NothingPending while the eta is 0, and a later proposeVersion overwrites the struct. Cosmetic; a `delete _pendingVersion` in cancelVersion (or returning an empty Version when the eta is 0) would make the view honest.","line":83,"path":"src/ProtocolDirectory.sol","reproduction":"safe calls proposeVersion(Version(vaultB, 0, 0, 100, 0, \"v2\")) where vaultB has code; then safe calls cancelVersion(). Expected: pendingVersion() is empty (vault == address(0)). Actual: pendingVersionEta() == 0 but pendingVersion().vault == vaultB and .label == \"v2\". addVersion() reverts NothingPending, so nothing is listed; only the view is stale.","severity":"info","snippet":"        pendingVersionEta = 0;","title":"ProtocolDirectory: cancelVersion leaves the cancelled proposal readable through pendingVersion()"}],"hash":"4562ba47eee532a148141ab18f272108332d41f0c8aac107204921cdf4740d66","nodeId":"3694722b-8d32-401c-bbc0-36f87f42e98e","outcome":"completed","summary":"Review complete. The findings file is written at `.imd-findings.json` with two entries, and the working tree holds nothing else of mine except the scratch test under `test/scratch/`.\n\n**Outcome.** No loss-of-funds, wrong-recipient, accounting, reentrancy or access-control defect reproduced in the six launch contracts. Nothing the launch forbids is present: no minting after launch, no pause, freeze, seize or blacklist, no proxy, initializer, DELEGATECALL, CALLCODE or SELFDESTRUCT, and every constructor configures fully with only view reads of the vault, skipped when the vault has no code.\n\n**Findings recorded.**\n- **Low, HiddenList.sol line 157.** The \"contested round\" test looks only at hide NFT count and a keep vote, not at the distinct-owner bar that decides a round. One holder with 10 NFTs opens a round that can never pass, a second wallet with 1 NFT votes keep, and the item is un-hideable by vote for 7 days, repeatable every 8 days. The in-code comment claims a self-contest cannot do this. The scratch test fails on the tree as expected. It is low because the project wallet's setState still overrides, honest holders can join the 24-hour round, and the launch text's wording matches the code. The adapter should either fix the comment or require the owners bar in that test. The quorum, cooldown and window stay unchanged either way.\n- **Info, ProtocolDirectory.sol line 83.** cancelVersion zeroes the eta but leaves the cancelled proposal readable through pendingVersion(). No on-chain effect.\n\n**What was read in full.** YoloSweetener, YoloPredict, DareTrophy, TrophyCatalog, ProtocolDirectory, HiddenList, VaultTypes, TextRules, BuybackBurner's burn path, and the vault and desk functions the modules depend on: poke and _advance, submitTerms, closeSubmission, bindSweetener, DisputeDesk.vote, votesOf, settle and _payReward, CaseDesk._decide and submission entry. Checked against them: the sweetener's split sums to the bonus, voter pools equal the dispute tally, nftDecision Accept implies at least one accept vote, the post-deadline withdraw branch is unreachable after poke, the predict pools, points and no-winner paths conserve YOLO, trophy JSON cannot be broken by titles or proof links since the text rules reject quotes and backslashes, and the icon table covers all nine categories.\n\n**Not reached.** The full 690-test suite and the fork rehearsal were not run: a full via-IR build exceeded the 10-minute foreground limit on this 2-core machine, so only sparse single-file compiles were used. YoloLockHub, the swarm attestation path and the token launch contracts were read only where the modules touch them. The floor's OwnerChecks source was not supplied, so the owner test was judged from the constructor arguments alone: TrophyCatalog, HiddenList and the directory name the project wallet, never the factory or tx.origin.","treeHash":null,"usage":{"cachedInputTokens":2143784,"inputTokens":514,"model":"claude-fable-5-1","outputTokens":38801,"runtime":"claude","turns":34,"wallClockMs":1356775}},{"artifacts":[],"attempt":2,"bundleHash":"7fd7e454e3a2db6fe0bbad7bf437f0071e044213716a9943a90cf18a63fbe331","device":"934ef01306a3cc89","findings":[],"hash":"46b089dc5134265ff6ac3d758ac29f3fb040534bcf4a5ed4bd3546deae461863","nodeId":"692f6176-f254-44ab-8a08-66d662972aaa","outcome":"completed","summary":"Done. The launch-3 tree builds, the suite passes with the verifier's fuzz seed, and the two high-confidence static-analysis findings that rejected the previous attempt no longer fire.\n\n**What I found**\n\n- Both imported audit findings reproduce on the tree as it arrived. The hide-list cooldown test counted a failed round as a \"real contest\" at 10 hide NFTs plus one keep vote, without the 3-owner bar that the pass check enforces. The directory's cancelled proposal stayed readable through its view.\n- The previous rejection came from the verifier's Slither run, which does not honour the project's `slither-disable` comments. Installed Slither 0.11.6 locally and confirmed: with the comments stripped, the tree as it arrived reports two high/high findings, and the verifier's whole list matches that profile.\n\n**What I changed** (all listed in ADAPTATION.md)\n\n- `src/HiddenList.sol`: the cooldown's contest test now also requires `hideOwners >= 3`, the same hide quorum a round passes at. Quorum, cooldown and window are unchanged. Two tests added, including the audit's exact scenario and the 3-owner boundary.\n- `src/ProtocolDirectory.sol`: cancelling or listing a proposal deletes it, so the pending view is honest. One test added.\n- `src/TaskVault.sol`: the plain ERC-20 pull shared by task creation and bond collection is one private helper, same calls in the same order. This removes the arbitrary-from report without changing behaviour.\n- `src/YoloLockHub.sol`: the checkpoint writes the history array by name instead of only through a storage pointer. Same storage, same behaviour.\n- Size-headroom figures in the review test and the launch doc refreshed for the four contracts whose runtime moved by a few bytes.\n\n**Results**\n\n| Check | Result |\n|---|---|\n| forge build | ok |\n| forge test with the verifier's seed | 693 passed, 0 failed, 4 skipped (fork tests) |\n| Audit proof run on the fixed tree | passes |\n| Slither, comments stripped, high impact and high confidence | 0 findings |\n| check-launch-task.py | ok |\n\nThe fork suite was not run because this machine has no mainnet archive RPC. Constructor arguments, fees, splits, prices, owners and the timelock are untouched, and no launch.json was written.","treeHash":"874cb382cc7e3a7349a07a8486e5d4ac2edbf55a","usage":{"cachedInputTokens":4171831,"inputTokens":898,"model":"claude-fable-5-1","outputTokens":60050,"runtime":"claude","turns":68,"wallClockMs":2255400}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"a4c81f495eb81dd0","findings":[],"hash":"4cacd82a1ea7adb4842652ca2d650c29106553508d98dfea3cfcfe2e244147b6","nodeId":"74b9dfb7-ac95-41fb-a35b-40cd7a525584","outcome":"completed","summary":"The review is complete and the tree is clean apart from the ignored findings file.\n\n**Result: no reproducible defect in the assigned area.** The findings file `.imd-findings.json` holds an empty findings list and 118 coverage rows: one for each of the 113 listed entry points plus five invariant rows. All rows are `holds`, none `unreached`.\n\n**What I checked, per the Math Precision, Boundary and Numerical Gap guides:**\n\n- **YoloSweetener.payout.** The split is exact: doer gets 90% plus the stake extra, voters get the 5% NFT part only when the NFT decision was Accept, the burner gets the rest. The extra is capped at the 5% treasury part and the vault only writes a nonzero stake share when it actually paid the bonus, so the two contracts agree. A bonus under 20 wei rounds the fee to zero with nothing stuck.\n- **YoloSweetener.claimVoter.** Votes are booked on `payTo` only, so the per-voter counts sum to `votesAccept`. The `left - n` subtraction cannot underflow and the last claimant takes the dust.\n- **YoloPredict.** Burn, deferred and effective position sum to the deposit exactly. Points are two floored mulDivs with time left never exceeding the task duration, since the deadline never changes and creation time is the block time, so no overflow and no zero divisor. Position points and side totals receive identical additions, so the split never runs short. The zero-total-points fallback, the no-winner payouts, the void refund and the odd-wei deferred split were all traced.\n- **DareTrophy.** Fixed price goes straight to the dead address, the icon table is exactly 9 times 32 bytes with the category bounded by the vault, and the title and design names are restricted to printable ASCII without quotes or backslashes, so the on-chain JSON stays well formed.\n- **TrophyCatalog, ProtocolDirectory, HiddenList.** Timelock, round, cooldown and quorum boundaries behave as specified at the exact edge second. Counters are far above the identity NFT supply.\n- **YOLO token behaviour.** The sell and buy tax applies only to pool transfers in the first hour after opening, so no module path sees a fee-on-transfer amount.\n\n**Limitations.** The full via-IR build exceeded the ten-minute foreground limit twice, so I did not run scratch tests. Every verdict rests on source tracing plus the existing suite, which already covers the rounding-to-zero and conservation cases. No static-analysis lead in the six contracts survived reproduction.","treeHash":null,"usage":{"cachedInputTokens":1953802,"inputTokens":578,"model":"claude-fable-5-1","outputTokens":41636,"runtime":"claude","turns":26,"wallClockMs":1495624}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"ce6eaff570c608ab","findings":[{"citation":"resolved","description":"The notice (lines 21-22) promises a one-hour reply window only for 'a hide vote inside the round's last hour that would make the round pass'. The code extends on any hide vote cast in the last hour while _won(s) is already true, whether or not the vote changed the result, and every extension opens a fresh last hour. A wallet that wants the item to stay visible (the poster of the hidden content, holding or delegated identity.md NFTs) votes HIDE with one fresh token id every 59 minutes and the round never closes: status() keeps returning VISIBLE (0) instead of HIDDEN_BY_VOTE (3) for as long as the wallet has unused ids (the per-round bitmap only blocks reuse of the same id; the one-side-per-wallet rule does not stop a fresh wallet voting hide). The launch text promises a 24-hour round. No funds are involved and the owner's setState(HIDDEN) ends it at once, hence low. Reported by both audit_permissions and audit_flow (same root cause, merged). Fix that keeps quorum, window and cooldown: extend only on a false->true transition of _won (compute it before the tally update), or cap roundEnd at the original end plus one hour.","line":220,"path":"src/HiddenList.sol","proof":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.28;\n\nimport {Test} from \"forge-std/Test.sol\";\nimport {HiddenList} from \"src/HiddenList.sol\";\nimport {ERC721} from \"@openzeppelin/contracts/token/ERC721/ERC721.sol\";\n\ncontract NftMock is ERC721(\"identity.md\", \"IMDID\") {\n    function mint(address to, uint256 id) external {\n        _mint(to, id);\n    }\n}\n\n/// @dev A round that already passed (10 hide NFTs, 3 owners, no keep vote) is kept open past its 24 h end by one\n///      wallet that casts one more hide NFT every 59 minutes inside the last hour: every such vote moves `roundEnd`\n///      one hour further. Expected: one reply window of an hour after the vote that made the round pass, then the\n///      round closes and `status` reports HIDDEN_BY_VOTE. Fails on the code as it is (the item is still VISIBLE\n///      29 hours after the round's end); passes once a late hide vote on a round that already passed no longer\n///      moves `roundEnd`.\ncontract HiddenListExtendTest is Test {\n    HiddenList list;\n    NftMock nft;\n    address constant OWNER = address(0x7EA5);\n    address constant VAULT = address(0xBA07);\n\n    function setUp() public {\n        nft = new NftMock();\n        list = new HiddenList(OWNER, address(nft), address(0));\n    }\n\n    function _ids(uint256 from, uint256 n) internal pure returns (uint256[] memory a) {\n        a = new uint256[](n);\n        for (uint256 i; i < n; ++i) a[i] = from + i;\n    }\n\n    function test_LateHideVotesCannotKeepAPassedRoundOpenForever() public {\n        uint256 ts = 1_000_000;\n        vm.warp(ts);\n        address a = address(0xA1);\n        address b = address(0xB2);\n        address c = address(0xC3);\n        for (uint256 i = 1; i <= 4; ++i) nft.mint(a, i);\n        for (uint256 i = 5; i <= 8; ++i) nft.mint(b, i);\n        for (uint256 i = 9; i <= 10; ++i) nft.mint(c, i);\n        vm.prank(a);\n        list.vote(VAULT, 1, 7, true, _ids(1, 4));\n        vm.prank(b);\n        list.vote(VAULT, 1, 7, true, _ids(5, 4));\n        vm.prank(c);\n        list.vote(VAULT, 1, 7, true, _ids(9, 2));\n        (, uint32 hideNfts,,, uint64 roundEnd) = list.status(VAULT, 1, 7);\n        assertEq(hideNfts, 10);\n        uint256 originalEnd = roundEnd;\n        assertEq(originalEnd, ts + 24 hours);\n\n        // the wallet that wants the item to stay visible holds 30 NFTs (or has them delegated)\n        address troll = address(0x7A0);\n        for (uint256 i = 100; i < 130; ++i) nft.mint(troll, i);\n\n        // 30 hide votes of one NFT each, one every 59 minutes from inside the last hour of the round\n        // (`ts` is tracked by hand: via-IR may cache block.timestamp inside one test function)\n        uint256 id = 100;\n        ts = originalEnd - 30 minutes;\n        vm.warp(ts);\n        for (uint256 k; k < 30; ++k) {\n            vm.prank(troll);\n            list.vote(VAULT, 1, 7, true, _ids(id++, 1));\n            ts += 59 minutes;\n            vm.warp(ts);\n        }\n        (uint8 state,,,, uint64 finalEnd) = list.status(VAULT, 1, 7);\n        // 29 hours after the round should have closed: one reply hour at most, then the passed round applies\n        assertGe(ts, originalEnd + 29 hours);\n        assertLe(uint256(finalEnd), originalEnd + 1 hours, \"a passed round gets one reply hour, not one per late vote\");\n        assertEq(state, list.HIDDEN_BY_VOTE(), \"the passed round applies once its reply hour is over\");\n    }\n}","reproduction":"HiddenList(owner, mockERC721, address(0)); t0 = 1,000,000. Wallets a (ids 1..4), b (5..8), c (9..10) each call vote(vault,1,7,true,ids): hideNfts 10, hideOwners 3, keepNfts 0, roundEnd = t0+24h, round passed. Wallet troll holds ids 100..129. At t0+23h30m troll calls vote(vault,1,7,true,[100]) -> roundEnd = t0+24h30m. Every 59 minutes troll votes hide with the next id; after 30 votes (t0+53h) status(vault,1,7) still returns state 0 (VISIBLE) and roundEnd = t0+53h30m. Expected: roundEnd <= t0+25h and state 3 (HIDDEN_BY_VOTE) from then on. forge test --match-path test/scratch/Proof_5a1247498e22.t.sol fails on this tree: 'a passed round gets one reply hour, not one per late vote: 1190860 > 1090000'.","severity":"low","snippet":"        if (hide && activeRound && block.timestamp + 1 hours >= s.roundEnd && _won(s)) {\n            uint64 extended = uint64(block.timestamp + 1 hours);\n            if (extended > s.roundEnd) s.roundEnd = extended;\n        }","title":"HiddenList: every late hide vote on a round that already passed pushes roundEnd back one hour, so a wallet with spare NFTs keeps a passed round open indefinitely"},{"citation":"resolved","description":"The brief lists constructorArgs [\"0x3c587Eff6c96eAcF7E3dcC2CFf6416161386E48C\"] for TrophyCatalog and the same static address as the first argument of ProtocolDirectory and HiddenList, and the launch rules say an owner address the brief itself states is written as that static address, not $owner ($owner is the wallet that paid, or the owner the request named). The manifest (lines 13, 26, 36) writes $owner for all three and only asserts in notes that it resolves to the project wallet; notes are not deployment authority. If $owner resolves to any other wallet, ProtocolDirectory.safe and HiddenList.owner are immutable with no transfer function, so the directory's timelocked list and the hide list's setState belong to the wrong wallet for good, and the catalog starts under a wrong owner. script/LaunchPlan.sol (PROJECT_TREASURY, extras(..., safe, ...)) pins the static wallet; the manifest does not. Fix: replace the three $owner entries with \"0x3c587Eff6c96eAcF7E3dcC2CFf6416161386E48C\".","line":13,"path":"launch.json","reproduction":"Read launch.json: contracts[1].constructorArgs == [\"$owner\"], contracts[3].constructorArgs[0] == \"$owner\", contracts[4].constructorArgs[0] == \"$owner\". Expected per the brief and the launch rules: \"0x3c587Eff6c96eAcF7E3dcC2CFf6416161386E48C\" in all three places (the value script/LaunchPlan.sol passes as `safe`). Actual: a placeholder whose resolution depends on the launch's payer/owner field. Concrete consequence if $owner resolves to wallet W != 0x3c58...E48C: HiddenList(W, nft, reg).owner() == W and ProtocolDirectory(W, ...).safe() == W, both immutable; the project wallet's setState / proposeVersion / proposeCurrent revert NotOwner / NotSafe forever.","severity":"medium","snippet":"        \"$owner\"","title":"launch.json writes $owner for TrophyCatalog, ProtocolDirectory and HiddenList where the brief fixes the project wallet 0x3c58...E48C as a static address"},{"citation":"resolved","description":"ADAPTATION item 2 made cancelVersion and addVersion delete _pendingVersion so pendingVersion() is empty after a cancel or a listing. The mirror pair was not changed: cancelCurrent only zeroes pendingCurrentEta (line 116) and setCurrent only zeroes the eta (line 128), so the public pendingCurrent keeps returning the cancelled or already-applied version number with pendingCurrentEta == 0. No on-chain effect (setCurrent reverts NothingPending while the eta is 0, proposeCurrent overwrites it); an off-chain reader that shows pendingCurrent without checking the eta shows a proposal that does not exist. Minimal fix: pendingCurrent = 0 in both (read it into the event first). Reported by audit_permissions; reproduced by reading the code.","line":116,"path":"src/ProtocolDirectory.sol","reproduction":"Deploy ProtocolDirectory(safe, vault, sweetener, trophy, 7). vm.prank(safe); d.proposeCurrent(2): pendingCurrent() == 2, pendingCurrentEta() == now+48h. vm.prank(safe); d.cancelCurrent(): expected pendingCurrent() == 0 (like pendingVersion() after cancelVersion); actual pendingCurrent() == 2 while pendingCurrentEta() == 0. Same after a successful setCurrent(): pendingCurrent() still returns the version just applied.","severity":"info","snippet":"        pendingCurrentEta = 0;\n        emit CurrentCancelled(pendingCurrent);","title":"ProtocolDirectory: cancelCurrent and setCurrent leave pendingCurrent as a stale number while cancelVersion/addVersion clear their proposal"},{"citation":"resolved","description":"The launch text gives the catalog's owner (the project wallet) a two-step transfer and says no other admin power exists beyond what is written. OpenZeppelin's Ownable2Step keeps Ownable.renounceOwnership(), a single-step call that sets the owner to address(0) with no recovery. After it addDesign, setCategoryDesign, setDefaultDesign and setDesignEnabled revert for good; designs are frozen at whatever was set (DareTrophy keeps minting through designFor, no money involved). This is an inherited owner power, not a bypass: recorded as a trust assumption the verifier lists as an entry point (TrophyCatalog.renounceOwnership()) and the brief does not mention. If only the two-step handover is intended, override renounceOwnership to revert; otherwise document it. Reported by audit_permissions; reproduced by reading the code.","line":13,"path":"src/TrophyCatalog.sol","reproduction":"TrophyCatalog c = new TrophyCatalog(owner); vm.prank(owner); c.renounceOwnership(); -> c.owner() == address(0). vm.prank(owner); c.addDesign('x', '<svg></svg>') reverts OwnableUnauthorizedAccount(owner); c.pendingOwner() == 0 and no address can ever accept ownership. Expected under the launch text: only transferOwnership + acceptOwnership change the owner.","severity":"info","snippet":"contract TrophyCatalog is Ownable2Step {","title":"TrophyCatalog inherits a one-step, irreversible renounceOwnership next to the two-step transfer the launch text describes"}],"hash":"6ae9072e531da92c64a94388ea5ee6fe58cd97495fb6c8ef1cdcaad484dee2df","nodeId":"4abe9f77-715f-4979-8185-239981e496a7","outcome":"completed","summary":"Review complete. The findings file at `.imd-findings.json` holds 4 findings and a coverage row for every one of the 113 entry points plus 3 invariant rows.\n\n**Findings kept**\n\n- **Medium, launch.json line 13.** The manifest writes `$owner` for TrophyCatalog, ProtocolDirectory and HiddenList, while the brief fixes the project wallet 0x3c58…E48C as a static address and the launch rules say a brief-stated owner is written statically. The directory's `safe` and the hide list's `owner` are immutable with no transfer, so a different resolution of `$owner` would misassign them permanently.\n- **Low, HiddenList.sol line 220.** Every hide vote inside the last hour of a round that has already passed extends the round by another hour, so one wallet with spare NFTs keeps a passed hide open indefinitely. Both audit_permissions and audit_flow reported it; merged into one. The specialist's proof fails on this tree as stated and is attached.\n- **Info, ProtocolDirectory.sol line 116.** `cancelCurrent` and `setCurrent` leave `pendingCurrent` stale, unlike the version pair that ADAPTATION item 2 fixed. View-only.\n- **Info, TrophyCatalog.sol line 13.** Inherited one-step `renounceOwnership` beside the two-step transfer the text describes. Recorded as a trust assumption.\n\n**What I verified myself**\n\n- The three $YOLO modules conserve funds across every outcome, including void refunds, no-winner pools and voter pools. Completed tasks cannot be unwound, so sweetener deposits cannot be taken twice.\n- DareTrophy mints once per submission, burns the fixed price and keeps the design id. Titles cannot break the JSON.\n- Constructor order satisfies ProtocolDirectory's code checks, and the empty-chain path is covered.\n\n**Checks run**\n\n- Full suite: 723 passed, 0 failed, 4 skipped (fork tests). The gas cap could not be verified without a mainnet archive RPC.\n- The 72 core entry points of launch 2 outside the modules' dependency paths are marked `unreached` honestly rather than echoing the specialists' verdicts.","treeHash":null,"usage":{"cachedInputTokens":1995139,"inputTokens":452,"model":"claude-fable-5-1","outputTokens":36175,"runtime":"claude","turns":39,"wallClockMs":1165338}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"2d027bc56749d95c","findings":[{"citation":"resolved","description":"The reply-window rule is meant to give the keep side one hour after the hide vote that makes the round pass (contract notice: 'A hide vote inside the round's last hour that would make the round pass extends roundEnd by one hour'). The code instead extends on every hide vote cast inside the last hour while `_won(s)` is true, including votes that change nothing because the round already passed. Each extension sets `roundEnd = now + 1 hours`, so a wallet that wants the item to stay visible (the poster of the hidden content, if they hold or are delegated identity.md NFTs) casts one hide vote with one unused NFT every 59 minutes and the round never closes: `status` keeps returning VISIBLE instead of HIDDEN_BY_VOTE, for as long as the wallet has fresh tokenIds (one NFT per hour; the per-round bitmap only blocks reuse of the same id). Asymmetry: the extension is reachable only from the hide side, so the side that lost (keep) has to vote *hide* to abuse it, which the one-side-per-wallet rule does not stop for a fresh wallet. No money is involved and the owner's `setState(HIDDEN)` ends it at once, hence low. Suggested fix, keeping the quorum, window and cooldown: extend only when this vote is the one that makes the round pass (`!_won(s)` before the tally update and `_won(s)` after), or cap the extension so `roundEnd` never exceeds the original end plus one hour.","line":220,"path":"src/HiddenList.sol","proof":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.28;\n\nimport {Test} from \"forge-std/Test.sol\";\nimport {HiddenList} from \"src/HiddenList.sol\";\nimport {ERC721} from \"@openzeppelin/contracts/token/ERC721/ERC721.sol\";\n\ncontract NftMock is ERC721(\"identity.md\", \"IMDID\") {\n    function mint(address to, uint256 id) external {\n        _mint(to, id);\n    }\n}\n\n/// @dev A round that already passed (10 hide NFTs, 3 owners, no keep vote) is kept open past its 24 h end by one\n///      wallet that casts one more hide NFT every 59 minutes inside the last hour: every such vote moves `roundEnd`\n///      one hour further. Expected: one reply window of an hour after the vote that made the round pass, then the\n///      round closes and `status` reports HIDDEN_BY_VOTE. Fails on the code as it is (the item is still VISIBLE\n///      29 hours after the round's end); passes once a late hide vote on a round that already passed no longer\n///      moves `roundEnd`.\ncontract HiddenListExtendTest is Test {\n    HiddenList list;\n    NftMock nft;\n    address constant OWNER = address(0x7EA5);\n    address constant VAULT = address(0xBA07);\n\n    function setUp() public {\n        nft = new NftMock();\n        list = new HiddenList(OWNER, address(nft), address(0));\n    }\n\n    function _ids(uint256 from, uint256 n) internal pure returns (uint256[] memory a) {\n        a = new uint256[](n);\n        for (uint256 i; i < n; ++i) a[i] = from + i;\n    }\n\n    function test_LateHideVotesCannotKeepAPassedRoundOpenForever() public {\n        uint256 ts = 1_000_000;\n        vm.warp(ts);\n        address a = address(0xA1);\n        address b = address(0xB2);\n        address c = address(0xC3);\n        for (uint256 i = 1; i <= 4; ++i) nft.mint(a, i);\n        for (uint256 i = 5; i <= 8; ++i) nft.mint(b, i);\n        for (uint256 i = 9; i <= 10; ++i) nft.mint(c, i);\n        vm.prank(a);\n        list.vote(VAULT, 1, 7, true, _ids(1, 4));\n        vm.prank(b);\n        list.vote(VAULT, 1, 7, true, _ids(5, 4));\n        vm.prank(c);\n        list.vote(VAULT, 1, 7, true, _ids(9, 2));\n        (, uint32 hideNfts,,, uint64 roundEnd) = list.status(VAULT, 1, 7);\n        assertEq(hideNfts, 10);\n        uint256 originalEnd = roundEnd;\n        assertEq(originalEnd, ts + 24 hours);\n\n        // the wallet that wants the item to stay visible holds 30 NFTs (or has them delegated)\n        address troll = address(0x7A0);\n        for (uint256 i = 100; i < 130; ++i) nft.mint(troll, i);\n\n        // 30 hide votes of one NFT each, one every 59 minutes from inside the last hour of the round\n        // (`ts` is tracked by hand: via-IR may cache block.timestamp inside one test function)\n        uint256 id = 100;\n        ts = originalEnd - 30 minutes;\n        vm.warp(ts);\n        for (uint256 k; k < 30; ++k) {\n            vm.prank(troll);\n            list.vote(VAULT, 1, 7, true, _ids(id++, 1));\n            ts += 59 minutes;\n            vm.warp(ts);\n        }\n        (uint8 state,,,, uint64 finalEnd) = list.status(VAULT, 1, 7);\n        // 29 hours after the round should have closed: one reply hour at most, then the passed round applies\n        assertGe(ts, originalEnd + 29 hours);\n        assertLe(uint256(finalEnd), originalEnd + 1 hours, \"a passed round gets one reply hour, not one per late vote\");\n        assertEq(state, list.HIDDEN_BY_VOTE(), \"the passed round applies once its reply hour is over\");\n    }\n}","reproduction":"HiddenList with a mock ERC-721, delegateRegistry = 0. t0 = 1,000,000. Wallets a (NFTs 1..4), b (5..8), c (9..10) each call vote(vault, 1, 7, true, ids): a round opens, roundEnd = t0 + 24h, hideNfts = 10, hideOwners = 3, keepNfts = 0: the round has passed. Wallet troll holds NFTs 100..129. At t0 + 23h30m troll calls vote(vault,1,7,true,[100]) -> roundEnd = t0 + 24h30m (expected: this one-hour reply window). 59 minutes later troll calls vote(...,[101]) -> roundEnd moves again to now + 1h; repeated 30 times, one id each. Expected: at most one reply hour, so by t0 + 25h status(...) returns HIDDEN_BY_VOTE (3). Actual: at t0 + 53h status(...) still returns VISIBLE (0) and roundEnd = t0 + 53h30m; the item is never hidden while the wallet has fresh NFTs. Run: forge test --match-path test/scratch/HiddenListExtend.t.sol (fails on this tree: '1190860 > 1090000').","severity":"low","snippet":"        if (hide && activeRound && block.timestamp + 1 hours >= s.roundEnd && _won(s)) {\n            uint64 extended = uint64(block.timestamp + 1 hours);\n            if (extended > s.roundEnd) s.roundEnd = extended;\n        }","title":"HiddenList: every late hide vote on a round that already passed re-extends roundEnd by an hour, so one wallet with fresh NFTs keeps a passed round open indefinitely"},{"citation":"resolved","description":"Asymmetry between the two timelocked pairs. ADAPTATION.md item 2 made `cancelVersion` and `addVersion` delete `_pendingVersion` so `pendingVersion()` is empty after a cancel or a listing. The mirror pair was not changed: `cancelCurrent` only zeroes `pendingCurrentEta` and `setCurrent` only zeroes the eta too, so the public `pendingCurrent` keeps returning the cancelled or already-applied version number with `pendingCurrentEta == 0`. No on-chain effect (`setCurrent` reverts NothingPending while the eta is 0, and a new `proposeCurrent` overwrites it); an off-chain reader that shows `pendingCurrent` without also checking the eta shows a proposal that does not exist. Minimal fix: `pendingCurrent = 0` in `cancelCurrent` and `setCurrent` (the cancel event can read the value first).","line":114,"path":"src/ProtocolDirectory.sol","reproduction":"Deploy ProtocolDirectory(safe, vault, sweetener, trophy, 7). safe calls proposeCurrent(2): pendingCurrent() == 2, pendingCurrentEta() == now + 48h. safe calls cancelCurrent(): expected pendingCurrent() == 0 (empty, like pendingVersion() after cancelVersion); actual pendingCurrent() == 2 while pendingCurrentEta() == 0. Same after a successful setCurrent(): pendingCurrent() still returns the version just applied.","severity":"info","snippet":"    function cancelCurrent() external onlySafe {\n        if (pendingCurrentEta == 0) revert NothingPending();\n        pendingCurrentEta = 0;\n        emit CurrentCancelled(pendingCurrent);\n    }","title":"ProtocolDirectory: cancelCurrent and setCurrent leave pendingCurrent as a stale number while cancelVersion/addVersion clear their proposal"},{"citation":"resolved","description":"The launch text gives the catalog's owner (the project wallet) a two-step transfer. OpenZeppelin's Ownable2Step keeps the base contract's `renounceOwnership()`, a single-step, irreversible call that sets the owner to address(0). After it, `addDesign`, `setCategoryDesign`, `setDefaultDesign` and `setDesignEnabled` revert for good, so the trophy designs are frozen at whatever was set (DareTrophy keeps minting with `designFor`, so no mint is blocked and no money is involved). This is an inherited owner power, not a bypass: recorded here as a trust assumption the verifier lists as an entry point (TrophyCatalog.renounceOwnership()) and the brief does not mention. If the owner's only intended handover is the two-step one, override `renounceOwnership` to revert; otherwise document it.","line":13,"path":"src/TrophyCatalog.sol","reproduction":"TrophyCatalog c = new TrophyCatalog(owner). vm.prank(owner); c.renounceOwnership(); -> c.owner() == address(0). vm.prank(owner); c.addDesign('x', '<svg></svg>') reverts OwnableUnauthorizedAccount(owner); c.pendingOwner() stays 0 and no address can ever accept ownership. Expected under the launch text: only transferOwnership + acceptOwnership change the owner.","severity":"info","snippet":"contract TrophyCatalog is Ownable2Step {","title":"TrophyCatalog inherits a one-step renounceOwnership next to the two-step transfer the launch text describes"}],"hash":"70e070344fbdac28895cbf37f57f1df68f8e0f772b48cbd9bf33bccb036be544","nodeId":"df702d3e-ef0c-4196-a827-e67ef7e0a75d","outcome":"completed","summary":"Review complete. The findings file is written and validated against the tree.\n\n**Result: no critical or high defect in the launch-3 permission surface. One low finding, two info findings, all with concrete reproductions.**\n\nFindings in `.imd-findings.json`:\n\n1. **Low, HiddenList.vote (src/HiddenList.sol:220).** The one-hour reply extension fires on every hide vote cast in a round's last hour while the round is already passed, not only on the vote that makes it pass. A wallet holding or delegated fresh identity.md NFTs casts one hide NFT every 59 minutes and the passed round never closes, so `status` keeps answering VISIBLE instead of HIDDEN_BY_VOTE. The scratch test `test/scratch/HiddenListExtend.t.sol` fails on this tree (item still visible 29 hours after the round's end) and is attached as the proof. No money is involved and the owner's instant `setState` ends it, hence low.\n2. **Info, ProtocolDirectory.cancelCurrent/setCurrent (src/ProtocolDirectory.sol:114).** The mirror of the already-adapted `cancelVersion` fix was not applied: `pendingCurrent` keeps the cancelled or applied version number while its eta is zero. View-only, no on-chain effect.\n3. **Info, TrophyCatalog (src/TrophyCatalog.sol:13).** The inherited one-step `renounceOwnership` sits beside the two-step transfer the brief describes. It would freeze the design list for good. Recorded as a trust assumption, not a bypass.\n\nWhat I traced and found holding, in depth: every state-changing entry point of the six launch contracts; the sweetener's 90/5/5 split and stake share against the vault's `settle` and `_payReward` (same `nftDecision == Accept` and `Settlement.stakeBps` conditions, same cap); the sweetener balance invariant; the vault's `bindSweetener` one-shot guard; vote finality before the sweetener's pro-rata voter claim; the fallback's STATICCALL view routing that lets the batch voter claim read the sweetener; YoloToken transfers between non-pool addresses being untaxed; YoloPredict's no-winner and void paths against the brief; the directory's timelock with no bypass; and the constructor arguments against `script/LaunchPlan.sol`.\n\nCoverage: 116 rows, one per listed entry point plus three invariant rows. Launch-3 contracts and the core entry points the modules depend on are answered; the remaining launch-1 and launch-2 entry points are marked unreached, since they are outside the assigned area and the budget went to the modules.\n\nChecks run: the via-IR build, the existing HiddenList suite (47 pass, which shows the repeated extension is untested there), and the scratch proof. No tracked file was changed; the scratch test lives only under `test/scratch/`.","treeHash":null,"usage":{"cachedInputTokens":4014630,"inputTokens":804,"model":"claude-fable-5-1","outputTokens":51976,"runtime":"claude","turns":62,"wallClockMs":1129686}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"b4f6137e7c93a2b3","findings":[{"citation":"resolved","description":"Settled from the previous round: the code at lines 218-223 is byte-for-byte what it was, so the finding still reproduces. The notice (lines 21-22) promises a one-hour reply window only for 'a hide vote inside the round's last hour that would make the round pass'. The code extends on any hide vote cast in the last hour while _won(s) is already true, whether or not the vote changed the result, and every extension opens a fresh last hour. A wallet that wants the item to stay visible (the poster of the hidden content, holding or delegated identity.md NFTs) votes HIDE with one fresh token id every 59 minutes and the round never closes: status() keeps returning VISIBLE (0) instead of HIDDEN_BY_VOTE (3) for as long as the wallet has unused ids (the per-round bitmap only blocks reuse of the same id; the one-side-per-wallet rule does not stop a fresh wallet voting hide). The launch text promises a 24-hour round. No funds are involved and the owner's setState(HIDDEN) ends it at once, hence low. Same root cause reported by audit_permissions and audit_flow (merged). Fix that keeps quorum, window and cooldown: extend only on a false->true transition of _won (compute it before the tally update), or cap roundEnd at the original end plus one hour.","line":220,"path":"src/HiddenList.sol","proof":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.28;\n\nimport {Test} from \"forge-std/Test.sol\";\nimport {HiddenList} from \"src/HiddenList.sol\";\nimport {ERC721} from \"@openzeppelin/contracts/token/ERC721/ERC721.sol\";\n\ncontract NftMock is ERC721(\"identity.md\", \"IMDID\") {\n    function mint(address to, uint256 id) external {\n        _mint(to, id);\n    }\n}\n\n/// @dev A round that already passed (10 hide NFTs, 3 owners, no keep vote) is kept open past its 24 h end by one\n///      wallet that casts one more hide NFT every 59 minutes inside the last hour: every such vote moves `roundEnd`\n///      one hour further. Expected: one reply window of an hour after the vote that made the round pass, then the\n///      round closes and `status` reports HIDDEN_BY_VOTE. Fails on the code as it is (the item is still VISIBLE\n///      29 hours after the round's end); passes once a late hide vote on a round that already passed no longer\n///      moves `roundEnd`.\ncontract HiddenListExtendTest is Test {\n    HiddenList list;\n    NftMock nft;\n    address constant OWNER = address(0x7EA5);\n    address constant VAULT = address(0xBA07);\n\n    function setUp() public {\n        nft = new NftMock();\n        list = new HiddenList(OWNER, address(nft), address(0));\n    }\n\n    function _ids(uint256 from, uint256 n) internal pure returns (uint256[] memory a) {\n        a = new uint256[](n);\n        for (uint256 i; i < n; ++i) a[i] = from + i;\n    }\n\n    function test_LateHideVotesCannotKeepAPassedRoundOpenForever() public {\n        uint256 ts = 1_000_000;\n        vm.warp(ts);\n        address a = address(0xA1);\n        address b = address(0xB2);\n        address c = address(0xC3);\n        for (uint256 i = 1; i <= 4; ++i) nft.mint(a, i);\n        for (uint256 i = 5; i <= 8; ++i) nft.mint(b, i);\n        for (uint256 i = 9; i <= 10; ++i) nft.mint(c, i);\n        vm.prank(a);\n        list.vote(VAULT, 1, 7, true, _ids(1, 4));\n        vm.prank(b);\n        list.vote(VAULT, 1, 7, true, _ids(5, 4));\n        vm.prank(c);\n        list.vote(VAULT, 1, 7, true, _ids(9, 2));\n        (, uint32 hideNfts,,, uint64 roundEnd) = list.status(VAULT, 1, 7);\n        assertEq(hideNfts, 10);\n        uint256 originalEnd = roundEnd;\n        assertEq(originalEnd, ts + 24 hours);\n\n        // the wallet that wants the item to stay visible holds 30 NFTs (or has them delegated)\n        address troll = address(0x7A0);\n        for (uint256 i = 100; i < 130; ++i) nft.mint(troll, i);\n\n        // 30 hide votes of one NFT each, one every 59 minutes from inside the last hour of the round\n        // (`ts` is tracked by hand: via-IR may cache block.timestamp inside one test function)\n        uint256 id = 100;\n        ts = originalEnd - 30 minutes;\n        vm.warp(ts);\n        for (uint256 k; k < 30; ++k) {\n            vm.prank(troll);\n            list.vote(VAULT, 1, 7, true, _ids(id++, 1));\n            ts += 59 minutes;\n            vm.warp(ts);\n        }\n        (uint8 state,,,, uint64 finalEnd) = list.status(VAULT, 1, 7);\n        // 29 hours after the round should have closed: one reply hour at most, then the passed round applies\n        assertGe(ts, originalEnd + 29 hours);\n        assertLe(uint256(finalEnd), originalEnd + 1 hours, \"a passed round gets one reply hour, not one per late vote\");\n        assertEq(state, list.HIDDEN_BY_VOTE(), \"the passed round applies once its reply hour is over\");\n    }\n}","reproduction":"HiddenList(owner, mockERC721, address(0)); t0 = 1,000,000. Wallets a (ids 1..4), b (5..8), c (9..10) each call vote(vault,1,7,true,ids): hideNfts 10, hideOwners 3, keepNfts 0, roundEnd = t0+24h, round passed. Wallet troll holds ids 100..129. At t0+23h30m troll calls vote(vault,1,7,true,[100]) -> roundEnd = t0+24h30m. Every 59 minutes troll votes hide with the next id; after 30 votes (t0+53h) status(vault,1,7) still returns state 0 (VISIBLE) and roundEnd = t0+53h30m. Expected: roundEnd <= t0+25h and state 3 (HIDDEN_BY_VOTE) from then on. Run on this tree: forge test --match-path test/scratch/Proof_5a1247498e22.t.sol -> FAIL 'a passed round gets one reply hour, not one per late vote: 1190860 > 1090000'.","severity":"low","snippet":"        if (hide && activeRound && block.timestamp + 1 hours >= s.roundEnd && _won(s)) {\n            uint64 extended = uint64(block.timestamp + 1 hours);\n            if (extended > s.roundEnd) s.roundEnd = extended;\n        }","title":"HiddenList: every late hide vote on a round that already passed pushes roundEnd back one hour, so a wallet with spare NFTs keeps a passed round open indefinitely (unchanged since the previous round)"},{"citation":"resolved","description":"Settled from the previous round: lines 114-131 are unchanged. ADAPTATION item 2 made cancelVersion and addVersion delete _pendingVersion so pendingVersion() is empty after a cancel or a listing. The mirror pair was not changed: cancelCurrent only zeroes pendingCurrentEta (line 116) and setCurrent only zeroes the eta (line 128), so the public pendingCurrent keeps returning the cancelled or already-applied version number with pendingCurrentEta == 0. No on-chain effect (setCurrent reverts NothingPending while the eta is 0, proposeCurrent overwrites it); an off-chain reader that shows pendingCurrent without checking the eta shows a proposal that does not exist. Minimal fix: pendingCurrent = 0 in both (read it into the event first). Advisory, not blocking.","line":116,"path":"src/ProtocolDirectory.sol","reproduction":"Deploy ProtocolDirectory(safe, vault, sweetener, trophy, 7). vm.prank(safe); d.proposeCurrent(2): pendingCurrent() == 2, pendingCurrentEta() == now+48h. vm.prank(safe); d.cancelCurrent(): expected pendingCurrent() == 0 (like pendingVersion() after cancelVersion); actual pendingCurrent() == 2 while pendingCurrentEta() == 0. Same after a successful setCurrent(): pendingCurrent() still returns the version just applied.","severity":"info","snippet":"        pendingCurrentEta = 0;\n        emit CurrentCancelled(pendingCurrent);","title":"ProtocolDirectory: cancelCurrent and setCurrent leave pendingCurrent as a stale number while cancelVersion/addVersion clear their proposal (unchanged since the previous round)"},{"citation":"resolved","description":"Settled from the previous round: the contract is unchanged and renounceOwnership is neither overridden nor documented. The launch text gives the catalog's owner (the project wallet) a two-step transfer and says no other admin power exists beyond what is written. OpenZeppelin's Ownable2Step keeps Ownable.renounceOwnership(), a single-step call that sets the owner to address(0) with no recovery. After it addDesign, setCategoryDesign, setDefaultDesign and setDesignEnabled revert for good; designs are frozen at whatever was set (DareTrophy keeps minting through designFor, no money involved). This is an inherited owner power, not a bypass: recorded as a trust assumption the verifier lists as an entry point (TrophyCatalog.renounceOwnership()) and the brief does not mention. If only the two-step handover is intended, override renounceOwnership to revert; otherwise document it. Advisory, not blocking.","line":13,"path":"src/TrophyCatalog.sol","reproduction":"TrophyCatalog c = new TrophyCatalog(owner); vm.prank(owner); c.renounceOwnership(); -> c.owner() == address(0). vm.prank(owner); c.addDesign('x', '<svg></svg>') reverts OwnableUnauthorizedAccount(owner); c.pendingOwner() == 0 and no address can ever accept ownership. Expected under the launch text: only transferOwnership + acceptOwnership change the owner.","severity":"info","snippet":"contract TrophyCatalog is Ownable2Step {","title":"TrophyCatalog inherits a one-step, irreversible renounceOwnership next to the two-step transfer the launch text describes (unchanged since the previous round)"},{"citation":"resolved","description":"forge test on this tree (code identical to the previous round; only launch.json changed) gives 717 passed, 6 failed. All six fail on the one-shot transient binding of launch-2 contracts: Desk.wire (tstore in the desk constructor, tload in wire) and ProjectVesting.bindStarter, with WiringClosed()/BindingClosed(): test/MoneyRules.t.sol test_HubWithoutCode_PaysAsWithoutStake, test/Desks.t.sol test_VaultRefusesDesksOfAnotherEnvironment, test/review/ReviewSplitAccess.t.sol test_Guard_SwappedDesksRevertTheDeployment, test/audit/swarm117/VestingClockPreStart.t.sol setUp and test_starterIsTheSplitterAndCannotBeRebound, and test_DoerStakeHub_FailingOrOversizedAnswer. The trace shows the desks created with VM::deployCode and the following TaskVault constructor's wire call reverting WiringClosed, i.e. the transient slot was cleared between the cheatcode deployment and the next call. On chain the factory deploys the desks and the vault in one transaction, where transient storage persists, and these contracts are live from launch 2 and not deployed by this launch; none of the six contracts of this launch use transient storage. Recorded so the verifier can compare with its own toolchain (the brief expects 690 passing); no code change is implied by this note.","line":859,"path":"test/MoneyRules.t.sol","reproduction":"On this machine: forge --version -> 1.8.5 (51a52c5); forge test --no-match-path 'test/scratch/*' -> 'Encountered a total of 6 failing tests, 717 tests succeeded'. forge test --match-test test_HubWithoutCode_PaysAsWithoutStake -vvv shows: new CaseDesk via VM::deployCode, then new TaskVault -> CaseDesk::wire(...) -> [Revert] WiringClosed(). Expected per the brief: all tests pass. Likely toolchain-dependent (transient storage lifetime around cheatcode deployments).","severity":"info","snippet":"        CaseDesk cd = new CaseDesk(\n            r, address(imd), address(usdc), address(text), address(new SwarmQuestionBuilder()), address(yolo),\n            address(0xBEEF)\n        );","title":"Test suite: six launch-2 wiring tests fail on this machine's forge 1.8.5 because a transient flag set in a constructor deployed through deployCode is not visible to the next call (environment, not a c"}],"hash":"8c2ba9dd9af0d4d0877d1833b3b736f3c7ebfe71f96cae8b4ca7c674bcf24d0d","nodeId":"4abe9f77-715f-4979-8185-239981e496a7","outcome":"completed","summary":"Review complete. The findings and coverage are in `.imd-findings.json` (4 findings, 113 entry-point rows plus 3 invariant/manifest rows).\n\n**Settled from the previous round**\n\n- **Medium, launch.json `$owner` placeholders: fixed.** The manifest now writes the static project wallet 0x3c58…E48C for TrophyCatalog, ProtocolDirectory and HiddenList, matching the brief and script/LaunchPlan.sol. Schema, six contract names, argument counts and backward references all check out. No finding kept.\n- **Low, HiddenList late-vote extension: still present.** Lines 218 to 223 are unchanged. The specialists' proof still fails on this tree with the same assertion, so I kept it at low with that proof attached.\n- **Info, ProtocolDirectory stale pendingCurrent: still present.** cancelCurrent and setCurrent are unchanged. Kept as advisory.\n- **Info, TrophyCatalog renounceOwnership: still present.** Neither overridden nor documented. Kept as a trust-assumption note.\n\n**New this round, info only**\n\nThe full suite on this machine gives 717 passed and 6 failed. All six failures are launch-2 transient-storage wiring tests (Desk.wire and ProjectVesting.bindStarter) where a flag set in a constructor deployed through deployCode is not visible to the next call under forge 1.8.5. The contracts involved are live from launch 2, none of this launch's six contracts use transient storage, and the code is identical to what I reviewed last round. I recorded it so the verifier can compare against its own toolchain rather than as a code defect.\n\n**Coverage**\n\nAll six launch contracts are traced and marked holds except the three rows tied to the advisories above. Thirty-two rows on CaseDesk, DisputeDesk, TaskVault internals, the swap adapter and YoloToken transfers are marked unreached: their guards were verified but their accounting was not re-traced in this round's budget.\n\nNothing in the repository was modified. The only files written are `.imd-findings.json` and the proof copy under test/scratch/.","treeHash":null,"usage":{"cachedInputTokens":2034324,"inputTokens":484,"model":"claude-fable-5-1","outputTokens":29855,"runtime":"claude","turns":39,"wallClockMs":463985}},{"artifacts":[],"attempt":1,"bundleHash":"c7949cb3cbd2229516de66a037fa312a04cbd198e278dc3f239558b677cd0e30","device":"fbcdfc017217af1f","findings":[],"hash":"a8844e3b6f15d0020137431803c442a502e4e863e043a92241815a1eba627df2","nodeId":"7f4759a6-89b4-4894-9ace-3d2b99d58ca4","outcome":"completed","summary":"The finding reproduced and is fixed. The manifest now writes the project wallet as a static address in all three places the brief fixes it.\n\n**What changed in launch.json**\n- TrophyCatalog owner, ProtocolDirectory safe and HiddenList owner now read `0x3c587Eff6c96eAcF7E3dcC2CFf6416161386E48C` instead of `$owner`. This matches the brief's constructorArgs and the value LaunchPlan.sol passes as PROJECT_TREASURY.\n- The notes no longer claim that `$owner` resolves to the project wallet. They state the static address is written where the brief fixes it.\n- Nothing else in the manifest moved. Contract order, the vault address, the `$contract:` references, the block number, the NFT and delegate registry addresses and the 1 YOLO minimum are unchanged.\n\n**Verification**\n- The manifest parses with exactly kind, contracts and notes, six unique contracts in the brief's order, every argument a string, notes under 4,000 characters.\n- `forge build` succeeds and `forge test` with the verifier's fuzz seed passes.\n\n| Result | Count |\n|---|---|\n| Tests passed | 693 |\n| Failed | 0 |\n| Skipped | 4 |\n\nThe fork-backed test needs FORK_URL and was not run here. Git shows launch.json as the only modified tracked file. The answer to the finding is recorded in .imd-responses.json with verdict \"fixed\".","treeHash":"d580efc6f443faaf89dc44fc68f8f885b0e85eef","usage":{"cachedInputTokens":205790,"inputTokens":130,"model":"claude-fable-5-1","outputTokens":4075,"runtime":"claude","turns":12,"wallClockMs":366257}},{"artifacts":[],"attempt":1,"bundleHash":"c21d057618ddfc1ff201e2007cc28ffa6ea2faf6d2951e685d336ae0eafbe487","device":"8f08088e7a7f557f","findings":[],"hash":"b00fbb5c0e81d616baed9a18d956c3e3ff5ca3a29d679caa49854449643747b2","nodeId":"692f6176-f254-44ab-8a08-66d662972aaa","outcome":"completed","summary":"Done. The launch needed no constructor, role or argument change; both audit findings reproduced and are fixed, with tests, and everything is committed.\n\n**What changed**\n\n- `src/HiddenList.sol`: the cooldown's \"real contest\" test now also requires the round to have reached the owners bar (`hideOwners >= MIN_WALLETS`), the hide side's own passing conditions. The audit proof failed on the tree as it arrived and passes now. Quorum, cooldown, vote window and the owner's restore cooldown are unchanged. Comments and the mechanics doc say the same thing.\n- `src/ProtocolDirectory.sol`: `cancelVersion` and `addVersion` delete the pending struct, so the pending view is empty whenever the eta is 0.\n- Tests: two new hide-list tests (the finding's scenario, and a full-bar contest that still buys the cooldown), one directory test, and the audit's proof kept as `test/audit/round3/Proof_7351432decec.t.sol`.\n- Recorded code margins in the review test and `docs/LAUNCH-TASK.md` updated to the new sizes. The launch texts themselves are untouched and the doc checker passes.\n- `ADAPTATION.md` records each change, the reading of \"hide quorum\" it rests on, the audit passes run, and the check results.\n\n**Checks**\n\n| Check | Result |\n|---|---|\n| `forge build` | ok |\n| `forge test` with the verifier's fuzz seed | 694 passed, 0 failed, 4 skipped (fork tests without FORK_URL) |\n| `forge test --match-path \"test/fork/*\"` with a mainnet fork | 5 passed; launch 3 total gas 9,378,624, live-core execution gas 8,695,100 |\n| `script/check-launch-task.py` | ok |\n\nNothing else in the audit passes reproduced as a defect. The commit is 755c68d on top of the arrived tree.","treeHash":"76245c7814c0c3c8925ca4e47973729e2240b279","usage":{"cachedInputTokens":3253585,"inputTokens":868,"model":"claude-fable-5-1","outputTokens":28279,"runtime":"claude","turns":42,"wallClockMs":1571329}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"8d428b115b0ebd64","findings":[{"citation":"resolved","description":"The contract notice (line 21-22) promises that only \"a hide vote inside the round's last hour that would make the round pass\" extends roundEnd by one hour. The code extends on any hide vote cast in the last hour while _won(s) is true, whether or not that vote changed the result, and each extension opens a fresh last hour. A round that reached 10 hide NFTs from 3 owners on its first hour (no keep side at all) is therefore pushed back one hour by every later hide vote with a fresh token id. Anyone who wants the item to stay visible (the proof's doer, a wallet that never voted keep) votes HIDE with one spare NFT an hour from the last hour on and the item never reaches HIDDEN_BY_VOTE in status() while they have fresh ids: one wallet with k identity.md NFTs (or delegations) buys k extra hours after the 24-hour round the launch text promises; a batch of delegated ids buys more. No funds are involved (the hide list moves no money), the owner's setState still works at once, and the delay is bounded by the delayer's distinct token ids, hence low. The fix that keeps the promised rule: extend only when the round was not already won before this vote (compute _won before adding the new votes and extend only on a false->true transition), or extend at most once per round.","line":220,"path":"src/HiddenList.sol","reproduction":"Fresh HiddenList(owner, nft, 0). Three holders with 4+3+3 NFTs each call vote(vault,1,7,true,ids) at t0: status shows hideNfts 10, roundEnd t0+24h, the round is won. A fourth wallet D holds 6 NFTs (ids 100..105) and never voted. At t0+23h30m D calls vote(vault,1,7,true,[100]): roundEnd becomes t0+24h30m (expected: unchanged, the vote did not make the round pass). D repeats at t0+24h29m with [101] -> roundEnd t0+25h29m, and so on once per hour. At t0+29h28m, more than 5 hours after the round should have closed, status(vault,1,7).state is still VISIBLE (0); expected HIDDEN_BY_VOTE (3) from t0+24h. Proof: test/scratch/HideRoundExtensionChain.t.sol fails with 'a round that passed 5h ago should be hidden by vote: 0 != 3'.","severity":"low","snippet":"        if (hide && activeRound && block.timestamp + 1 hours >= s.roundEnd && _won(s)) {\n            uint64 extended = uint64(block.timestamp + 1 hours);\n            if (extended > s.roundEnd) s.roundEnd = extended;\n        }","title":"HiddenList: every hide vote inside the last hour of an already-passed round pushes its end back one hour, so a wallet with spare NFTs delays a passed hide indefinitely"}],"hash":"bea43d796271b96edee3c43f432fd221e3accccb302123c108c6ece0aaea01d8","nodeId":"50bb4be2-e8e4-4f2d-89d1-9550c3a3a92f","outcome":"completed","summary":"The review is complete. The findings file is in place and the only files written are the report and one scratch proof, both ignored by git.\n\n**Outcome:** one low-severity defect in HiddenList, the five other launch-3 contracts hold under the Execution Trace, Periphery and First Principles passes. The report is at `.imd-findings.json` with 116 coverage rows covering all 113 listed entry points plus three invariant and launch rows.\n\n**Finding 1, low, HiddenList round extension.** The contract notice promises that only a last-hour hide vote that makes a round pass extends it by one hour. The code at `src/HiddenList.sol:220` extends on every hide vote cast in the last hour while the round is already winning, and each extension opens a new last hour. A wallet that wants a proof to stay visible votes hide with one spare NFT per hour and keeps a round that passed on its first hour from ever reaching HIDDEN_BY_VOTE, for as many hours as it has fresh token ids. No money is involved and the owner's setState still works at once. The scratch test `test/scratch/HideRoundExtensionChain.t.sol` shows the item still VISIBLE more than five hours after the 24-hour round should have closed.\n\n**What held, with evidence:**\n- YoloSweetener: the 90/5/5 split and the stake extra conserve the bonus exactly, the voter pool base equals the desk's vote tally, deposits are refused until the vault binds the module, and nothing leaves an open task.\n- YoloPredict: entry split, points, no-winner payouts, void refunds and the deferred 5% match the launch text, with state written before every token move.\n- DareTrophy and TrophyCatalog: doer-only once per submission, price burned to the dead address, title and design name are quote-free so the on-chain JSON cannot break, the 288-byte icon table is complete, designs are append-only.\n- ProtocolDirectory: wallet-only proposals, 48-hour timelock, anyone executes, versions never edited.\n- Live core: the launch-3 fork test passed against mainnet through a public RPC. The live vault answers every view the modules read, its registry owner is the project wallet, and getTask decodes as the 16-field struct the modules expect.\n- The seven module test suites pass on this tree, 142 tests.\n\n**Not reached:** CaseDesk.step, which every module reaches through poke, was not traced internally within the budget. The single-submission DisputeDesk.claimVoterReward does not call the sweetener, so a voter who uses it must call YoloSweetener.claimVoter separately. That is a site matter, not a defect, and is noted in its coverage row.","treeHash":null,"usage":{"cachedInputTokens":3068963,"inputTokens":610,"model":"claude-fable-5-1","outputTokens":55614,"runtime":"claude","turns":53,"wallClockMs":1103996}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"6156e0902980b6f9","findings":[],"hash":"c20c95ea719ec42b16cce7e39c7e7a08977b15fe41959412566088b3dc4cd6dc","nodeId":"7f4759a6-89b4-4894-9ace-3d2b99d58ca4","outcome":"failed","summary":"clone failed: fatal: destination path '/var/lib/imd/seat-1676/work/56768901-8dcd-42f1-8482-eba57e7bee57/7f4759a6-89b4-4894-9ace-3d2b99d58ca4' already exists and is not an empty directory.\n","treeHash":null,"usage":{"cachedInputTokens":0,"inputTokens":0,"model":null,"outputTokens":0,"runtime":"codex","turns":0,"wallClockMs":439}},{"artifacts":[],"attempt":2,"bundleHash":"02ac3839754fabcfa6a1de6bea62243e731af754a95a8a69f99eed57eb89e150","device":"564841ef9657d63c","findings":[],"hash":"f250341583f37df923d1a9316c135f8fb265320fdc8ba0c53335a77cf871b93e","nodeId":"7f4759a6-89b4-4894-9ace-3d2b99d58ca4","outcome":"completed","summary":"Created [launch.json](/home/ubuntu/.identitymd/work/56768901-8dcd-42f1-8482-eba57e7bee57/7f4759a6-89b4-4894-9ace-3d2b99d58ca4/launch.json) with the six approved contracts. Only the manifest changed.\n\n- Manifest, ABI, bytecode checks and `forge build` passed.\n- Seeded local tests: **693 passed, 4 skipped**.\n- Archive fork: **701 passed, 3 failed**. The failures are existing gas assertions in `ReviewLaunchFork`, reproduced without the manifest.\n- This launch’s rehearsal passed at **9,378,660 total gas**, below 9.4M.","treeHash":"708edf520f69bffea615cb2156f6beccb8f92afb","usage":{"cachedInputTokens":7701632,"inputTokens":153669,"model":"gpt-6-astra","outputTokens":29536,"runtime":"codex","turns":26,"wallClockMs":1596430}}],"verification":[{"checks":[{"durationMs":544165,"exitCode":0,"name":"build","output":"Compiling 186 files with Solc 0.8.28\nSolc 0.8.28 finished in 543.94s\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:183:5:\n    |\n183 |     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:183:5:\n    |\n183 |     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":29416,"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 273.84µs (96.28µs 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 280.21µs (82.55µs CPU time)\n\nRan 1 test for test/fork/ExtrasOnLiveCore.fork.t.sol:ExtrasOnLiveCoreForkTest\n[SKIP: skipped] setUp() (gas: 0)\nSuite result: ok. 0 passed; 0 failed; 1 skipped; finished in 598.11µs (0.00ns 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 793.48µs (608.40µ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 744.94µs (336.62µs CPU time)\n\nRan 2 tests for test/review/ReviewYolo.t.sol:ReviewYoloUnit\n[PASS] test_vestingStreamsFromArrivalWithoutACliff() (gas: 897245)\n[PASS] test_whitelistRefusesOutputTakenToARouter() (gas: 1179429)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 1.19ms (992.37µs 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 1.28ms (483.62µ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 496.05µs (295.26µ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.70ms (1.43ms 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.36ms (0.00ns CPU time)\n\nRan 1 test for test/audit/round2/Proof_5d8c4edc729c.t.sol:HiddenListCooldownGriefTest\n[PASS] test_oneNftBlocksHonestHidersForAWeek() (gas: 1780686)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.33ms (920.58µ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 870.70µs (437.34µs CPU time)\n\nRan 1 test for test/audit/AuditA.t.sol:AuditAUnit\n[PASS] test_Guard_vestingClocksStartAtTheSplit() (gas: 4074385)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 4.32ms (2.33ms 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 7.85ms (7.66ms 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 7.72ms (979.31µs 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: 15809321)\n[PASS] test_Guard_NoEmergencyExit_PokeAlwaysResolves() (gas: 1139255)\n[PASS] test_Guard_NoRewireAfterLaunch() (gas: 74617)\n[PASS] test_Guard_ReentryFromEthRefundIsLocked() (gas: 1594177)\n[PASS] test_Guard_ReentryFromSwapHookIsLocked() (gas: 1649442)\n[PASS] test_Guard_RoutedSelectorsMatchDeskAbi() (gas: 382)\n[PASS] test_Guard_SiblingAndVaultCannotCrossCall() (gas: 383550)\n[PASS] test_Guard_SwappedDesksRevertTheDeployment() (gas: 39050)\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 21.82ms (5.78ms 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 927.33µs (851.49µ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 23.49ms (4.41ms CPU time)\n\nRan 1 test for test/review/ReviewYolo.t.sol:ReviewYoloVault\n[PASS] test_depressedPrice_touchesNeitherNewYoloTasksNorAnExistingBond() (gas: 1754146)\nLogs:\n  doer bond rew, honest / attacked: 300000000000000000000000 300000000000000000000000\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 23.47ms (1.85ms CPU time)\n\nRan 2 tests for test/review/ReviewGas.t.sol:ReviewGas\n[PASS] test_AppealAskGas_Under1_5M() (gas: 4618555)\nLogs:\n  askAppealSwarm -> swarm question (lazy ask, with resupply), gas: 836419\n  body bytes: 2679\n\n[PASS] test_CallSwarmGas_MaxBody() (gas: 3660553)\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 20.63ms (4.67ms CPU time)\n\nRan 2 tests for test/audit/AddonAfterSub.t.sol:AddonAfterSubmissionTest\n[PASS] test_AddonAfterSubmission_BatchClaimPaysSweetener() (gas: 2688282)\n[PASS] test_AddonBeforeSubmission_BatchClaimPaysSweetener() (gas: 2585614)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 30.26ms (4.07ms 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: 5186993)\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 29.39ms (12.75ms CPU time)\n\nRan 2 tests for test/Gas.t.sol:GasTest\n[PASS] test_GasProfile() (gas: 8439973)\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.36ms (12.84ms 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: 1296340)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 37.95ms (7.54ms CPU time)\n\nRan 7 tests for test/Cover.t.sol:CoverTest\n[PASS] test_CategoryStoredAndCoverEmitted() (gas: 390027)\n[PASS] test_CategoryUnchangedThroughDispute() (gas: 7923359)\n[PASS] test_CoverLinksAccepted() (gas: 1741282)\n[PASS] test_CoverLinksRejected() (gas: 1780674)\n[PASS] test_CoverNotInSwarmQuestion() (gas: 3518327)\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 38.97ms (20.30ms CPU time)\n\nRan 3 tests for test/review/ReviewProofLabel.t.sol:ReviewProofLabel\n[PASS] test_PromptSaysTheLabelIsOptional() (gas: 2106357)\n[PASS] test_QuestionHasNoDoerCode() (gas: 2894559)\n[PASS] test_SameLinkFirst_SameQuestionButDoerAndCase() (gas: 4384264)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 41.22ms (16.66ms CPU time)\n\nRan 47 tests for test/HiddenList.t.sol:HiddenListTest\n[PASS] test_10Of10NftsPassesAfterRoundEnd() (gas: 1666886)\n[PASS] test_2Of3WalletsDoesNotPassEvenWith10Nfts() (gas: 825347)\n[PASS] test_3Of3WalletsWith10NftsPasses() (gas: 929019)\n[PASS] test_9Of10NftsDoesNotPass() (gas: 1505324)\n[PASS] test_AllBadTokenIdsDoesNotOpenARound() (gas: 131946)\n[PASS] test_ConstructorAllowsZeroDelegateRegistry() (gas: 7024)\n[PASS] test_ConstructorFixesOwnerNoTransferFunction() (gas: 17198)\n[PASS] test_ConstructorRejectsZeroOwnerOrNft() (gas: 9339)\n[PASS] test_ContestAtFullQuorumThreeOwnersStillBuysCooldown() (gas: 2567908)\n[PASS] test_DelegateXyzDelegateCanVote() (gas: 267646)\n[PASS] test_EmptyTokenIdsDoesNotOpenARound() (gas: 41527)\n[PASS] test_EthWithDataReverts() (gas: 37873)\n[PASS] test_FailedRoundCanRetryAfter7Days() (gas: 2009478)\n[PASS] test_FailedRoundCannotRetryBefore7Days() (gas: 3173731)\n[PASS] test_GasNftHolderVote1NftLaterVote() (gas: 312478)\nLogs:\n  NFT holder vote, 1 NFT (later vote): 50089\n\n[PASS] test_GasNftHolderVote1NftOpensRound() (gas: 209804)\nLogs:\n  NFT holder vote, 1 NFT (opens a round): 130352\n\n[PASS] test_GasOwnerHides1Item() (gas: 61100)\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: 94246)\nLogs:\n  owner unhides 1 item: 32830\n\n[PASS] test_HideVoteEventCarriesVaultKindId() (gas: 211599)\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: 206219)\n[PASS] test_OwnerOfNftCanVote() (gas: 212485)\n[PASS] test_OwnerOverridesAPassedVoteBackToVisible() (gas: 1711534)\n[PASS] test_OwnerRestoreVisibleStartsCooldown() (gas: 1813413)\n[PASS] test_PlainEthTransferReverts() (gas: 36475)\n[PASS] test_SameIdDifferentVaultsAreIndependent() (gas: 70459)\n[PASS] test_SameWalletMoreNftsLaterAddToTallyNotWallets() (gas: 313708)\n[PASS] test_SelfContestAtNftQuorumOneOwnerDoesNotBuyCooldown() (gas: 1068223)\n[PASS] test_SelfContestRepeatsEvery8DaysHonestVoteStillCounts() (gas: 4125678)\n[PASS] test_SelfContestUnderQuorumDoesNotBlockHonestVoteNextDay() (gas: 2011009)\n[PASS] test_SetStateEmitsStateSetWithVaultKindId() (gas: 61751)\n[PASS] test_SetStateInstantNoTimelock() (gas: 63017)\n[PASS] test_SetStateRejectsBadStateValue() (gas: 32653)\n[PASS] test_StatusHiddenOnlyAfterRoundEndEvenIfQuorumAlreadyMet() (gas: 1690092)\n[PASS] test_StrangerCannotVoteWithSomeoneElsesNft() (gas: 132587)\n[PASS] test_TaskAndProofKindsAreIndependent() (gas: 69887)\n[PASS] test_TieHideEqualsKeepDoesNotPass() (gas: 3042317)\n[PASS] test_TokenIdCountsOnceInARound() (gas: 243556)\n[PASS] test_UncontestedFailedRoundRetriesAtOnce() (gas: 570458)\n[PASS] test_VotePassingCannotUnhideAnOwnerHiddenItem() (gas: 1036411)\n[PASS] test_WalletKeepsOneSidePerRoundOtherSideSkipped() (gas: 295471)\nSuite result: ok. 47 passed; 0 failed; 0 skipped; finished in 23.21ms (21.79ms CPU time)\n\nRan 3 tests for test/audit/swarm117/SwarmAudit117.t.sol:SwarmAudit117SweetenerTest\n[PASS] test_sweetenerLargeBonusWithoutPricePaysInFull() (gas: 7147823)\n[PASS] test_sweetenerNoCapWithAPrice() (gas: 7066459)\n[PASS] test_sweetenerPayoutWithoutPricePaysAtOnce() (gas: 7199540)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 45.68ms (23.55ms CPU time)\n\nRan 1 test for test/audit/PredictAfterTimer.t.sol:PredictAfterTimerTest\n[PASS] test_PredictAfterTimerEnded_WithoutPoke_IsAllowed() (gas: 2290724)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 17.14ms (1.11ms 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: 16557421)\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: 674722)\nLogs:\n  vote 1 NFT (first vote) exec: 143875\n  vote 1 NFT (first vote) tx: 136349\n  vote 10 NFT (later vote) exec: 139676\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: 124327\n  vote 2 NFT (later vote) tx: 123216\n\nSuite result: ok. 9 passed; 0 failed; 0 skipped; finished in 53.61ms (21.25ms CPU time)\n\nRan 6 tests for test/extras/ExtrasMetadataAndDirectory.t.sol:ExtrasMetadataTest\n[PASS] testFuzz_TitleRejectsEveryForbiddenByteIncludingWordBoundary(uint8,uint8) (runs: 256, μ: 289898, ~: 289805)\n[PASS] test_CatalogDisabledCategoryFallsBackToDefaultThenBuiltin() (gas: 587328)\n[PASS] test_CatalogExactByteLimitsAndFullMetadataEnvelope() (gas: 15574054)\n[PASS] test_CatalogTwoStepTransferPendingOwnerHasNoPowers() (gas: 318044)\n[PASS] test_DuplicateMintAfterTransferCannotRewriteMetadataOrBurnAgain() (gas: 1891697)\n[PASS] test_FailedMintPaymentRollsBackTokenRecordAndBurnThenCanRetry() (gas: 879413)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 65.39ms (62.71ms CPU time)\n\nRan 1 test for test/review/ReviewLaunch.t.sol:ReviewLaunchRuntime\n[PASS] test_L5_vote_gasPerNft() (gas: 60470868)\nLogs:\n  vote 10 NFTs: 175392\n  vote 490 more NFTs: 2190142\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 62.96ms (38.95ms CPU time)\n\nRan 14 tests for test/Desks.t.sol:DesksTest\n[PASS] test_BurnerMustHaveCode_DoerStakeMayBeLater() (gas: 45552)\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: 8166986)\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: 28575)\n[PASS] test_VaultRefusesDesksOfAnotherEnvironment() (gas: 25956)\nSuite result: ok. 14 passed; 0 failed; 0 skipped; finished in 27.48ms (9.50ms CPU time)\n\nRan 2 tests for test/audit/PredictZeroPoints.t.sol:PredictZeroPointsWinnerTest\n[PASS] test_ZeroPointWinner_TakesTheLosingPool() (gas: 1898557)\n[PASS] test_ZeroPointWinners_SplitByPosition() (gas: 2071626)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 18.26ms (1.94ms CPU time)\n\nRan 8 tests for test/review/ReviewAttestation.t.sol:ReviewAttestation\n[PASS] test_InconsistentCountsAreIgnored() (gas: 6413390)\n[PASS] test_NoFallback_NeitherOnePersonNorOrderedPanel() (gas: 2373912)\n[PASS] test_OnePersonPanelIsSilenceOnAppeal() (gas: 4598646)\n[PASS] test_OnePersonPanelIsSilenceOnCall() (gas: 2841094)\n[PASS] test_OrderedPanelCounts() (gas: 4402994)\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 66.96ms (20.49ms 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 734.94µs (335.91µs 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: 7510673)\n[PASS] test_noWithdrawFromAnOpenTask() (gas: 8427702)\n[PASS] test_payoutNeedsNoPrice() (gas: 7009594)\n[PASS] test_silentSwarmCallStillPaysTheWholeBonus() (gas: 8499762)\n[PASS] test_splitFollowsTheRewardRule_NftVotesAndStake() (gas: 14868109)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 69.60ms (51.92ms CPU time)\n\nRan 2 tests for test/audit/AuditSweetenerBonus.t.sol:AuditVestingClock\n[PASS] test_clockStartsAtTheFirstReleaseWithABalance() (gas: 1732627)\n[PASS] test_splitStartsTheClocks() (gas: 4709047)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 1.89ms (1.58ms 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: 8048815)\n[PASS] test_ModeA_CreateImdTaskWithEth() (gas: 3886094)\n[PASS] test_ModeA_Disabled() (gas: 3660392)\n[PASS] test_ModeA_DisputeWithUsdc() (gas: 7121366)\n[PASS] test_ModeA_Reverts() (gas: 2181431)\n[PASS] test_ModeA_SubmitWithEth_SurplusAndExcessRefunded() (gas: 6817400)\n[PASS] test_ReentrancyOnEthPayout_BlockedAndCredited() (gas: 2741811)\n[PASS] test_TopUpHasNoFee() (gas: 4019660)\n[PASS] test_TreasurySweep_TakesEverything() (gas: 6637571)\n[PASS] test_WithdrawTo_ZeroAddress_Reverts() (gas: 765447)\nSuite result: ok. 12 passed; 0 failed; 0 skipped; finished in 72.20ms (48.23ms CPU time)\n\nRan 7 tests for test/review/ReviewSweetener.t.sol:ReviewSweetenerTest\n[PASS] test_Guard_bonusCannotBePulledBeforeTheDeadline() (gas: 7145335)\n[PASS] test_Guard_moduleTakesTokenAndRegistryFromTheVault() (gas: 26381)\n[PASS] test_Guard_reentryFromTheEthRefundIsLocked() (gas: 2310120)\n[PASS] test_Guard_rejectionWithAQueueLeavesNoWithdrawGap() (gas: 11476712)\n[PASS] test_Guard_sweetenPlaysTheTimersFirst_NoAddonIntoADecidedTask() (gas: 9679294)\n[PASS] test_Guard_tieAcceptancePaysTheBonus() (gas: 7489277)\n[PASS] test_Rule_AddonBondsSeparatelyInYolo_NoCap() (gas: 9100207)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 72.34ms (44.92ms CPU time)\n\nRan 7 tests for test/review/ReviewProofs.t.sol:ReviewProofs\n[PASS] test_AppealPriceJump_RevertsWithMaxImdIn() (gas: 2259442)\n[PASS] test_BodyBoundedByParams_OneDisputerOnly() (gas: 2622190)\n[PASS] test_BondNeverDoubles_SubmitPassesWithQuotedMax() (gas: 1433297)\n[PASS] test_DisputeVoteAppealAfterTaskDeadline() (gas: 2232483)\n[PASS] test_Eip7702Voter_EcdsaSignatureCounted() (gas: 2148579)\n[PASS] test_FrontrunReward_SubmitRevertsWithMinReward() (gas: 1035063)\n[PASS] test_InvalidUtf8Rejected_NonAsciiRejected() (gas: 2407268)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 31.92ms (10.24ms 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: 37762549)\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 4526 runtime, margin 20050\n  YoloLockHub 3297 runtime, margin 21279\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 4721 runtime, margin 19855\n  HiddenList 3815 runtime, margin 20761\n  YoloPredict 6385 runtime, margin 18191\n\n[PASS] test_L2_docLaunch1Args_matchPlan() (gas: 894953)\n[PASS] test_L3_docLaunch2Args_matchPlan() (gas: 1362448)\n[PASS] test_L5_docLaunch3Args_matchPlan() (gas: 686264)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 10.30ms (8.79ms CPU time)\n\nRan 1 test for test/audit/StepDeadlineAppealed.t.sol:StepDeadlineAppealedTest\n[PASS] test_StepDeadlineAppealed_IsVoidMoment() (gas: 2223641)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 29.01ms (1.67ms 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: 3512896)\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 81.71ms (60.54ms CPU time)\n\nRan 3 tests for test/review/ReviewSweetener.t.sol:ReviewYoloStrictTest\n[PASS] test_Guard_PriceVanishingAfterTheQuoteDoesNotAffectTheSubmission() (gas: 1003932)\n[PASS] test_Guard_RevertingDevPricesDoesNotAffectTheSubmission() (gas: 957130)\n[PASS] test_Guard_creationNeedsNoPrice() (gas: 532450)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 18.40ms (1.26ms CPU time)\n\nRan 13 tests for test/audit/swarm117/SwarmAudit117.t.sol:SwarmAudit117Test\n[PASS] test_answerAfterTheGraceIgnoredWhoeverPoked() (gas: 8748201)\n[PASS] test_answerDeliveredAfterTheGraceIgnoredEvenUnpoked() (gas: 8410471)\n[PASS] test_answerSignedAfterTheTimeoutIsSilenceAtTheEndOfTheGrace() (gas: 8513552)\n[PASS] test_authorFrontRunsSubmitWithWithdrawal() (gas: 6564218)\n[PASS] test_doerAppealsAgainstOwnAcceptance() (gas: 9163870)\n[PASS] test_doerCannotCallTheSwarmAgainstHimself() (gas: 8087172)\n[PASS] test_doerMayStillAppealARejection() (gas: 8658348)\n[PASS] test_expiredAttestationIsIgnored() (gas: 8340433)\n[PASS] test_lastAttesterCannotBeRemoved() (gas: 403156)\n[PASS] test_noNoticeNeededAfterExpiry() (gas: 3790429)\n[PASS] test_pokeAtDeadlineTurnsLateAnswerIntoSilence() (gas: 8758912)\n[PASS] test_rewardLockedUntilTheDeadlineAndWhileJudged() (gas: 6720568)\n[PASS] test_walletVotesBothSidesAndIsPaid() (gas: 7522495)\nSuite result: ok. 13 passed; 0 failed; 0 skipped; finished in 91.79ms (76.47ms CPU time)\n\nRan 7 tests for test/Directory.t.sol:DirectoryTest\n[PASS] test_CancelVersionClearsPendingVersionView() (gas: 25103147)\n[PASS] test_ConstructorChecks() (gas: 6526)\n[PASS] test_CurrentMayGoBack() (gas: 24926949)\n[PASS] test_OnlySafeProposesAndCancels() (gas: 24935807)\n[PASS] test_ProposalChecks() (gas: 217614)\n[PASS] test_V2SideBySide_AfterTimelock() (gas: 32151235)\n[PASS] test_Version1FromConstructor() (gas: 66813)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 30.76ms (14.09ms CPU time)\n\nRan 2 tests for test/audit/StakePowerRelock.t.sol:StakePowerRelockTest\n[PASS] test_RelockOfAnEndedLockGivesNoStakePower() (gas: 241519)\n[PASS] test_WithdrawThenLockGivesZero_reference() (gas: 303292)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 628.05µs (295.34µs CPU time)\n\nRan 4 tests for test/Emergency.t.sol:EmergencyTest\n[PASS] test_AppealAskedLazily_ResolvesByTimer() (gas: 9135507)\n[PASS] test_NoDecision_ResolvesItselfByTimer() (gas: 7815010)\n[PASS] test_ResolvesByTimer_WhenTheStateMachineCanResolve() (gas: 8210231)\n[PASS] test_SwarmNeverAnswers_ResolvesByTimer() (gas: 8765515)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 66.15ms (40.11ms CPU time)\n\nRan 2 tests for test/audit/StakeFloorZeroSplit.t.sol:StakeFloorZeroSplitTest\n[PASS] test_NoLock_NoStakeSplit() (gas: 6700314)\n[PASS] test_StakeFlooredToZero_UsesStakedSplit() (gas: 7002131)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 28.50ms (12.07ms CPU time)\n\nRan 4 tests for test/VoteBatch.t.sol:VoteBatchTest\n[PASS] test_Batch_BonusNotPaidOutYet_StaysClaimable() (gas: 8022306)\n[PASS] test_Batch_NothingToClaimReverts() (gas: 7901490)\n[PASS] test_Batch_PaysWhatSingleClaimsPay() (gas: 24100626)\n[PASS] test_Batch_TakesTheYoloBonusShare() (gas: 13834939)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 104.65ms (56.65ms CPU time)\n\nRan 3 tests for test/DisputeLinkOptional.t.sol:DisputeLinkOptionalTest\n[PASS] test_EmptyLinkPasses() (gas: 3032291)\nLogs:\n  dispute gas, empty link (test env): 359028\n\n[PASS] test_NonEmptyLinkStillChecked() (gas: 2575210)\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 24.81ms (6.18ms CPU time)\n\nRan 2 tests for test/audit/StepDeadlineAsked.t.sol:StepDeadlineAskedTest\n[PASS] test_IntakeCompletedWithoutAnswer_IsDueNow() (gas: 406974)\n[PASS] test_Pending_IsTheSilenceDeadline() (gas: 134262)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 27.23ms (561.86µs CPU time)\n\nRan 6 tests for test/audit/AuditC.t.sol:AuditCTest\n[PASS] testFuzz_ValidTextMatchesReference(bytes,uint8,uint8) (runs: 256, μ: 262851, ~: 262354)\n[PASS] test_Fix_ContractWalletVotesItself() (gas: 2223117)\n[PASS] test_Guard_DoerCannotAnswerHisOwnAppealInTheNameOfTheDisputers() (gas: 6302565)\n[PASS] test_Guard_FrontRunnerCannotLiftABallotAndDecide() (gas: 14898238)\n[PASS] test_Guard_HoldersOwnVotesDecideAtTheVoteEnd() (gas: 10881631)\n[PASS] test_NoBatchToPoison() (gas: 1804974)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 110.09ms (85.25ms CPU time)\n\nRan 6 tests for test/OptionalFields.t.sol:OptionalFieldsTest\n[PASS] test_AuthorSubmits_AcceptedQuietly_PaidAsDoer() (gas: 6708765)\n[PASS] test_AuthorSubmits_DisputedRejected_LosesBond() (gas: 7459144)\n[PASS] test_Cover_EmptyAccepted_NonEmptyStillChecked() (gas: 566905)\n[PASS] test_DisputerLink_EmptyAccepted() (gas: 1272242)\n[PASS] test_Note_EmptyAccepted_EveryProofType() (gas: 1869113)\n[PASS] test_Screenshot_EmptyAccepted_OnchainTxAndLink() (gas: 1803147)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 36.87ms (17.43ms CPU time)\n\nRan 14 tests for test/Trophy.t.sol:TrophyTest\n[PASS] test_BadgesPerCategory() (gas: 4942090)\n[PASS] test_Catalog_DisableKeepsMinted() (gas: 4214815)\n[PASS] test_Catalog_Guards() (gas: 8986784)\nLogs:\n  addDesign gas, 8192-byte SVG: 7465885\n\n[PASS] test_Catalog_Launch3Gas() (gas: 9207608)\nLogs:\n  YoloSweetener 6748 runtime bytes\n  TrophyCatalog 4228 runtime bytes\n  DareTrophy 11777 runtime bytes\n  ProtocolDirectory 4721 runtime bytes\n  HiddenList 3815 runtime bytes\n  YoloPredict 6385 runtime bytes\n  launch 3 execution gas 8714238\n  launch 3 calldata bytes 43172\n  launch 3 total gas (upper bound) 9425990\n\n[PASS] test_Catalog_NeedsAddress() (gas: 6044)\n[PASS] test_Catalog_OwnerAddsDesign() (gas: 7681039)\n[PASS] test_Catalog_StrangerCannotEdit() (gas: 468134)\n[PASS] test_Catalog_UpdateThenMint() (gas: 7831617)\n[PASS] test_DoerMintsOnceBurningYolo() (gas: 1665154)\n[PASS] test_FixedPrice_IgnoresTheDevPrice() (gas: 166897)\n[PASS] test_MetadataOnChain() (gas: 4575867)\n[PASS] test_OnlyTheDoerOfAnAcceptedSubmission() (gas: 12589619)\n[PASS] test_RewardFormatting() (gas: 11024080)\n[PASS] test_TitleGuards() (gas: 1309880)\nSuite result: ok. 14 passed; 0 failed; 0 skipped; finished in 111.57ms (90.16ms CPU time)\n\nRan 22 tests for test/YoloLockHub.t.sol:YoloLockHubTest\n[PASS] testFuzz_LockThenWithdrawReturnsExactAmount(uint256,uint256) (runs: 256, μ: 272452, ~: 272277)\n[PASS] testFuzz_PowerConstantThroughTheTerm(uint256,uint256,uint256) (runs: 256, μ: 151086, ~: 151149)\n[PASS] test_ConstructorTakesYolo() (gas: 18260)\n[PASS] test_EndOnlyLater_AmountOnlyGrows() (gas: 485049)\n[PASS] test_EndedLockLockedAgain() (gas: 477126)\n[PASS] test_LockAndWithdrawAfterTheEnd() (gas: 390877)\n[PASS] test_LockTermsAndZero() (gas: 406871)\n[PASS] test_PowerAt_ReadsTheLockStrictlyBefore() (gas: 698855)\n[PASS] test_Power_AddAndExtend() (gas: 868276)\n[PASS] test_Power_FixedAtTheLock_DoesNotFall() (gas: 464128)\n[PASS] test_Power_RollingOneWeekExtensionDropsToOneWeek() (gas: 698967)\n[PASS] test_Rule_QueuedDoer_PowerAtTheSubmission() (gas: 3241000)\n[PASS] test_StakePower_RunningLockOnly() (gas: 516879)\n[PASS] test_Vault_AddedAfterTheSubmission_NotCounted() (gas: 7092776)\n[PASS] test_Vault_LockEndedBeforePayout_NoBonus_RelockedBonus() (gas: 11466535)\n[PASS] test_Vault_LockedInTheSubmissionBlockOrLater_NoBonus() (gas: 11389571)\n[PASS] test_Vault_LowestPriceOfTheWindow() (gas: 1473760)\n[PASS] test_Vault_NoYoloPrice_NoBonus() (gas: 1366581)\n[PASS] test_Vault_PowerEqualsReward_Bonus4() (gas: 7008143)\n[PASS] test_Vault_PowerHalfTheReward_Bonus2() (gas: 6966818)\n[PASS] test_Vault_RelativeToTheReward() (gas: 16090361)\n[PASS] test_Vault_YoloReward_Direct() (gas: 6882012)\nSuite result: ok. 22 passed; 0 failed; 0 skipped; finished in 121.70ms (105.94ms CPU time)\n\nRan 2 tests for test/ExtrasBareChain.t.sol:ExtrasBareChainTest\n[PASS] test_BareChain_NoVaultCode_AllSixDeploy() (gas: 9203752)\n[PASS] test_BareChain_NoVaultCode_ModulesInert() (gas: 9223556)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 1.65ms (1.28ms CPU time)\n\nRan 8 tests for test/CancelTask.t.sol:CancelTaskTest\n[PASS] test_Cancel_AcceptedByTimerButUnpoked_Reverts() (gas: 1204279)\n[PASS] test_Cancel_AfterExpiry_Reverts() (gas: 513151)\n[PASS] test_Cancel_AfterThePayout_Reverts() (gas: 1254898)\n[PASS] test_Cancel_EveryoneTakesBackExactlyWhatHePutIn_DevGetsNothing() (gas: 7019886)\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 24.34ms (7.08ms CPU time)\n\nRan 3 tests for test/audit/YoloModulesAudit.t.sol:YoloModulesAuditTest\n[PASS] test_ContributorCanPredict() (gas: 1382599)\n[PASS] test_Guard_PostExpiryWithdrawalChangesNothing() (gas: 1548371)\n[PASS] test_ResidualGone_NoWithdrawalWhileOpen() (gas: 1529628)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 24.42ms (2.25ms 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.64ms (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 8.23ms (3.85ms CPU time)\n\nRan 4 tests for test/audit/AuditNoFallbackOwnVote.t.sol:AuditNoFallbackOwnVoteTest\n[PASS] test_DoerCannotDispute() (gas: 9093221)\n[PASS] test_LostCallbackIsSilence_NoPublicFallback() (gas: 8541097)\n[PASS] test_NoDecisionBelowInstantDelta() (gas: 8685543)\n[PASS] test_PartialCountRelayedByAnOutsiderDecidesNothing() (gas: 8574104)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 44.76ms (27.84ms CPU time)\n\nRan 34 tests for test/YoloToken.t.sol:YoloTokenTest\n[PASS] test_AfterMinute60_PlainErc20() (gas: 137108)\n[PASS] test_BeforeOpenAt_NobodyBuys() (gas: 752448)\n[PASS] test_ConstructorRejectsZeroPoolManagerOrSafe() (gas: 9166)\n[PASS] test_DevVesting_Linear12Months_NoCliff() (gas: 992024)\n[PASS] test_GateWithoutCode_PlainErc20() (gas: 280536)\n[PASS] test_Gate_ConsumeNeedsSealAndBooksPerCallingToken() (gas: 464018)\n[PASS] test_Gate_OnlyWriterRecordsAndSeals() (gas: 217032)\n[PASS] test_Gate_RecordChecksAndEvents() (gas: 564790)\n[PASS] test_Gate_SealIsIrreversible() (gas: 348173)\n[PASS] test_GenesisLaunch_SharesAddUp() (gas: 4276159)\n[PASS] test_IncentivesVesting_QuarterAtOnce_RestLinear24Months() (gas: 966982)\n[PASS] test_OpenAtBounds() (gas: 8963)\n[PASS] test_SealAtOpenAtDoesNotCount() (gas: 256878)\n[PASS] test_SellTax_BuyFreeSellTaxedInWindow_BothAt45() (gas: 564926)\n[PASS] test_SellTax_ExactAmounts() (gas: 1063766)\n[PASS] test_SellTax_OnTopOfBalanceAndAllowance() (gas: 480636)\n[PASS] test_SellTax_RoundsDownAndDustIsFree() (gas: 119004)\n[PASS] test_Snapshot_NftMovedAfterSnapshotGivesNothing() (gas: 504446)\n[PASS] test_Splitter_FixedSharesAndDustToTreasury() (gas: 497623)\n[PASS] test_Splitter_RejectsZeroAddresses() (gas: 5083)\n[PASS] test_Splitter_RemainderShortOf750M() (gas: 274291)\n[PASS] test_SupplyAndFixedSchedule() (gas: 67082)\n[PASS] test_Tax_ExactAmounts() (gas: 793640)\n[PASS] test_Tax_RoundsDownAndDustIsFree() (gas: 80188)\n[PASS] test_TeamVesting_Linear12Months_NoCliff() (gas: 838186)\n[PASS] test_TransfersAndTheLauncherAreFree() (gas: 770367)\n[PASS] test_TreasuryVesting_ShortRemainder() (gas: 145876)\n[PASS] test_TreasuryVesting_ThirdAtOnce_RestLinear12Months() (gas: 953436)\n[PASS] test_UnsealedSnapshot_WindowClosedToAll() (gas: 421448)\n[PASS] test_VestingBounds() (gas: 4331)\n[PASS] test_Whitelist_AllowancePerNftAndCumulative() (gas: 645735)\n[PASS] test_Whitelist_BoundaryAtMinute30() (gas: 408484)\n[PASS] test_Whitelist_IntermediaryRefused() (gas: 369643)\n[PASS] test_Whitelist_WalletOutsideSnapshotRefused() (gas: 283012)\nSuite result: ok. 34 passed; 0 failed; 0 skipped; finished in 10.75ms (9.09ms CPU time)\n\nRan 2 tests for test/YoloTokenBareChain.t.sol:YoloTokenBareChainTest\n[PASS] test_BareChain_NoGateCode_PlainErc20() (gas: 894036)\n[PASS] test_GateCode_ScheduleAsBefore() (gas: 2087834)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 1.46ms (1.31ms CPU time)\n\nRan 3 tests for test/audit/LazyAppealVoidWindow.t.sol:LazyAppealVoidWindowTest\n[PASS] test_LateReAppealAfterTheVoidWindow_Reverts() (gas: 2274439)\n[PASS] test_PokeAfterVoidPlusWindow_IsFinal() (gas: 2345022)\n[PASS] test_WindowAfterVoid_StartsAtTheVoidMoment() (gas: 2111818)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 25.77ms (4.82ms CPU time)\n\nRan 1 test for test/LogReconstruction.t.sol:LogReconstructionTest\n[PASS] test_AllTextsRecoverableFromLogsByteForByte() (gas: 1450837)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 22.02ms (1.09ms CPU time)\n\nRan 15 tests for test/SideCalls.t.sol:SideCallsTest\n[PASS] test_BothSidesCall_EachPaysFromItsOwnBond() (gas: 7992216)\n[PASS] test_Cancel_AfterSideCalls_BondsBackMinusFees() (gas: 6928247)\n[PASS] test_DisputerAppeal_Loses_RestOfBondToWinner() (gas: 7664342)\n[PASS] test_DisputerCallingForTheDoer_PaysLikeAStranger() (gas: 7123750)\n[PASS] test_DoerAppeal_Wins_RestOfBondPlusLoserBond() (gas: 7572632)\n[PASS] test_FeeAboveBond_WalletPaysOnlyTheRest() (gas: 7596965)\n[PASS] test_RepeatCall_CheaperThanBond_ThreeCalls() (gas: 9105505)\n[PASS] test_RepeatCall_Disputer_Loses() (gas: 8619697)\n[PASS] test_RepeatCall_Disputer_Wins() (gas: 8480289)\n[PASS] test_RepeatCall_Doer_Loses() (gas: 7848222)\n[PASS] test_RepeatCall_Doer_Wins() (gas: 8126989)\n[PASS] test_RepeatCall_EachSideOwnFirst() (gas: 8698184)\n[PASS] test_SideSpent_View() (gas: 8470320)\n[PASS] test_StrangerAppeal_PaysBondAndFee() (gas: 7494106)\n[PASS] test_VoidSideAppeal_BondWhole() (gas: 7752310)\nSuite result: ok. 15 passed; 0 failed; 0 skipped; finished in 179.77ms (146.79ms 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 79.49ms (48.41ms CPU time)\n\nRan 43 tests for test/MoneyRules.t.sol:MoneyRulesTest\n[PASS] test_AddonInPowerBase() (gas: 2911792)\n[PASS] test_BondsIgnoreTheAddon() (gas: 1853381)\n[PASS] test_Burner_NoOwner_AnyoneBurns() (gas: 171089)\n[PASS] test_Burner_PullsFailedPush() (gas: 7137132)\n[PASS] test_ContributorAfterSubmission_GetsBonus() (gas: 1645713)\n[PASS] test_DeadlineRequired() (gas: 532088)\n[PASS] test_DisputeBond_FixedImdPlusOnePercent() (gas: 1711842)\n[PASS] test_DoerBond_FixedImdPlusThreePercent() (gas: 1424364)\n[PASS] test_Example_HundredDollarReward() (gas: 1848072)\n[PASS] test_Expired_AuthorGetsAllBack() (gas: 539953)\n[PASS] test_FakeLeavesStakeAlone() (gas: 2132765)\n[PASS] test_Fake_RewardStaysTaskOpen() (gas: 7598105)\n[PASS] test_HubWithoutCode_PaysAsWithoutStake() (gas: 1281917)\n[PASS] test_LockEndedBeforePayout_NoBonus() (gas: 1516460)\n[PASS] test_MinRewardPerCurrency() (gas: 1945252)\n[PASS] test_NftRight_NoStake() (gas: 7806509)\n[PASS] test_NftRight_Staked() (gas: 8007360)\n[PASS] test_NftWrong_SwarmAccepts() (gas: 15020865)\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: 6754961)\n[PASS] test_NoDispute_Staked() (gas: 7040121)\n[PASS] test_NoDoubling_SameBondForEverySubmission() (gas: 2379631)\n[PASS] test_NoMandatorySwarmCheck() (gas: 1250632)\n[PASS] test_NoPriceReadAtCreation() (gas: 479074)\n[PASS] test_NoSwarmFeeRefund_ThreeCallsByTheDoer() (gas: 10050763)\n[PASS] test_OneLock_FullPowerOnEveryConcurrentSubmission() (gas: 2448564)\n[PASS] test_PowerFixed_SubmissionMomentCounts() (gas: 3812771)\n[PASS] test_Predict_Entry_5_5_90_And_Deferred_2_5_Each() (gas: 1809555)\n[PASS] test_RelativeToTheReward_LowestPrice() (gas: 3587117)\n[PASS] test_RewardLockedUntilDeadline() (gas: 7854088)\n[PASS] test_SweetenerBoundOnceByTheOwner() (gas: 538460)\n[PASS] test_ThirdSilence_EndsAsWithoutCall_Decided() (gas: 10457282)\n[PASS] test_ThirdSilence_EndsAsWithoutCall_Undecided() (gas: 9910737)\n[PASS] test_Tie_DoerTakesEveryDisputerBond() (gas: 7346213)\n[PASS] test_TreasuryGetsOnlyItsShare() (gas: 11978491)\n[PASS] test_VoidAppealsCountTowardsThree() (gas: 9506327)\n[PASS] test_WithdrawnAndRelocked_NoBonus() (gas: 1579408)\n[PASS] test_WorkedExamples() (gas: 21019901)\n[PASS] test_YoloBonus_LockedUntilExpiry() (gas: 758394)\n[PASS] test_YoloBonus_SameRuleAsReward() (gas: 4136155)\n[PASS] test_YoloReward_TreasuryShareBurned() (gas: 11264821)\nSuite result: ok. 43 passed; 0 failed; 0 skipped; finished in 185.22ms (166.18ms CPU time)\n\nRan 4 tests for test/TextRule.t.sol:TextRuleTest\n[PASS] testFuzz_AsciiWithOneByte(uint16,uint16,uint8,uint256) (runs: 256, μ: 233010, ~: 173542)\n[PASS] testFuzz_MixedUtf8(uint256,uint16) (runs: 256, μ: 66869, ~: 61292)\n[PASS] testFuzz_RandomBytes(bytes) (runs: 256, μ: 14329, ~: 13633)\n[PASS] test_Examples() (gas: 562950)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 195.06ms (243.34ms 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: 6921476)\n[PASS] test_YoloBelowMinimumRefused() (gas: 131701)\n[PASS] test_YoloNoMandatoryCheckAtAnySize() (gas: 1268570)\n[PASS] test_YoloTaskAcceptedPaysInYolo() (gas: 6737559)\n[PASS] test_YoloTopUp_LockedUntilExpiry_ThenBack() (gas: 880116)\n[PASS] test_YoloWithRevertingDevPrices_SubmissionStillWorks() (gas: 1049681)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 41.34ms (16.28ms CPU time)\n\nRan 14 tests for test/Sweetener.t.sol:SweetenerTest\n[PASS] test_AcceptedDoerGetsTheBonusMinusFee() (gas: 6969640)\n[PASS] test_DoerWhoSweetened_StakeExtraOnTheBonus() (gas: 6970318)\n[PASS] test_ExpiredTaskReturnsTheBonus() (gas: 5535110)\n[PASS] test_IdleBeforeDeadlineLocked_AfterDeadlineBack(uint256) (runs: 256, μ: 346715, ~: 346538)\n[PASS] test_LockedWhileOpen_EvenAfterRejection_FreeAfterDeadline() (gas: 8460924)\n[PASS] test_NftDecidedRight_VotesGetFivePercent() (gas: 7893069)\n[PASS] test_NftWrong_SwarmAccepts_VotesGetNothing() (gas: 8540465)\n[PASS] test_PayoutGoesToTheAcceptedSubmissionOfThatTask() (gas: 11278226)\n[PASS] test_PayoutNeedsNoYoloPrice() (gas: 1159118)\n[PASS] test_RefusedInputs() (gas: 126930)\n[PASS] test_StakedDoer_FullPower_GetsFourMore() (gas: 6849455)\n[PASS] test_StakedDoer_NftRight_VotesFiveDoerFourMore() (gas: 7869341)\n[PASS] test_StakedDoer_PartPowerAndSmallPower() (gas: 11839539)\n[PASS] test_TinyAddon_NoBondPart_NothingStuck() (gas: 8875602)\nSuite result: ok. 14 passed; 0 failed; 0 skipped; finished in 130.32ms (112.89ms CPU time)\n\nRan 23 tests for test/YoloPredict.t.sol:YoloPredictTest\n[PASS] testFuzz_BurnedPlusPaidEqualsDeposited(uint256,uint256,uint256,bool) (runs: 256, μ: 1981843, ~: 1629332)\n[PASS] test_AuthorCanPredict() (gas: 716961)\n[PASS] test_BelowMinPositionReverts() (gas: 465546)\n[PASS] test_ClaimBeforeFinalReverts() (gas: 800951)\n[PASS] test_ClosesAtDeadline_PausesWhileBusy() (gas: 3223353)\n[PASS] test_CompletedTask_PotPaidOut_StillWillDoWon() (gas: 1655690)\n[PASS] test_ConstructorChecks() (gas: 4343)\n[PASS] test_ContributorAfterPosition_StillGetsHerFullSplitShare() (gas: 2401153)\n[PASS] test_Deferred_BurnedOnExpiry() (gas: 1311557)\n[PASS] test_Deferred_HalfToAuthorHalfToDoer() (gas: 2011828)\n[PASS] test_Deferred_NobodyOnWillDo_PoolToAuthorAndDoer() (gas: 1688794)\n[PASS] test_Doer_ClaimingFirst_StillGetsFullShare() (gas: 1883159)\n[PASS] test_Doer_PositionBeforeSubmission_GetsFullWinnerShare() (gas: 2037999)\n[PASS] test_Doer_SharesTheLosingPoolByPoints() (gas: 2129865)\n[PASS] test_EntrySplit_5_5_90() (gas: 776647)\n[PASS] test_EveryTaskHasADeadline() (gas: 755802)\n[PASS] test_NoCap_LargePositionAccepted() (gas: 2047466)\n[PASS] test_NoPriceNeeded_ImdAndUsdcRewards_MarketOpensAnyway() (gas: 1377626)\n[PASS] test_NumericExample_AliceBobCarl() (gas: 7779058)\n[PASS] test_RewardLockedUntilDeadline_WinnersPaidInFull() (gas: 2201617)\n[PASS] test_SweetenerAfterPosition_StillGetsFullShare() (gas: 2154297)\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 269.80ms (271.81ms CPU time)\n\nRan 2 tests for test/review/ReviewGasGrief.t.sol:ReviewGasGrief\n[PASS] test_CallSwarmWithTightGas_CannotSkipTheQuestion() (gas: 7996973)\nLogs:\n  callSwarm gas that skips the question: 0\n\n[PASS] test_PokeWithTightGas_CannotVoidAppeal() (gas: 3571466)\nLogs:\n  askAppealSwarm gas that voids the appeal: 0\n\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 418.84ms (257.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, μ: 2484489, ~: 2478966)\n[PASS] testFuzz_Invariant_BurnedPaidHeldEqualsDeposited(uint256,uint8,uint8) (runs: 256, μ: 3079034, ~: 2840105)\n[PASS] testFuzz_Invariant_NeverPaysOutMoreThanDeposited(uint256,uint256,uint256,bool) (runs: 256, μ: 1953281, ~: 1600835)\n[PASS] test_ClaimOrder_DoesNotAffectPayouts() (gas: 2147846)\n[PASS] test_Claim_BeforeFinal_WithAnActiveSubmissionInFlight_Reverts() (gas: 1378922)\n[PASS] test_Claim_ByAPureLoser_PaysZero_NoRevert() (gas: 1745562)\n[PASS] test_Claim_Twice_SecondReverts() (gas: 1806248)\n[PASS] test_DoerInSplit_ShareIndependentOfClaimOrder() (gas: 2669386)\n[PASS] test_DoerOnlyOnWillDo_TakesTheWholePool() (gas: 2223367)\n[PASS] test_Doer_SharesTheLosingPoolWithOtherWinners() (gas: 2600876)\n[PASS] test_Empty_LonePositionOnLosingSide_PoolToAuthorAndDoer() (gas: 1624992)\n[PASS] test_Empty_LonePositionOnWinningSide() (gas: 1614245)\n[PASS] test_Empty_NoMarketAtAll() (gas: 594872)\n[PASS] test_Extremes_DustPositionsPayExactly() (gas: 1830677)\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: 2119218)\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: 1796955)\n[PASS] test_Gate_PredictorBecomesDoer_SettleFirst() (gas: 1945365)\n[PASS] test_Invariant_ExactWeiAccounting_MixedScenario() (gas: 4456459)\n[PASS] test_Life_AcceptedOnFirstSubmission() (gas: 1969725)\n[PASS] test_Life_AllSubmissionsRejected_ThenExpired() (gas: 3240519)\n[PASS] test_Life_DisputeAppealSwarm_AllAfterDeadline() (gas: 4349385)\n[PASS] test_Life_MultipleSubmissionsQueuedAtDeadline() (gas: 4140999)\n[PASS] test_Life_RejectedThenAcceptedOnResubmission() (gas: 4028921)\n[PASS] test_Life_SubmissionSecondBeforeDeadline_JudgedAfterDeadline() (gas: 1868960)\n[PASS] test_Life_VoteTieNoQuorum_DefaultsToAccepted() (gas: 2671365)\n[PASS] test_Resolve_PermissionlessAndIdempotent_CanBeCalledRepeatedly() (gas: 1739275)\n[PASS] test_RewardLocked_IdleOrBusy() (gas: 1195155)\n[PASS] test_RewardOnlyGrows_MarketUnaffected() (gas: 1085710)\n[PASS] test_Settle_CalledTenTimes_StaysIdempotent() (gas: 2300576)\nSuite result: ok. 35 passed; 0 failed; 0 skipped; finished in 501.60ms (770.55ms CPU time)\n\nRan 9 tests for test/ContractRules.t.sol:ContractRulesTest\n[PASS] test_AddonInPowerBase_FullBonusOnBoth() (gas: 7408210)\n[PASS] test_BigAddon_BonusNeedsLockAgainstRewardPlusAddon() (gas: 12395522)\n[PASS] test_EthTopUpDuringCheck_PaidToTheDoer() (gas: 6802127)\n[PASS] test_FriendTopUp_BonusNeedsLockAgainstTheWholePool() (gas: 11980536)\n[PASS] test_Stake5PercentOfReward_Bonus02Percent() (gas: 6982314)\n[PASS] test_TinyStake_WholeBpsRoundedDown() (gas: 1966628)\n[PASS] test_TopUpDuringRejectedCheck_PaidToTheNextDoer() (gas: 10503853)\n[PASS] test_TopUpInPowerBase_BonusOnTheWholeReward() (gas: 7207365)\n[PASS] test_UsdcTopUpDuringCheck_InTheDoersPayout() (gas: 7043681)\nSuite result: ok. 9 passed; 0 failed; 0 skipped; finished in 499.96ms (60.49ms CPU time)\n\nRan 24 tests for test/Votes.t.sol:VotesTest\n[PASS] testFuzz_EachIdOnce(uint8,uint8) (runs: 256, μ: 3933425, ~: 3959564)\n[PASS] test_10Votes_DecideAtTheVoteEnd() (gas: 3407669)\n[PASS] test_5Votes_NoDecision() (gas: 321891)\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: 511585)\n[PASS] test_Instant_20Votes() (gas: 389147)\n[PASS] test_MockNft_MintBatch() (gas: 3160319)\n[PASS] test_NftInEscrow() (gas: 452347)\n[PASS] test_NftsGotAfterOpeningVote() (gas: 2219757)\n[PASS] test_NoVoteWithoutDispute() (gas: 782056)\n[PASS] test_NotOwnId_RevertsAll() (gas: 212538)\n[PASS] test_OneWallet_DecidesAlone() (gas: 1001805)\n[PASS] test_OneWallet_MinWinnerWallets() (gas: 4646449)\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: 14024638)\n[PASS] test_VoterRewardSplitByCorrectVotes() (gas: 7042393)\n[PASS] test_VotesAfterVoteEndRevert() (gas: 58437)\nSuite result: ok. 24 passed; 0 failed; 0 skipped; finished in 526.73ms (342.16ms CPU time)\n\nRan 5 tests for test/audit/AuditNoMandatoryCheck.t.sol:AuditNoMandatoryCheckTest\n[PASS] test_AppealOnlyAgainstAnNftDecision() (gas: 12992845)\n[PASS] test_NoCheck_AtAnyRewardSize() (gas: 3983748)\n[PASS] test_NoDoubleAppeal() (gas: 7307688)\n[PASS] test_NothingToAppeal_WithoutAnNftDecision() (gas: 6043867)\n[PASS] test_Undisputed_AcceptedByTimer_BondBack() (gas: 5887121)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 567.27ms (39.66ms CPU time)\n\nRan 8 tests for test/audit/AuditB.t.sol:AuditBTest\n[PASS] testFuzz_Guard_ModeAPaymentsBookExactly(uint256,uint96,uint96,bool) (runs: 256, μ: 7308794, ~: 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: 2885022)\n[PASS] test_Guard_LongestDueChainFitsOneCall() (gas: 10895819)\n[PASS] test_Guard_RevertingPinnedDevPricesNeverBlocksWithdrawals() (gas: 3992671)\n[PASS] test_Guard_ThirdPartyAnswerToACopiedQuestionCannotDecideOurCase() (gas: 9436626)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 713.37ms (982.67ms CPU time)\n\nRan 6 tests for test/BondBase.t.sol:BondBaseTest\n[PASS] test_Accepted_BondBackWithoutYolo() (gas: 7044946)\n[PASS] test_AuthorsTopUpDuringCheck_CountsOnceInThePot() (gas: 10792964)\n[PASS] test_EthRewardWithYoloAddon_BondIsImdPlusThreePercentEth() (gas: 1674586)\n[PASS] test_QueuedSubmission_BondFixedAtSubmission() (gas: 9407878)\n[PASS] test_Rejected_LoserBondSplitInImdAndEthOnly() (gas: 7719643)\n[PASS] test_TopUps_OnlyTheAuthorsCount() (gas: 7355526)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 645.82ms (38.75ms CPU time)\n\nRan 1 test for test/review/ReviewQueue.t.sol:ReviewQueue\n[PASS] testFuzz_QueueContributorsGetExactlyTheirs((uint8,uint256)) (runs: 256, μ: 9177739, ~: 8021305)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 788.88ms (765.65ms CPU time)\n\nRan 21 tests for test/BuybackWallet.t.sol:BuybackWalletTest\n[PASS] test_Balances_View() (gas: 712000)\n[PASS] test_BurnYolo_Anyone() (gas: 341374)\n[PASS] test_Constructor_StartWallet_AndZeroRefused() (gas: 34153)\n[PASS] test_EthAndImd_FullStake_WalletInTheirCurrency() (gas: 11291732)\n[PASS] test_EthWalletGriefsGas_PayoutStillSucceeds_ShareStaysInBurner() (gas: 7160357)\n[PASS] test_EthWalletReverts_PayoutStillSucceeds_ShareStaysInBurner() (gas: 7115515)\n[PASS] test_Forward_AnyoneOnlyToTheWallet_Totals() (gas: 947496)\n[PASS] test_Forward_EthRefused_StaysInTheBurner() (gas: 322027)\n[PASS] test_Forward_RefusesYoloAndUnknown() (gas: 285887)\n[PASS] test_FullStake_Accepted_Doer94_Wallet5_50_Treasury0_50() (gas: 6995650)\n[PASS] test_HalfStake_Accepted_Doer92_Wallet6_50_Treasury1_50() (gas: 6987443)\n[PASS] test_NftRight_FullStake_Wallet0_50() (gas: 7839033)\n[PASS] test_NftRight_NoStake_Wallet0() (gas: 7585417)\n[PASS] test_NftUndecided_FullStake_Wallet5_50() (gas: 7375576)\n[PASS] test_NftWrong_FullStake_Wallet5_50() (gas: 8806329)\n[PASS] test_NftWrong_NoStake_Wallet0() (gas: 8487214)\n[PASS] test_NoStake_Accepted_NothingToTheWallet() (gas: 6740669)\n[PASS] test_Rejected_NothingToTheWallet() (gas: 7583978)\n[PASS] test_SetBuybackWallet_OnlyDev_WithEvent() (gas: 518391)\n[PASS] test_YoloAddOn_BurnsNeverToTheWallet() (gas: 7150555)\n[PASS] test_YoloReward_FullStake_BurnsNeverToTheWallet() (gas: 6919673)\nSuite result: ok. 21 passed; 0 failed; 0 skipped; finished in 1.17s (100.25ms 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, μ: 9260597, ~: 9478469)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.23s (1.21s CPU time)\n\nRan 25 tests for test/Tasks.t.sol:TasksTest\n[PASS] test_AuthorCannotWithdrawOpenTask_SubmitWorks() (gas: 6689490)\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: 7474931)\n[PASS] test_DeadlineDuringSubmission_SubmissionStillRuns() (gas: 10454081)\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: 7063865)\n[PASS] test_NoDispute_ForeignMoney_24hWindow_ETH() (gas: 6932125)\n[PASS] test_NoDispute_IMDReward() (gas: 6642334)\n[PASS] test_NoDispute_StakeBonusAndBurn() (gas: 16397726)\n[PASS] test_NoDispute_YoloReward_TreasuryShareBurned() (gas: 11290366)\n[PASS] test_NoEscalation_SameBondAfterRejections() (gas: 5292816)\n[PASS] test_ParamBounds() (gas: 430781)\n[PASS] test_ParamChange_DoesNotAffectExistingTasks() (gas: 13847518)\n[PASS] test_ParamProposalCancel() (gas: 1336248)\n[PASS] test_PauseStopsOnlyNewTasks() (gas: 1281003)\n[PASS] test_Queue_FlatBondAndVoidRefund() (gas: 13135113)\n[PASS] test_QuoteBondFormula() (gas: 1949659)\n[PASS] test_TopUpDuringSubmission_PaidToDoerOnAcceptance() (gas: 7135550)\n[PASS] test_TopUpDuringSubmission_StaysInRewardAfterRejection() (gas: 10567712)\n[PASS] test_TopUpRightBeforeDeadline_LockedThenReturned() (gas: 4318320)\n[PASS] test_WithdrawRules() (gas: 12243562)\nSuite result: ok. 25 passed; 0 failed; 0 skipped; finished in 1.47s (180.73ms 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, μ: 10896633, ~: 9919632)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.47s (1.45s CPU time)\n\nRan 4 tests for test/extras/HiddenListSequence.invariant.t.sol:HiddenListSequenceInvariantTest\n[PASS] invariant_OneNftOneVoteAndOwnerStateHoldsAcrossTransfers() (runs: 128, calls: 12288, reverts: 0)\n\n╭---------------------------+----------+-------+---------+----------╮\n| Contract                  | Selector | Calls | Reverts | Discards |\n+===================================================================+\n| HiddenListSequenceHandler | delegate | 2055  | 0       | 0        |\n|---------------------------+----------+-------+---------+----------|\n| HiddenListSequenceHandler | retry    | 1959  | 0       | 0        |\n|---------------------------+----------+-------+---------+----------|\n| HiddenListSequenceHandler | setState | 2062  | 0       | 0        |\n|---------------------------+----------+-------+---------+----------|\n| HiddenListSequenceHandler | transfer | 2027  | 0       | 0        |\n|---------------------------+----------+-------+---------+----------|\n| HiddenListSequenceHandler | vote     | 2039  | 0       | 0        |\n|---------------------------+----------+-------+---------+----------|\n| HiddenListSequenceHandler | warp     | 2146  | 0       | 0        |\n╰---------------------------+----------+-------+---------+----------╯\n\n[PASS] test_DelegationFailureSkipsTokenAndDoesNotOpenRound() (gas: 70803)\n[PASS] test_DelegationRevocationAndTransferCannotRecycleTokenInRound() (gas: 597791)\n[PASS] test_ERC721ApprovalIsNotDelegateXyzPermission() (gas: 132395)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 1.53s (1.53s CPU time)\n\nRan 14 tests for test/extras/ExtrasFailurePaths.t.sol:ExtrasFailurePathsTest\n[PASS] testFuzz_CancellationRefundsBothSidesExactly(uint96,uint8) (runs: 512, μ: 1914136, ~: 1914235)\n[PASS] testFuzz_NoWinnerCompletedSendsPoolsAndOddWeiToRightRecipients(uint96) (runs: 512, μ: 789439, ~: 789479)\n[PASS] testFuzz_WeightMatchesRationalSquareWithinOneWei(uint96,uint32,uint32) (runs: 512, μ: 390507, ~: 390413)\n[PASS] test_EmptyChainModulesStayInertEvenIfVaultCodeAppearsLater() (gas: 6532344)\n[PASS] test_FailedAllowanceLeavesNoPositionOrBonusAccounting() (gas: 595066)\n[PASS] test_InsufficientBalanceRollsBackBothDeposits() (gas: 490823)\n[PASS] test_LaunchMinimumAndZeroBonusBoundaries() (gas: 636988)\n[PASS] test_RefundBelongsToDepositorAndCannotCrossTaskOrRepeat() (gas: 847663)\n[PASS] test_UnboundSweetenerCannotTakeMoney() (gas: 1756846)\n[PASS] test_UnderReviewBonusCanGrowButPositionCannot_ExactDeadlineLocksBoth() (gas: 799553)\n[PASS] test_UnknownTasksAndUnpaidVotersCannotTakeOtherTasksMoney() (gas: 770359)\n[PASS] test_VoterClaimCannotRedirectOrRepeatAndLastTakesDust() (gas: 1095763)\n[PASS] test_WholeYoloSupplyHasNoDepositCapAndUnwindsWithoutLoss() (gas: 920006)\n[PASS] test_ZeroWeiVoterShareStillConsumesVotesAndCannotClaimAgain() (gas: 909489)\nSuite result: ok. 14 passed; 0 failed; 0 skipped; finished in 4.20s (8.41s CPU time)\n\nRan 51 tests for test/Disputes.t.sol:DisputesTest\n[PASS] test_Appeal_ActionNotSold() (gas: 6864950)\n[PASS] test_Appeal_ByDoerSide_Flip() (gas: 7695626)\n[PASS] test_Appeal_IntakeReverts_AppealVoided() (gas: 7415819)\n[PASS] test_Appeal_LateAnswerAfterSilenceIgnored() (gas: 8067389)\n[PASS] test_Appeal_NeverAsked_ThirdTimeEndsUncalled() (gas: 7704884)\n[PASS] test_Appeal_NeverAsked_TimesOut() (gas: 7254853)\n[PASS] test_Appeal_PriceRaised_AppealVoided() (gas: 7281302)\n[PASS] test_Appeal_Silent_DecisionStands_NewWindow() (gas: 8170909)\n[PASS] test_Appeal_Silent_ReappealFlips() (gas: 8888121)\n[PASS] test_Appeal_SwarmAgrees() (gas: 8168399)\n[PASS] test_Appeal_SwarmFlips_NoFeeRefund_WinnerTakesAll() (gas: 7835871)\n[PASS] test_Appeal_WindowClosed() (gas: 1082635)\n[PASS] test_CallSwarm_ActionNotSold_DefaultStands() (gas: 6416174)\n[PASS] test_CallSwarm_LowerPrice_NoFeeRefund() (gas: 7311523)\n[PASS] test_CallSwarm_WrongPhase() (gas: 599859)\n[PASS] test_ClaimsPlayTimersThemselves_NoPokeNeeded() (gas: 6560880)\n[PASS] test_ContributorAppellantWins_GetsHisShareLikeAnyWinner() (gas: 8068250)\n[PASS] test_ContributorDisputerWins_SameShareAsAnyDisputer() (gas: 6980660)\n[PASS] test_ContributorDoerWins_GetsHisShareLikeAnyWinner() (gas: 11143859)\n[PASS] test_DisputeWindowClosedAndLimits() (gas: 1668402)\n[PASS] test_Dispute_NftAccepts_Fee5To5_Bond5050() (gas: 7024703)\n[PASS] test_Dispute_NftRejects_BondSplit5050() (gas: 6895652)\n[PASS] test_DisputerWhoTopsUpLater_StillGetsHisFullShare() (gas: 6838820)\n[PASS] test_DoerReply() (gas: 1579286)\n[PASS] test_InstantDecision_FiresOnceTheDeltaIsCrossed() (gas: 8335359)\n[PASS] test_NoDecision_CallAfterWindow_Reverts() (gas: 6537095)\n[PASS] test_NoDecision_CallSwarm_Accepts_CallerLosesBondAndFee() (gas: 7481047)\n[PASS] test_NoDecision_CallSwarm_Rejects_CallerGetsOnlyHisShare() (gas: 7697383)\n[PASS] test_NoDecision_DoerCallsSwarm_Confirmed() (gas: 7428970)\n[PASS] test_NoDecision_DoerCallsSwarm_Rejected() (gas: 7271636)\n[PASS] test_NoDecision_NobodyCalls_Accepted_DisputerBondsAllToDoer() (gas: 7554835)\n[PASS] test_NoDecision_SilentStatus2_NobodyCallsAgain_GeneralRule() (gas: 7793583)\n[PASS] test_NoDecision_SilentTimeout_WindowFromSilence() (gas: 7502717)\n[PASS] test_NoDecision_Silent_CalledAgain_Answers_NoFeeRefund() (gas: 8542350)\n[PASS] test_SilenceLoop_ThirdSilenceEndsTheCase() (gas: 9562421)\n[PASS] test_Stake_ContributedAfterSubmission_StillGetsBonus() (gas: 10735413)\n[PASS] test_Stake_EthAndImdBurnShareToBurner() (gas: 15023286)\n[PASS] test_Stake_FullPower_NftRight_VotesFive_BurnHalf_TreasuryHalf() (gas: 11405528)\n[PASS] test_Stake_FullPower_NftUndecided_BurnFiveAndHalf() (gas: 10916899)\n[PASS] test_Stake_FullPower_NoDispute_Bonus_AndBurnToBurner() (gas: 10514541)\n[PASS] test_Stake_LockEndedBeforePayout_NoBonus_RelockCounts() (gas: 15290084)\n[PASS] test_Stake_LockedInTheSubmissionBlock_NoBonus() (gas: 6869805)\n[PASS] test_Stake_None_FeeToTreasury() (gas: 10257787)\n[PASS] test_Stake_PartPower_NoDispute() (gas: 10513063)\n[PASS] test_Stake_ToppedUpAfterSubmission_OnlyThePowerBeforeCounts() (gas: 10601362)\n[PASS] test_SwarmFees_NoRefund_TwoSilencesThenAnswer() (gas: 14443879)\n[PASS] test_SwarmFees_WinnerSideOnly_DoerSilentCallRefunded() (gas: 12768813)\n[PASS] test_ThirdSilence_Decided_NftDecisionStands() (gas: 10224547)\n[PASS] test_ThirdSilence_NoDecision_AcceptedDisputerBondToDoer() (gas: 9645429)\n[PASS] test_YoloReward_FeeSplitsLikeAnyReward_Votes5_Doer4_Burner1() (gas: 11466352)\n[PASS] test_YoloReward_TreasuryPartToBurner_FullPowerSix() (gas: 15102117)\nSuite result: ok. 51 passed; 0 failed; 0 skipped; finished in 4.24s (391.04ms CPU time)\n\nRan 8 tests for test/review/ReviewSplitRegression.t.sol:ReviewSplitRegression\n[PASS] test_events_EmitterMap() (gas: 22686546)\n[PASS] test_golden_AcceptedAfterDispute_NftRight() (gas: 9759886)\nLogs:\n  ledger after settlement: 0x4830ea4fcc6dc5027c1f37bcad5852e0b11e2b542d5bf3a1b4e0bf9f8b5d8d55\n  settlement record: 0xa4018a5ae1f016fc869c28d2e27ea22d88e1d937e0efb0592baa756f921319ad\n  ledger after every payout: 0x65dcffba9fa5f218c43b4c3f810b8d61e0676b615cd88c2200be717a94fa422b\n\n[PASS] test_golden_AppealSwarmOverturnsNft() (gas: 10296352)\nLogs:\n  ledger after settlement: 0x08d27cc2a8693d93d430a64d7a89b5d993f0bc3aaa0f468e9d26ec43c1adc65d\n  settlement record: 0x7d5a35e896f5cc60c3cebee7443c57120a4abf9130d2d794c36a86769c152705\n  ledger after every payout: 0x808551d4f18f1c9f9021bde675a4cd14dd60e843467f3bfd666fd1221b8bddd1\n\n[PASS] test_golden_CallSwarmSilentThenCalledAgain() (gas: 10586714)\nLogs:\n  ledger after settlement: 0x38cc28fed888cc3bcd65c4d5b72aa4ec16f7b4731c45419596c21cda6e366d7a\n  settlement record: 0x12641fdf0b0d28314e7cdd711051407e007d2e0d2c3006ec555db150a1bb11c5\n  ledger after every payout: 0xa82fdb047f774ed464eb049c7e6b261d5bc214d5978856d853700b07460f2f09\n\n[PASS] test_golden_RejectedThenQueuedAccepted() (gas: 11974220)\nLogs:\n  ledger after settlement: 0x76984c0edfd7138e1eeafbca442dc75eac4cdca48dfce84a332a3dbe3eb570fd\n  settlement record: 0xdb27e0d67237b840a3897b3e94d0bc38e88d80d4f00b209c05909985a9e9b9f4\n  ledger after every payout: 0xf9dbd032a0ab92846b8ead6e767bad8491ba22ce779070f3e67373d796740420\n\n[PASS] test_golden_UndecidedNobodyCallsSwarm() (gas: 8826055)\nLogs:\n  ledger after settlement: 0xbb589401078dd43b88cbc7c1c174981c2ee68b3027a30d9ffdcf05a917cc491d\n  settlement record: 0x880d35a1a6c101757740019ffe504083f1353824cf6c05eb99c4e48fe76bf58a\n  ledger after every payout: 0x4755fc921943fe650cc0871884c69218df089678208e1ea5cc2d2410865f21ce\n\n[PASS] test_minor_HeaviestLazyStepGasCost() (gas: 3853867)\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 4.30s (77.75ms CPU time)\n\nRan 3 tests for test/extras/ExtrasMetadataAndDirectory.t.sol:ExtrasDirectoryTest\n[PASS] testFuzz_ReplacingProposalRestartsFullDelayAndNeverMutatesOldVersion(uint32) (runs: 256, μ: 556446, ~: 556355)\n[PASS] test_CodeCheckAtExecutionPreservesProposalOnFailure() (gas: 400813)\n[PASS] test_CurrentReplacementHasIndependentDelayAndFailedExecuteRemainsPending() (gas: 644350)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 4.24s (4.24s CPU time)\n\nRan 21 tests for test/Swarm.t.sol:SwarmTest\n[PASS] testFuzz_NoMandatoryCheck_AnyRewardSize(uint256,uint8) (runs: 256, μ: 795578, ~: 780843)\n[PASS] test_ActionNotSold_LargeSubmitStillWorks() (gas: 11068046)\n[PASS] test_AnswerAfterSilenceIgnored() (gas: 6384901)\n[PASS] test_AnswerSignedEarly_DeliveredLate_Counts() (gas: 6117412)\n[PASS] test_AttesterRotationTimelocked() (gas: 2407753)\n[PASS] test_CallSwarm_IntakeBroken_Reverts_NothingTaken() (gas: 1713833)\n[PASS] test_CallbackGasUnder100k() (gas: 215712)\nLogs:\n  callback gas: 40971\n\n[PASS] test_CallbackSelectorMatchesDocs() (gas: 734)\n[PASS] test_DuplicateAnswerIgnored_FirstWins() (gas: 6128531)\n[PASS] test_IntakeBroken_LargeSubmitUnaffected() (gas: 10579636)\n[PASS] test_LargeTask_DisputedAtOnce_Rejected() (gas: 11211806)\n[PASS] test_LargeTask_DisputedNftAccepts_Fee5To5() (gas: 11338555)\n[PASS] test_LargeTask_QueuedSubmission_ActivatedWithoutQuestion() (gas: 14303673)\n[PASS] test_LateAnswerIgnored_Timeout() (gas: 6338981)\n[PASS] test_LostCallback_IsSilence_NoPublicFallback() (gas: 6459985)\n[PASS] test_NoMandatoryCheck_ImdTask_NoDispute_AcceptedBondBack() (gas: 10546065)\n[PASS] test_NoMandatoryCheck_MaxReward_NothingAsked_AcceptedByTimer() (gas: 10504745)\n[PASS] test_NoPublicFallback_ForAnyAttestation() (gas: 314688)\n[PASS] test_RefusedBody_Status1_IsSilence() (gas: 6208364)\n[PASS] test_RequestShapeAndBody() (gas: 4786430)\n[PASS] test_SpoofedCallbackIgnored() (gas: 494288)\nSuite result: ok. 21 passed; 0 failed; 0 skipped; finished in 4.31s (244.17ms CPU time)\n\nRan 2 tests for test/VotePowerFuzz.t.sol:VotePowerFuzzTest\n[PASS] testFuzz_OneVotePerNft(uint256) (runs: 256, μ: 99032202, ~: 102993851)\n[PASS] test_OneVotePerNft_Fixed() (gas: 387111140)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 4.42s (4.65s CPU time)\n\nRan 2 tests for test/extras/ExtrasAccounting.invariant.t.sol:ExtrasAccountingInvariantTest\n[PASS]\nExtrasAccountingInvariantTest invariants:\n[PASS] invariant_BonusBalanceEqualsBonusesAndUnclaimedVotes\n[PASS] invariant_MarketBalanceEqualsOutstandingLiabilities\n[PASS] invariant_TokensStayWithParticipantsRecipientsOrEscrows\n ExtrasAccountingInvariantTest invariants (runs: 128, calls: 12288, reverts: 0)\n\n╭-------------------------+-------------+-------+---------+----------╮\n| Contract                | Selector    | Calls | Reverts | Discards |\n+====================================================================+\n| ExtrasAccountingHandler | claim       | 984   | 0       | 0        |\n|-------------------------+-------------+-------+---------+----------|\n| ExtrasAccountingHandler | claimVoter  | 1029  | 0       | 0        |\n|-------------------------+-------------+-------+---------+----------|\n| ExtrasAccountingHandler | finish      | 1043  | 0       | 0        |\n|-------------------------+-------------+-------+---------+----------|\n| ExtrasAccountingHandler | open        | 1047  | 0       | 0        |\n|-------------------------+-------------+-------+---------+----------|\n| ExtrasAccountingHandler | payout      | 1008  | 0       | 0        |\n|-------------------------+-------------+-------+---------+----------|\n| ExtrasAccountingHandler | predict     | 966   | 0       | 0        |\n|-------------------------+-------------+-------+---------+----------|\n| ExtrasAccountingHandler | probeLocked | 1023  | 0       | 0        |\n|-------------------------+-------------+-------+---------+----------|\n| ExtrasAccountingHandler | review      | 1071  | 0       | 0        |\n|-------------------------+-------------+-------+---------+----------|\n| ExtrasAccountingHandler | settle      | 962   | 0       | 0        |\n|-------------------------+-------------+-------+---------+----------|\n| ExtrasAccountingHandler | sweeten     | 1050  | 0       | 0        |\n|-------------------------+-------------+-------+---------+----------|\n| ExtrasAccountingHandler | warp        | 1048  | 0       | 0        |\n|-------------------------+-------------+-------+---------+----------|\n| ExtrasAccountingHandler | withdraw    | 1057  | 0       | 0        |\n╰-------------------------+-------------+-------+---------+----------╯\n\n[PASS] test_HandlerExercisesEveryOutcomeAndVoterDust() (gas: 3643497)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 15.28s (15.27s 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               | 506   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | appeal               | 588   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | askAppealSwarm       | 571   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | breakIntake          | 540   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | callSwarm            | 533   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | claim                | 584   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | createTask           | 534   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | dispute              | 507   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | expireAndWithdraw    | 572   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | lock                 | 520   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | mintTrophy           | 520   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | payoutBonus          | 521   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | poke                 | 540   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progress             | 544   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressA            | 503   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressB            | 538   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressC            | 537   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressD            | 557   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | setIntakePrice       | 520   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | submit               | 514   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | sweep                | 546   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | sweeten              | 527   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | topUp                | 529   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | vote                 | 524   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | warp                 | 508   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawBonus        | 535   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawContribution | 528   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawLock         | 554   | 0       | 0        |\n╰----------+----------------------+-------+---------+----------╯\n\nLogs:\n  createTask: 5\n  topUp: 4\n  submit: 0\n  dispute: 0\n  vote: 0\n  appeal: 0\n  breakIntake: 6\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: 0\n  withdrawBonus: 0\n  payoutBonus: 0\n  mintTrophy: 0\n  lock: 5\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.58s (18.57s CPU time)\n\nRan 1 test for test/extras/TrophySequence.invariant.t.sol:TrophySequenceInvariantTest\n[PASS] invariant_EachTrophyBurnsExactlyOnceAndKeepsItsDesignAndMetadata() (runs: 128, calls: 8192, reverts: 0)\n\n╭-----------------------+--------------+-------+---------+----------╮\n| Contract              | Selector     | Calls | Reverts | Discards |\n+===================================================================+\n| TrophySequenceHandler | changeDesign | 1563  | 0       | 0        |\n|-----------------------+--------------+-------+---------+----------|\n| TrophySequenceHandler | mint         | 1687  | 0       | 0        |\n|-----------------------+--------------+-------+---------+----------|\n| TrophySequenceHandler | transfer     | 1647  | 0       | 0        |\n|-----------------------+--------------+-------+---------+----------|\n| TrophySequenceHandler | unauthorized | 1655  | 0       | 0        |\n|-----------------------+--------------+-------+---------+----------|\n| TrophySequenceHandler | warp         | 1640  | 0       | 0        |\n╰-----------------------+--------------+-------+---------+----------╯\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 29.21s (29.21s CPU time)\n\nRan 96 test suites in 29.25s (103.44s CPU time): 723 tests passed, 0 failed, 4 skipped (727 total tests)\n","passed":true},{"durationMs":237,"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\":122,\"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\":126,\"src/DareTrophy.sol\":222,\"src/DevPrices.sol\":129,\"src/HiddenList.sol\":304,\"src/OracleAttestation.sol\":57,\"src/ParamsRegistry.sol\":216,\"src/ProtocolDirectory.sol\":177,\"src/TaskVault.sol\":844,\"src/TrophyCatalog.sol\":119,\"src/VaultParams.sol\":250,\"src/VaultTypes.sol\":450,\"src/VotePower.sol\":52,\"src/YoloLockHub.sol\":155,\"src/YoloPredict.sol\":305,\"src/YoloSweetener.sol\":177,\"src/adapters/UniswapV3SwapAdapter.sol\":71,\"src/desks/CaseDesk.sol\":556,\"src/desks/Desk.sol\":143,\"src/desks/DeskApi.sol\":137,\"src/desks/DisputeDesk.sol\":807,\"src/helpers/AttestationChecker.sol\":59,\"src/helpers/SwarmQuestion.sol\":177,\"src/helpers/TextRules.sol\":245,\"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\":115,\"src/token/ProjectVesting.sol\":104,\"src/token/Vestings.sol\":38,\"src/token/YoloSplitter.sol\":103,\"src/token/YoloToken.sol\":176,\"test/Base.t.sol\":658,\"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\":223,\"test/DisputeLinkOptional.t.sol\":82,\"test/Disputes.t.sol\":1309,\"test/Emergency.t.sol\":76,\"test/Evidence.t.sol\":338,\"test/ExtrasBareChain.t.sol\":91,\"test/Gas.t.sol\":183,\"test/GasTextSize.t.sol\":108,\"test/HiddenList.t.sol\":762,\"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\":734,\"test/YoloTokenBareChain.t.sol\":130,\"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/extras/ADAPTATION.md\":17,\"test/extras/ExtrasAccounting.invariant.t.sol\":382,\"test/extras/ExtrasFailurePaths.t.sol\":306,\"test/extras/ExtrasFixture.sol\":204,\"test/extras/ExtrasMetadataAndDirectory.t.sol\":280,\"test/extras/HiddenListSequence.invariant.t.sol\":259,\"test/extras/README.md\":35,\"test/extras/TrophySequence.invariant.t.sol\":128,\"test/fork/ExtrasOnLiveCore.fork.t.sol\":149,\"test/fork/LaunchForkBase.sol\":193,\"test/fork/LaunchRehearsal.fork.t.sol\":1173,\"test/fork/UniswapV3AdapterFork.t.sol\":37,\"test/mocks/BaseVaultDeployer.sol\":30,\"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":"289374fb94406bb9eeb047ccd1c2975470a1db5ee096a07424d33e4c8330a1f0","verifiedTreeHash":"f00b5b5141c2eeef05c86273b106076db19c64a7","verifierVersion":"0.1.0+560ab6a2"},{"checks":[{"durationMs":577621,"exitCode":0,"name":"build","output":"Compiling 179 files with Solc 0.8.28\nSolc 0.8.28 finished in 577.36s\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:183:5:\n    |\n183 |     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:183:5:\n    |\n183 |     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":18798,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\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 536.30µs (165.49µ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 611.13µs (268.89µs 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.43ms (0.00ns 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 2.93ms (2.77ms 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 2.69ms (2.36ms CPU time)\n\nRan 1 test for test/audit/AuditA.t.sol:AuditAUnit\n[PASS] test_Guard_vestingClocksStartAtTheSplit() (gas: 4074385)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 5.22ms (1.72ms 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 5.94ms (1.18ms 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 8.52ms (2.52ms 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: 37762549)\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 4526 runtime, margin 20050\n  YoloLockHub 3297 runtime, margin 21279\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 4721 runtime, margin 19855\n  HiddenList 3815 runtime, margin 20761\n  YoloPredict 6385 runtime, margin 18191\n\n[PASS] test_L2_docLaunch1Args_matchPlan() (gas: 894953)\n[PASS] test_L3_docLaunch2Args_matchPlan() (gas: 1362448)\n[PASS] test_L5_docLaunch3Args_matchPlan() (gas: 686264)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 17.83ms (16.55ms 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 13.38ms (4.37ms 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 21.35ms (830.42µ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 3.15ms (2.98ms 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 935.34µs (872.52µs 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 22.53ms (3.27ms 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 17.76ms (1.81ms 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 27.42ms (9.16ms 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 27.63ms (5.38ms 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 35.52ms (10.07ms 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 17.35ms (431.11µ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 44.19ms (19.05ms 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 52.39ms (33.25ms 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 31.64ms (10.05ms 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 55.62ms (11.03ms 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 58.48ms (25.49ms CPU time)\n\nRan 7 tests for test/Directory.t.sol:DirectoryTest\n[PASS] test_CancelVersionClearsPendingVersionView() (gas: 762080)\n[PASS] test_ConstructorChecks() (gas: 6526)\n[PASS] test_CurrentMayGoBack() (gas: 591679)\n[PASS] test_OnlySafeProposesAndCancels() (gas: 600024)\n[PASS] test_ProposalChecks() (gas: 217548)\n[PASS] test_V2SideBySide_AfterTimelock() (gas: 7796545)\n[PASS] test_Version1FromConstructor() (gas: 66747)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 55.03ms (18.83ms 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 151.66µs (29.04µs 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 62.20ms (28.43ms 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 68.05ms (40.61ms 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 23.59ms (7.70ms 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 6.92ms (6.81ms 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 435.49µs (325.34µ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 79.50ms (53.54ms 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 80.75ms (59.39ms 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 26.91ms (4.19ms 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 27.28ms (2.44ms 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 85.93ms (108.54ms 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 90.32ms (23.94ms 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: 9207608)\nLogs:\n  YoloSweetener 6748 runtime bytes\n  TrophyCatalog 4228 runtime bytes\n  DareTrophy 11777 runtime bytes\n  ProtocolDirectory 4721 runtime bytes\n  HiddenList 3815 runtime bytes\n  YoloPredict 6385 runtime bytes\n  launch 3 execution gas 8714238\n  launch 3 calldata bytes 43172\n  launch 3 total gas (upper bound) 9425990\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 91.65ms (73.15ms 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.18ms (0.00ns CPU time)\n\nRan 47 tests for test/HiddenList.t.sol:HiddenListTest\n[PASS] test_10Of10NftsPassesAfterRoundEnd() (gas: 1666886)\n[PASS] test_2Of3WalletsDoesNotPassEvenWith10Nfts() (gas: 825347)\n[PASS] test_3Of3WalletsWith10NftsPasses() (gas: 929019)\n[PASS] test_9Of10NftsDoesNotPass() (gas: 1505324)\n[PASS] test_AllBadTokenIdsDoesNotOpenARound() (gas: 131946)\n[PASS] test_ConstructorAllowsZeroDelegateRegistry() (gas: 7024)\n[PASS] test_ConstructorFixesOwnerNoTransferFunction() (gas: 17198)\n[PASS] test_ConstructorRejectsZeroOwnerOrNft() (gas: 9339)\n[PASS] test_ContestAtFullQuorumThreeOwnersStillBuysCooldown() (gas: 2567908)\n[PASS] test_DelegateXyzDelegateCanVote() (gas: 267646)\n[PASS] test_EmptyTokenIdsDoesNotOpenARound() (gas: 41527)\n[PASS] test_EthWithDataReverts() (gas: 37873)\n[PASS] test_FailedRoundCanRetryAfter7Days() (gas: 2009478)\n[PASS] test_FailedRoundCannotRetryBefore7Days() (gas: 3173731)\n[PASS] test_GasNftHolderVote1NftLaterVote() (gas: 312478)\nLogs:\n  NFT holder vote, 1 NFT (later vote): 50089\n\n[PASS] test_GasNftHolderVote1NftOpensRound() (gas: 209804)\nLogs:\n  NFT holder vote, 1 NFT (opens a round): 130352\n\n[PASS] test_GasOwnerHides1Item() (gas: 61100)\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: 94246)\nLogs:\n  owner unhides 1 item: 32830\n\n[PASS] test_HideVoteEventCarriesVaultKindId() (gas: 211599)\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: 206219)\n[PASS] test_OwnerOfNftCanVote() (gas: 212485)\n[PASS] test_OwnerOverridesAPassedVoteBackToVisible() (gas: 1711534)\n[PASS] test_OwnerRestoreVisibleStartsCooldown() (gas: 1813413)\n[PASS] test_PlainEthTransferReverts() (gas: 36475)\n[PASS] test_SameIdDifferentVaultsAreIndependent() (gas: 70459)\n[PASS] test_SameWalletMoreNftsLaterAddToTallyNotWallets() (gas: 313708)\n[PASS] test_SelfContestAtNftQuorumOneOwnerDoesNotBuyCooldown() (gas: 1068223)\n[PASS] test_SelfContestRepeatsEvery8DaysHonestVoteStillCounts() (gas: 4125678)\n[PASS] test_SelfContestUnderQuorumDoesNotBlockHonestVoteNextDay() (gas: 2011009)\n[PASS] test_SetStateEmitsStateSetWithVaultKindId() (gas: 61751)\n[PASS] test_SetStateInstantNoTimelock() (gas: 63017)\n[PASS] test_SetStateRejectsBadStateValue() (gas: 32653)\n[PASS] test_StatusHiddenOnlyAfterRoundEndEvenIfQuorumAlreadyMet() (gas: 1690092)\n[PASS] test_StrangerCannotVoteWithSomeoneElsesNft() (gas: 132587)\n[PASS] test_TaskAndProofKindsAreIndependent() (gas: 69887)\n[PASS] test_TieHideEqualsKeepDoesNotPass() (gas: 3042317)\n[PASS] test_TokenIdCountsOnceInARound() (gas: 243556)\n[PASS] test_UncontestedFailedRoundRetriesAtOnce() (gas: 570458)\n[PASS] test_VotePassingCannotUnhideAnOwnerHiddenItem() (gas: 1036411)\n[PASS] test_WalletKeepsOneSidePerRoundOtherSideSkipped() (gas: 295471)\nSuite result: ok. 47 passed; 0 failed; 0 skipped; finished in 14.58ms (14.04ms 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 33.34ms (7.37ms 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 58.48ms (36.80ms 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 24.09ms (1.91ms CPU time)\n\nRan 2 tests for test/review/ReviewYolo.t.sol:ReviewYoloUnit\n[PASS] test_vestingStreamsFromArrivalWithoutACliff() (gas: 897245)\n[PASS] test_whitelistRefusesOutputTakenToARouter() (gas: 1179429)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 986.32µs (826.06µs 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 58.77ms (40.81ms 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: 7001842)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 31.46ms (14.07ms CPU time)\n\nRan 2 tests for test/audit/StakePowerRelock.t.sol:StakePowerRelockTest\n[PASS] test_RelockOfAnEndedLockGivesNoStakePower() (gas: 241519)\n[PASS] test_WithdrawThenLockGivesZero_reference() (gas: 303292)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 500.83µs (216.35µs CPU time)\n\nRan 2 tests for test/ExtrasBareChain.t.sol:ExtrasBareChainTest\n[PASS] test_BareChain_NoVaultCode_AllSixDeploy() (gas: 9203752)\n[PASS] test_BareChain_NoVaultCode_ModulesInert() (gas: 9223556)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 1.96ms (1.57ms CPU time)\n\nRan 1 test for test/fork/ExtrasOnLiveCore.fork.t.sol:ExtrasOnLiveCoreForkTest\n[SKIP: skipped] setUp() (gas: 0)\nSuite result: ok. 0 passed; 0 failed; 1 skipped; finished in 414.71µs (0.00ns CPU time)\n\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\nWarning: the following cheatcode(s) are deprecated and will be removed in future versions:\n  lastCallGas(): replaced by `lastFrameGas`\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 56.57ms (20.95ms 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 17.74ms (1.07ms 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 24.90ms (7.26ms CPU time)\n\nRan 34 tests for test/YoloToken.t.sol:YoloTokenTest\n[PASS] test_AfterMinute60_PlainErc20() (gas: 137108)\n[PASS] test_BeforeOpenAt_NobodyBuys() (gas: 752448)\n[PASS] test_ConstructorRejectsZeroPoolManagerOrSafe() (gas: 9166)\n[PASS] test_DevVesting_Linear12Months_NoCliff() (gas: 992024)\n[PASS] test_GateWithoutCode_PlainErc20() (gas: 280536)\n[PASS] test_Gate_ConsumeNeedsSealAndBooksPerCallingToken() (gas: 464018)\n[PASS] test_Gate_OnlyWriterRecordsAndSeals() (gas: 217032)\n[PASS] test_Gate_RecordChecksAndEvents() (gas: 564790)\n[PASS] test_Gate_SealIsIrreversible() (gas: 348173)\n[PASS] test_GenesisLaunch_SharesAddUp() (gas: 4276159)\n[PASS] test_IncentivesVesting_QuarterAtOnce_RestLinear24Months() (gas: 966982)\n[PASS] test_OpenAtBounds() (gas: 8963)\n[PASS] test_SealAtOpenAtDoesNotCount() (gas: 256878)\n[PASS] test_SellTax_BuyFreeSellTaxedInWindow_BothAt45() (gas: 564926)\n[PASS] test_SellTax_ExactAmounts() (gas: 1063766)\n[PASS] test_SellTax_OnTopOfBalanceAndAllowance() (gas: 480636)\n[PASS] test_SellTax_RoundsDownAndDustIsFree() (gas: 119004)\n[PASS] test_Snapshot_NftMovedAfterSnapshotGivesNothing() (gas: 504446)\n[PASS] test_Splitter_FixedSharesAndDustToTreasury() (gas: 497623)\n[PASS] test_Splitter_RejectsZeroAddresses() (gas: 5083)\n[PASS] test_Splitter_RemainderShortOf750M() (gas: 274291)\n[PASS] test_SupplyAndFixedSchedule() (gas: 67082)\n[PASS] test_Tax_ExactAmounts() (gas: 793640)\n[PASS] test_Tax_RoundsDownAndDustIsFree() (gas: 80188)\n[PASS] test_TeamVesting_Linear12Months_NoCliff() (gas: 838186)\n[PASS] test_TransfersAndTheLauncherAreFree() (gas: 770367)\n[PASS] test_TreasuryVesting_ShortRemainder() (gas: 145876)\n[PASS] test_TreasuryVesting_ThirdAtOnce_RestLinear12Months() (gas: 953436)\n[PASS] test_UnsealedSnapshot_WindowClosedToAll() (gas: 421448)\n[PASS] test_VestingBounds() (gas: 4331)\n[PASS] test_Whitelist_AllowancePerNftAndCumulative() (gas: 645735)\n[PASS] test_Whitelist_BoundaryAtMinute30() (gas: 408484)\n[PASS] test_Whitelist_IntermediaryRefused() (gas: 369643)\n[PASS] test_Whitelist_WalletOutsideSnapshotRefused() (gas: 283012)\nSuite result: ok. 34 passed; 0 failed; 0 skipped; finished in 10.42ms (9.13ms 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 20.42ms (1.79ms 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 579.23µs (195.65µs CPU time)\n\nRan 2 tests for test/YoloTokenBareChain.t.sol:YoloTokenBareChainTest\n[PASS] test_BareChain_NoGateCode_PlainErc20() (gas: 894036)\n[PASS] test_GateCode_ScheduleAsBefore() (gas: 2087834)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 1.44ms (1.29ms CPU time)\n\nRan 1 test for test/audit/round2/Proof_5d8c4edc729c.t.sol:HiddenListCooldownGriefTest\n[PASS] test_oneNftBlocksHonestHidersForAWeek() (gas: 1780686)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 809.72µs (552.69µs 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.68ms (1.29ms CPU time)\n\nRan 22 tests for test/YoloLockHub.t.sol:YoloLockHubTest\n[PASS] testFuzz_LockThenWithdrawReturnsExactAmount(uint256,uint256) (runs: 256, μ: 272458, ~: 272289)\n[PASS] testFuzz_PowerConstantThroughTheTerm(uint256,uint256,uint256) (runs: 256, μ: 151085, ~: 151147)\n[PASS] test_ConstructorTakesYolo() (gas: 18365)\n[PASS] test_EndOnlyLater_AmountOnlyGrows() (gas: 485049)\n[PASS] test_EndedLockLockedAgain() (gas: 477126)\n[PASS] test_LockAndWithdrawAfterTheEnd() (gas: 390877)\n[PASS] test_LockTermsAndZero() (gas: 406871)\n[PASS] test_PowerAt_ReadsTheLockStrictlyBefore() (gas: 698855)\n[PASS] test_Power_AddAndExtend() (gas: 868276)\n[PASS] test_Power_FixedAtTheLock_DoesNotFall() (gas: 464128)\n[PASS] test_Power_RollingOneWeekExtensionDropsToOneWeek() (gas: 698967)\n[PASS] test_Rule_QueuedDoer_PowerAtTheSubmission() (gas: 3240328)\n[PASS] test_StakePower_RunningLockOnly() (gas: 516879)\n[PASS] test_Vault_AddedAfterTheSubmission_NotCounted() (gas: 7092698)\n[PASS] test_Vault_LockEndedBeforePayout_NoBonus_RelockedBonus() (gas: 11466280)\n[PASS] test_Vault_LockedInTheSubmissionBlockOrLater_NoBonus() (gas: 11389415)\n[PASS] test_Vault_LowestPriceOfTheWindow() (gas: 1473781)\n[PASS] test_Vault_NoYoloPrice_NoBonus() (gas: 1366602)\n[PASS] test_Vault_PowerEqualsReward_Bonus4() (gas: 7007966)\n[PASS] test_Vault_PowerHalfTheReward_Bonus2() (gas: 6966740)\n[PASS] test_Vault_RelativeToTheReward() (gas: 16090127)\n[PASS] test_Vault_YoloReward_Direct() (gas: 6881934)\nSuite result: ok. 22 passed; 0 failed; 0 skipped; finished in 132.75ms (112.22ms CPU time)\n\nRan 9 tests for test/ContractRules.t.sol:ContractRulesTest\n[PASS] test_AddonInPowerBase_FullBonusOnBoth() (gas: 7407934)\n[PASS] test_BigAddon_BonusNeedsLockAgainstRewardPlusAddon() (gas: 12394850)\n[PASS] test_EthTopUpDuringCheck_PaidToTheDoer() (gas: 6801929)\n[PASS] test_FriendTopUp_BonusNeedsLockAgainstTheWholePool() (gas: 11980041)\n[PASS] test_Stake5PercentOfReward_Bonus02Percent() (gas: 6982137)\n[PASS] test_TinyStake_WholeBpsRoundedDown() (gas: 1966430)\n[PASS] test_TopUpDuringRejectedCheck_PaidToTheNextDoer() (gas: 10503358)\n[PASS] test_TopUpInPowerBase_BonusOnTheWholeReward() (gas: 7206969)\n[PASS] test_UsdcTopUpDuringCheck_InTheDoersPayout() (gas: 7043285)\nSuite result: ok. 9 passed; 0 failed; 0 skipped; finished in 134.82ms (71.68ms 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 45.23ms (28.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: 14867668)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 78.57ms (54.03ms CPU time)\n\nRan 2 tests for test/audit/AuditSweetenerBonus.t.sol:AuditVestingClock\n[PASS] test_clockStartsAtTheFirstReleaseWithABalance() (gas: 1732627)\n[PASS] test_splitStartsTheClocks() (gas: 4709047)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 2.37ms (1.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 121.00ms (90.74ms 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 153.40ms (124.28ms 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 34.81ms (16.02ms 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: 16397492)\n[PASS] test_NoDispute_YoloReward_TreasuryShareBurned() (gas: 11290168)\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 169.82ms (212.81ms 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 43.27ms (21.35ms 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: 15809348)\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.77ms (9.33ms 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 82.03ms (44.88ms 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 41.22ms (10.09ms 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: 11291534)\n[PASS] test_EthWalletGriefsGas_PayoutStillSucceeds_ShareStaysInBurner() (gas: 7160159)\n[PASS] test_EthWalletReverts_PayoutStillSucceeds_ShareStaysInBurner() (gas: 7115317)\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: 6995473)\n[PASS] test_HalfStake_Accepted_Doer92_Wallet6_50_Treasury1_50() (gas: 6987266)\n[PASS] test_NftRight_FullStake_Wallet0_50() (gas: 7838856)\n[PASS] test_NftRight_NoStake_Wallet0() (gas: 7585240)\n[PASS] test_NftUndecided_FullStake_Wallet5_50() (gas: 7375378)\n[PASS] test_NftWrong_FullStake_Wallet5_50() (gas: 8806086)\n[PASS] test_NftWrong_NoStake_Wallet0() (gas: 8486905)\n[PASS] test_NoStake_Accepted_NothingToTheWallet() (gas: 6740492)\n[PASS] test_Rejected_NothingToTheWallet() (gas: 7583879)\n[PASS] test_SetBuybackWallet_OnlyDev_WithEvent() (gas: 518388)\n[PASS] test_YoloAddOn_BurnsNeverToTheWallet() (gas: 7150357)\n[PASS] test_YoloReward_FullStake_BurnsNeverToTheWallet() (gas: 6919574)\nSuite result: ok. 21 passed; 0 failed; 0 skipped; finished in 80.39ms (97.63ms 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 158.26ms (48.26ms CPU time)\n\nRan 4 tests for test/TextRule.t.sol:TextRuleTest\n[PASS] testFuzz_AsciiWithOneByte(uint16,uint16,uint8,uint256) (runs: 256, μ: 228223, ~: 159524)\n[PASS] testFuzz_MixedUtf8(uint256,uint16) (runs: 256, μ: 66908, ~: 61242)\n[PASS] testFuzz_RandomBytes(bytes) (runs: 256, μ: 14626, ~: 13631)\n[PASS] test_Examples() (gas: 562950)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 363.37ms (170.36ms 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 605.41ms (267.98ms CPU time)\n\nRan 8 tests for test/audit/AuditB.t.sol:AuditBTest\n[PASS] testFuzz_Guard_ModeAPaymentsBookExactly(uint256,uint96,uint96,bool) (runs: 256, μ: 7308797, ~: 7283218)\n[PASS] testFuzz_Guard_PinnedVersionNeverChanges(uint16,uint32) (runs: 256, μ: 3173332, ~: 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 636.23ms (892.14ms CPU time)\n\nRan 1 test for test/review/ReviewQueue.t.sol:ReviewQueue\n[PASS] testFuzz_QueueContributorsGetExactlyTheirs((uint8,uint256)) (runs: 256, μ: 9036070, ~: 7899598)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 694.81ms (655.18ms CPU time)\n\nRan 43 tests for test/MoneyRules.t.sol:MoneyRulesTest\n[PASS] test_AddonInPowerBase() (gas: 2911714)\n[PASS] test_BondsIgnoreTheAddon() (gas: 1853084)\n[PASS] test_Burner_NoOwner_AnyoneBurns() (gas: 171089)\n[PASS] test_Burner_PullsFailedPush() (gas: 7137033)\n[PASS] test_ContributorAfterSubmission_GetsBonus() (gas: 1645635)\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: 2132567)\n[PASS] test_Fake_RewardStaysTaskOpen() (gas: 7597808)\n[PASS] test_HubWithoutCode_PaysAsWithoutStake() (gas: 1282084)\n[PASS] test_LockEndedBeforePayout_NoBonus() (gas: 1516382)\n[PASS] test_MinRewardPerCurrency() (gas: 1945252)\n[PASS] test_NftRight_NoStake() (gas: 7806113)\n[PASS] test_NftRight_Staked() (gas: 8007063)\n[PASS] test_NftWrong_SwarmAccepts() (gas: 15020094)\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: 7040043)\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: 2448366)\n[PASS] test_PowerFixed_SubmissionMomentCounts() (gas: 3812834)\n[PASS] test_Predict_Entry_5_5_90_And_Deferred_2_5_Each() (gas: 1809555)\n[PASS] test_RelativeToTheReward_LowestPrice() (gas: 3587180)\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: 1579330)\n[PASS] test_WorkedExamples() (gas: 21019589)\n[PASS] test_YoloBonus_LockedUntilExpiry() (gas: 758394)\n[PASS] test_YoloBonus_SameRuleAsReward() (gas: 4136056)\n[PASS] test_YoloReward_TreasuryShareBurned() (gas: 11264623)\nSuite result: ok. 43 passed; 0 failed; 0 skipped; finished in 1.32s (192.61ms CPU time)\n\nRan 23 tests for test/YoloPredict.t.sol:YoloPredictTest\n[PASS] testFuzz_BurnedPlusPaidEqualsDeposited(uint256,uint256,uint256,bool) (runs: 256, μ: 1981802, ~: 1629332)\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 1.29s (1.28s 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, μ: 9265840, ~: 9508573)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.30s (1.28s CPU time)\n\nRan 6 tests for test/audit/AuditC.t.sol:AuditCTest\n[PASS] testFuzz_ValidTextMatchesReference(bytes,uint8,uint8) (runs: 256, μ: 262783, ~: 262376)\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 1.37s (78.32ms 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: 10735116)\n[PASS] test_Stake_EthAndImdBurnShareToBurner() (gas: 15022791)\n[PASS] test_Stake_FullPower_NftRight_VotesFive_BurnHalf_TreasuryHalf() (gas: 11405231)\n[PASS] test_Stake_FullPower_NftUndecided_BurnFiveAndHalf() (gas: 10916602)\n[PASS] test_Stake_FullPower_NoDispute_Bonus_AndBurnToBurner() (gas: 10514244)\n[PASS] test_Stake_LockEndedBeforePayout_NoBonus_RelockCounts() (gas: 15289688)\n[PASS] test_Stake_LockedInTheSubmissionBlock_NoBonus() (gas: 6869607)\n[PASS] test_Stake_None_FeeToTreasury() (gas: 10257490)\n[PASS] test_Stake_PartPower_NoDispute() (gas: 10512766)\n[PASS] test_Stake_ToppedUpAfterSubmission_OnlyThePowerBeforeCounts() (gas: 10601065)\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: 11465956)\n[PASS] test_YoloReward_TreasuryPartToBurner_FullPowerSix() (gas: 15101622)\nSuite result: ok. 51 passed; 0 failed; 0 skipped; finished in 1.45s (454.52ms CPU time)\n\nRan 21 tests for test/Swarm.t.sol:SwarmTest\n[PASS] testFuzz_NoMandatoryCheck_AnyRewardSize(uint256,uint8) (runs: 256, μ: 798582, ~: 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 1.44s (296.48ms CPU time)\n\nRan 24 tests for test/Votes.t.sol:VotesTest\n[PASS] testFuzz_EachIdOnce(uint8,uint8) (runs: 256, μ: 3927739, ~: 3950020)\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 1.39s (1.43s CPU time)\n\nRan 14 tests for test/Sweetener.t.sol:SweetenerTest\n[PASS] test_AcceptedDoerGetsTheBonusMinusFee() (gas: 6969442)\n[PASS] test_DoerWhoSweetened_StakeExtraOnTheBonus() (gas: 6970240)\n[PASS] test_ExpiredTaskReturnsTheBonus() (gas: 5535110)\n[PASS] test_IdleBeforeDeadlineLocked_AfterDeadlineBack(uint256) (runs: 256, μ: 346719, ~: 346550)\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: 6849377)\n[PASS] test_StakedDoer_NftRight_VotesFiveDoerFourMore() (gas: 7869065)\n[PASS] test_StakedDoer_PartPowerAndSmallPower() (gas: 11839383)\n[PASS] test_TinyAddon_NoBondPart_NothingStuck() (gas: 8875206)\nSuite result: ok. 14 passed; 0 failed; 0 skipped; finished in 1.51s (134.48ms 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, μ: 10830782, ~: 9981677)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.39s (1.38s 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, μ: 2484950, ~: 2478890)\n[PASS] testFuzz_Invariant_BurnedPaidHeldEqualsDeposited(uint256,uint8,uint8) (runs: 256, μ: 3023315, ~: 2840012)\n[PASS] testFuzz_Invariant_NeverPaysOutMoreThanDeposited(uint256,uint256,uint256,bool) (runs: 256, μ: 1953237, ~: 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 4.07s (648.01ms CPU time)\n\nRan 2 tests for test/VotePowerFuzz.t.sol:VotePowerFuzzTest\n[PASS] testFuzz_OneVotePerNft(uint256) (runs: 256, μ: 97691220, ~: 100591710)\n[PASS] test_OneVotePerNft_Fixed() (gas: 387093914)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 4.07s (4.35s 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               | 506   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | appeal               | 588   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | askAppealSwarm       | 571   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | breakIntake          | 540   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | callSwarm            | 533   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | claim                | 584   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | createTask           | 534   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | dispute              | 507   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | expireAndWithdraw    | 572   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | lock                 | 520   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | mintTrophy           | 520   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | payoutBonus          | 521   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | poke                 | 540   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progress             | 544   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressA            | 503   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressB            | 538   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressC            | 537   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressD            | 557   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | setIntakePrice       | 520   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | submit               | 514   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | sweep                | 546   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | sweeten              | 527   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | topUp                | 529   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | vote                 | 524   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | warp                 | 508   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawBonus        | 535   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawContribution | 528   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawLock         | 554   | 0       | 0        |\n╰----------+----------------------+-------+---------+----------╯\n\nLogs:\n  createTask: 5\n  topUp: 4\n  submit: 0\n  dispute: 0\n  vote: 0\n  appeal: 0\n  breakIntake: 6\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: 0\n  withdrawBonus: 0\n  payoutBonus: 0\n  mintTrophy: 0\n  lock: 4\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.48s (18.45s 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 18.56s (102.84ms CPU time)\n\nRan 90 test suites in 18.59s (62.81s CPU time): 693 tests passed, 0 failed, 4 skipped (697 total tests)\n","passed":true},{"durationMs":249,"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\":122,\"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\":126,\"src/DareTrophy.sol\":222,\"src/DevPrices.sol\":129,\"src/HiddenList.sol\":304,\"src/OracleAttestation.sol\":57,\"src/ParamsRegistry.sol\":216,\"src/ProtocolDirectory.sol\":177,\"src/TaskVault.sol\":844,\"src/TrophyCatalog.sol\":119,\"src/VaultParams.sol\":250,\"src/VaultTypes.sol\":450,\"src/VotePower.sol\":52,\"src/YoloLockHub.sol\":155,\"src/YoloPredict.sol\":305,\"src/YoloSweetener.sol\":177,\"src/adapters/UniswapV3SwapAdapter.sol\":71,\"src/desks/CaseDesk.sol\":556,\"src/desks/Desk.sol\":143,\"src/desks/DeskApi.sol\":137,\"src/desks/DisputeDesk.sol\":807,\"src/helpers/AttestationChecker.sol\":59,\"src/helpers/SwarmQuestion.sol\":177,\"src/helpers/TextRules.sol\":245,\"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\":115,\"src/token/ProjectVesting.sol\":104,\"src/token/Vestings.sol\":38,\"src/token/YoloSplitter.sol\":103,\"src/token/YoloToken.sol\":176,\"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\":223,\"test/DisputeLinkOptional.t.sol\":82,\"test/Disputes.t.sol\":1309,\"test/Emergency.t.sol\":76,\"test/Evidence.t.sol\":338,\"test/ExtrasBareChain.t.sol\":91,\"test/Gas.t.sol\":183,\"test/GasTextSize.t.sol\":108,\"test/HiddenList.t.sol\":762,\"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\":734,\"test/YoloTokenBareChain.t.sol\":130,\"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/ExtrasOnLiveCore.fork.t.sol\":149,\"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":23235,"exitCode":0,"name":"slither","output":"[high/medium] arbitrary-send-eth at src/TaskVault.sol:780: TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#780-827) sends eth to arbitrary user\n[high/medium] arbitrary-send-eth at src/BuybackBurner.sol:94: BuybackBurner.forward(address) (src/BuybackBurner.sol#94-110) sends eth to arbitrary user\n[high/medium] reentrancy-balance at src/TaskVault.sol:780: Reentrancy in TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#780-827):\n[high/medium] reentrancy-balance at src/TaskVault.sol:780: Reentrancy in TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#780-827):\n[high/medium] reentrancy-balance at src/TaskVault.sol:780: Reentrancy in TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#780-827):\n[high/medium] reentrancy-balance at src/TaskVault.sol:598: Reentrancy in TaskVault.ask(AskTerms,bytes) (src/TaskVault.sol#598-637):\n[high/medium] reentrancy-eth at src/TaskVault.sol:780: Reentrancy in TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#780-827):\n[high/medium] reentrancy-eth at src/TaskVault.sol:253: Reentrancy in TaskVault.createTask(address,uint256,uint64,string,TaskRules,uint8,uint8,string,ImdPay) (src/TaskVault.sol#253-310):\n[medium/medium] divide-before-multiply at src/YoloLockHub.sol:66: YoloLockHub.lock(uint256,uint256) (src/YoloLockHub.sol#66-91) performs a multiplication on the result of a division:\n[medium/medium] divide-before-multiply at src/YoloLockHub.sol:66: YoloLockHub.lock(uint256,uint256) (src/YoloLockHub.sol#66-91) performs a multiplication on the result of a division:\n[medium/high] incorrect-equality at src/BuybackBurner.sol:94: BuybackBurner.forward(address) (src/BuybackBurner.sol#94-110) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/token/NftGate.sol:109: NftGate.consume(address,uint256) (src/token/NftGate.sol#109-114) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/ProtocolDirectory.sol:122: ProtocolDirectory.setCurrent() (src/ProtocolDirectory.sol#122-131) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/YoloLockHub.sol:66: YoloLockHub.lock(uint256,uint256) (src/YoloLockHub.sol#66-91) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/token/YoloToken.sol:127: YoloToken._sellTax(uint256,uint256) (src/token/YoloToken.sol#127-130) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/ParamsRegistry.sol:92: ParamsRegistry.activateParams() (src/ParamsRegistry.sol#92-101) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/BuybackBurner.sol:84: BuybackBurner.burnYolo() (src/BuybackBurner.sol#84-89) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/TaskVault.sol:751: TaskVault._refundUnbooked(address,address,uint256) (src/TaskVault.sol#751-757) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/desks/CaseDesk.sol:173: CaseDesk.step(uint256) (src/desks/CaseDesk.sol#173-236) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/TaskVault.sol:743: TaskVault._credit(address,address,uint256) (src/TaskVault.sol#743-747) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/token/ProjectVesting.sol:92: ProjectVesting.release(address) (src/token/ProjectVesting.sol#92-103) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/token/ProjectVesting.sol:75: ProjectVesting.vestedAmount(address,uint256) (src/token/ProjectVesting.sol#75-83) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/desks/CaseDesk.sol:173: CaseDesk.step(uint256) (src/desks/CaseDesk.sol#173-236) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/YoloLockHub.sol:95: YoloLockHub.withdraw() (src/YoloLockHub.sol#95-103) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/BuybackBurner.sol:94: BuybackBurner.forward(address) (src/BuybackBurner.sol#94-110) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/desks/CaseDesk.sol:519: CaseDesk._stakeBps(SubmitTerms,address,ParamsCore) (src/desks/CaseDesk.sol#519-538) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/ProtocolDirectory.sol:93: ProtocolDirectory.addVersion() (src/ProtocolDirectory.sol#93-101) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/YoloLockHub.sol:147: YoloLockHub._checkpoint(address,uint96,uint64,uint32) (src/YoloLockHub.sol#147-154) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/TaskVault.sol:766: TaskVault._trySend(address,address,uint256,uint256) (src/TaskVault.sol#766-774) uses a dangerous strict equality:\n[medium/medium] reentrancy-no-eth at src/TaskVault.sol:339: Reentrancy in TaskVault.withdrawContribution(uint256) (src/TaskVault.sol#339-351):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:637: Reentrancy in DisputeDesk._settleDecided(uint256,Facts,bool,bool,ParamsCore) (src/desks/DisputeDesk.sol#637-728):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:505: Reentrancy in DisputeDesk.dropCaller(uint256) (src/desks/DisputeDesk.sol#505-508):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:173: Reentrancy in CaseDesk.step(uint256) (src/desks/CaseDesk.sol#173-236):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:413: Reentrancy in CaseDesk._askAppeal(uint256,uint256,ParamsCore,RuleTexts) (src/desks/CaseDesk.sol#413-432):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:637: Reentrancy in DisputeDesk._settleDecided(uint256,Facts,bool,bool,ParamsCore) (src/desks/DisputeDesk.sol#637-728):\n[medium/medium] reentrancy-no-eth at src/TaskVault.sol:317: Reentrancy in TaskVault.topUp(uint256,uint256,ImdPay) (src/TaskVault.sol#317-332):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:513: Reentrancy in DisputeDesk.settle(uint256,Outcome,Facts) (src/desks/DisputeDesk.sol#513-529):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:173: Reentrancy in CaseDesk.step(uint256) (src/desks/CaseDesk.sol#173-236):\n[medium/medium] reentrancy-no-eth at src/YoloPredict.sol:237: Reentrancy in YoloPredict.claim(uint256) (src/YoloPredict.sol#237-272):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:264: Reentrancy in CaseDesk.askEscalation(uint256,uint256,RuleTexts) (src/desks/CaseDesk.sol#264-271):\n[medium/medium] reentrancy-no-eth at src/YoloPredict.sol:183: Reentrancy in YoloPredict.settle(uint256) (src/YoloPredict.sol#183-232):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:173: Reentrancy in CaseDesk.step(uint256) (src/desks/CaseDesk.sol#173-236):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:637: Reentrancy in DisputeDesk._settleDecided(uint256,Facts,bool,bool,ParamsCore) (src/desks/DisputeDesk.sol#637-728):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:467: Reentrancy in CaseDesk._finalize(uint256,Outcome) (src/desks/CaseDesk.sol#467-492):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:413: Reentrancy in CaseDesk._askAppeal(uint256,uint256,ParamsCore,RuleTexts) (src/desks/CaseDesk.sol#413-432):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:75: Reentrancy in CaseDesk.submit(uint256,string,Evidence,uint256,uint256,ImdPay) (src/desks/CaseDesk.sol#75-138):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:391: Reentrancy in DisputeDesk.claimVoterRewards(uint256[],address) (src/desks/DisputeDesk.sol#391-424):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:413: Reentrancy in CaseDesk._askAppeal(uint256,uint256,ParamsCore,RuleTexts) (src/desks/CaseDesk.sol#413-432):\n[medium/medium] reentrancy-no-eth at src/TaskVault.sol:644: Reentrancy in TaskVault._advance(uint256) (src/TaskVault.sol#644-655):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:257: Reentrancy in DisputeDesk.callSwarm(uint256,bool,uint256,ImdPay,RuleTexts) (src/desks/DisputeDesk.sol#257-277):\n[medium/medium] reentrancy-no-eth at src/TaskVault.sol:183: Reentrancy in TaskVault.fallback() (src/TaskVault.sol#183-202):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:142: Reentrancy in CaseDesk.claimVoidSubmission(uint256) (src/desks/CaseDesk.sol#142-157):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:75: Reentrancy in CaseDesk.submit(uint256,string,Evidence,uint256,uint256,ImdPay) (src/desks/CaseDesk.sol#75-138):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:587: Reentrancy in DisputeDesk._settleNeutral(uint256,Facts) (src/desks/DisputeDesk.sol#587-596):\n[medium/medium] reentrancy-no-eth at src/TaskVault.sol:370: Reentrancy in TaskVault.cancelTask(uint256) (src/TaskVault.sol#370-381):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:173: Reentrancy in CaseDesk.step(uint256) (src/desks/CaseDesk.sol#173-236):\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:393: DisputeDesk.claimVoterRewards(uint256[],address).imdTotal (src/desks/DisputeDesk.sol#393) is a local variable never initialized\n[medium/medium] uninitialized-local at src/DareTrophy.sol:177: DareTrophy.badge(uint8).w (src/DareTrophy.sol#177) is a local variable never initialized\n[medium/medium] uninitialized-local at src/token/NftGate.sol:68: NftGate.record(address[],uint256[]).total (src/token/NftGate.sol#68) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:351: DisputeDesk.claimDisputer(uint256).payout (src/desks/DisputeDesk.sol#351) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:749: DisputeDesk._payReward(uint256,Facts,bool,ParamsCore).bonus (src/desks/DisputeDesk.sol#749) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloPredict.sol:202: YoloPredict.settle(uint256).toAuthor (src/YoloPredict.sol#202) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloLockHub.sol:129: YoloLockHub._pointBefore(address,uint256).lo (src/YoloLockHub.sol#129) is a local variable never initialized\n[medium/medium] uninitialized-local at src/VotePower.sol:37: VotePower.mayVote(address,uint256).owner (src/VotePower.sol#37) is a local variable never initialized\n[medium/medium] uninitialized-local at src/helpers/TextRules.sol:77: TextLib.checkCover(string).scheme (src/helpers/TextRules.sol#77) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:300: DisputeDesk._fundCall(Appeal,uint256,SubCore,uint256,uint256,ParamsCore,ImdPay).fromBond (src/desks/DisputeDesk.sol#300) is a local variable never initialized\n[medium/medium] uninitialized-local at src/helpers/SwarmQuestion.sol:142: SwarmQuestionBuilder.buildFor(address,uint256,uint8,uint256,RuleTexts).q (src/helpers/SwarmQuestion.sol#142) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:399: DisputeDesk.claimVoterRewards(uint256[],address).any (src/desks/DisputeDesk.sol#399) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloSweetener.sol:148: YoloSweetener.payout(uint256).extra (src/YoloSweetener.sol#148) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloPredict.sol:206: YoloPredict.settle(uint256).burnt (src/YoloPredict.sol#206) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloPredict.sol:200: YoloPredict.settle(uint256).doer (src/YoloPredict.sol#200) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloPredict.sol:204: YoloPredict.settle(uint256).toDoer (src/YoloPredict.sol#204) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:397: DisputeDesk.claimVoterRewards(uint256[],address).n (src/desks/DisputeDesk.sol#397) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloPredict.sol:246: YoloPredict.claim(uint256).pay (src/YoloPredict.sol#246) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/CaseDesk.sol:531: CaseDesk._stakeBps(SubmitTerms,address,ParamsCore).r (src/desks/CaseDesk.sol#531) is a local variable never initialized\n[medium/medium] uninitialized-local at src/TaskVault.sol:560: TaskVault.collectBondPart(address,uint256,address,uint256).noSwap (src/TaskVault.sol#560) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:298: DisputeDesk._fundCall(Appeal,uint256,SubCore,uint256,uint256,ParamsCore,ImdPay).bond (src/desks/DisputeDesk.sol#298) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:401: DisputeDesk.claimVoterRewards(uint256[],address).sweet (src/desks/DisputeDesk.sol#401) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloSweetener.sol:141: YoloSweetener.payout(uint256).toVoters (src/YoloSweetener.sol#141) is a local variable never initialized\n[medium/medium] unused-return at src/TaskVault.sol:780: TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#780-827) ignores return value by ISwapAdapter(adapter).swapExactIn(address(usdc_),address(imd_),payIn.amountIn,payIn.minImdOut,payIn.deadline,payIn.route,address(this)) (src/TaskVault.sol#809-818)\n[medium/medium] unused-return at src/TaskVault.sol:780: TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#780-827) 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#801-803)\n[medium/medium] unused-return at src/desks/CaseDesk.sol:443: CaseDesk._swarmStatus(bytes32,ParamsCore) (src/desks/CaseDesk.sol#443-460) ignores return value by (completed) = IIntake(p.intake).requests(rid) (src/desks/CaseDesk.sol#456-458)\n[medium/medium] unused-return at src/desks/DisputeDesk.sol:137: DisputeDesk.vote(uint256,uint8,address,uint256[]) (src/desks/DisputeDesk.sol#137-192) ignores return value by (None,None,instantDelta,minWallets) = ParamsRegistry(registry).voteParams(version) (src/desks/DisputeDesk.sol#186)\n[medium/medium] unused-return at src/helpers/AttestationChecker.sol:43: AttestationChecker.check(address,uint16,uint16,OracleAttestation.Attestation,bytes) (src/helpers/AttestationChecker.sol#43-58) ignores return value by (signer,err,None) = ECDSA.tryRecover(digest(consumer,a),signature) (src/helpers/AttestationChecker.sol#55)\n[medium/medium] unused-return at src/desks/DisputeDesk.sol:235: DisputeDesk.askAppealSwarm(uint256,RuleTexts) (src/desks/DisputeDesk.sol#235-242) ignores return value by ICaseDesk(caseDesk).advanced(subId) (src/desks/DisputeDesk.sol#238)\n[medium/medium] unused-return at src/YoloSweetener.sol:164: YoloSweetener.claimVoter(uint256,address) (src/YoloSweetener.sol#164-176) ignores return value by (n,None) = vault.votesOf(subId,payTo) (src/YoloSweetener.sol#166)\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/HiddenList.sol:104: HiddenList.constructor(address,address,address).delegateRegistry_ (src/HiddenList.sol#104) lacks a zero-check on :\n[low/medium] missing-zero-check at src/toke","passed":true},{"durationMs":1178,"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:104: Reentrancy: State change after external call (63 places)\n[high] unsafe-casting at src/DareTrophy.sol:112: Unsafe Casting of integers (8 places)\n[high] yul-return at src/TaskVault.sol:200: 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:120: Costly operations inside loop (6 places)\n[low] large-numeric-literal at src/DareTrophy.sol:209: Large Numeric Literal (9 places)\n[low] literal-instead-of-constant at src/DareTrophy.sol:161: 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:96: 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:417: Redundant Statement\n[low] require-revert-in-loop at src/ProtocolDirectory.sol:173: Loop Contains `require`/`revert` (4 places)\n[low] state-change-without-event at src/TaskVault.sol:428: State Change Without Event (8 places)\n[low] storage-array-length-not-cached at src/ProtocolDirectory.sol:173: Storage Array Length not Cached\n[low] unchecked-return at src/DareTrophy.sol:125: Unchecked Return (5 places)\n[low] uninitialized-local-variable at src/DareTrophy.sol:168: Uninitialized Local Variable (16 places)\n[low] unsafe-erc20-operation at src/TaskVault.sol:772: Unsafe ERC20 Operation\n[low] unsafe-oz-erc721-mint at src/DareTrophy.sol:114: 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:100: Public Function Not Used Internally (6 places)","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"46b089dc5134265ff6ac3d758ac29f3fb040534bcf4a5ed4bd3546deae461863","verifiedTreeHash":"874cb382cc7e3a7349a07a8486e5d4ac2edbf55a","verifierVersion":"0.1.0+560ab6a2"},{"checks":[{"durationMs":494851,"exitCode":0,"name":"build","output":"Compiling 179 files with Solc 0.8.28\nSolc 0.8.28 finished in 494.66s\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:183:5:\n    |\n183 |     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:183:5:\n    |\n183 |     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":16785,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 2 tests for test/review/ReviewYolo.t.sol:ReviewYoloUnit\n[PASS] test_vestingStreamsFromArrivalWithoutACliff() (gas: 897245)\n[PASS] test_whitelistRefusesOutputTakenToARouter() (gas: 1179429)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 757.57µs (606.09µs 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 737.10µs (197.96µ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 865.10µs (337.24µ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 983.71µs (262.41µs CPU time)\n\nRan 1 test for test/audit/round2/Proof_5d8c4edc729c.t.sol:HiddenListCooldownGriefTest\n[PASS] test_oneNftBlocksHonestHidersForAWeek() (gas: 1780686)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 646.80µs (391.55µs 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 9.79ms (4.08ms 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: 37762549)\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 4526 runtime, margin 20050\n  YoloLockHub 3297 runtime, margin 21279\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 4721 runtime, margin 19855\n  HiddenList 3815 runtime, margin 20761\n  YoloPredict 6385 runtime, margin 18191\n\n[PASS] test_L2_docLaunch1Args_matchPlan() (gas: 894953)\n[PASS] test_L3_docLaunch2Args_matchPlan() (gas: 1362448)\n[PASS] test_L5_docLaunch3Args_matchPlan() (gas: 686264)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 10.63ms (8.37ms 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 927.75µs (760.03µs 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.22ms (0.00ns 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.71ms (2.53ms CPU time)\n\nRan 47 tests for test/HiddenList.t.sol:HiddenListTest\n[PASS] test_10Of10NftsPassesAfterRoundEnd() (gas: 1666886)\n[PASS] test_2Of3WalletsDoesNotPassEvenWith10Nfts() (gas: 825347)\n[PASS] test_3Of3WalletsWith10NftsPasses() (gas: 929019)\n[PASS] test_9Of10NftsDoesNotPass() (gas: 1505324)\n[PASS] test_AllBadTokenIdsDoesNotOpenARound() (gas: 131946)\n[PASS] test_ConstructorAllowsZeroDelegateRegistry() (gas: 7024)\n[PASS] test_ConstructorFixesOwnerNoTransferFunction() (gas: 17198)\n[PASS] test_ConstructorRejectsZeroOwnerOrNft() (gas: 9339)\n[PASS] test_ContestAtFullQuorumThreeOwnersStillBuysCooldown() (gas: 2567908)\n[PASS] test_DelegateXyzDelegateCanVote() (gas: 267646)\n[PASS] test_EmptyTokenIdsDoesNotOpenARound() (gas: 41527)\n[PASS] test_EthWithDataReverts() (gas: 37873)\n[PASS] test_FailedRoundCanRetryAfter7Days() (gas: 2009478)\n[PASS] test_FailedRoundCannotRetryBefore7Days() (gas: 3173731)\n[PASS] test_GasNftHolderVote1NftLaterVote() (gas: 312478)\nLogs:\n  NFT holder vote, 1 NFT (later vote): 50089\n\n[PASS] test_GasNftHolderVote1NftOpensRound() (gas: 209804)\nLogs:\n  NFT holder vote, 1 NFT (opens a round): 130352\n\n[PASS] test_GasOwnerHides1Item() (gas: 61100)\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: 94246)\nLogs:\n  owner unhides 1 item: 32830\n\n[PASS] test_HideVoteEventCarriesVaultKindId() (gas: 211599)\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: 206219)\n[PASS] test_OwnerOfNftCanVote() (gas: 212485)\n[PASS] test_OwnerOverridesAPassedVoteBackToVisible() (gas: 1711534)\n[PASS] test_OwnerRestoreVisibleStartsCooldown() (gas: 1813413)\n[PASS] test_PlainEthTransferReverts() (gas: 36475)\n[PASS] test_SameIdDifferentVaultsAreIndependent() (gas: 70459)\n[PASS] test_SameWalletMoreNftsLaterAddToTallyNotWallets() (gas: 313708)\n[PASS] test_SelfContestAtNftQuorumOneOwnerDoesNotBuyCooldown() (gas: 1068223)\n[PASS] test_SelfContestRepeatsEvery8DaysHonestVoteStillCounts() (gas: 4125678)\n[PASS] test_SelfContestUnderQuorumDoesNotBlockHonestVoteNextDay() (gas: 2011009)\n[PASS] test_SetStateEmitsStateSetWithVaultKindId() (gas: 61751)\n[PASS] test_SetStateInstantNoTimelock() (gas: 63017)\n[PASS] test_SetStateRejectsBadStateValue() (gas: 32653)\n[PASS] test_StatusHiddenOnlyAfterRoundEndEvenIfQuorumAlreadyMet() (gas: 1690092)\n[PASS] test_StrangerCannotVoteWithSomeoneElsesNft() (gas: 132587)\n[PASS] test_TaskAndProofKindsAreIndependent() (gas: 69887)\n[PASS] test_TieHideEqualsKeepDoesNotPass() (gas: 3042317)\n[PASS] test_TokenIdCountsOnceInARound() (gas: 243556)\n[PASS] test_UncontestedFailedRoundRetriesAtOnce() (gas: 570458)\n[PASS] test_VotePassingCannotUnhideAnOwnerHiddenItem() (gas: 1036411)\n[PASS] test_WalletKeepsOneSidePerRoundOtherSideSkipped() (gas: 295471)\nSuite result: ok. 47 passed; 0 failed; 0 skipped; finished in 20.67ms (19.76ms 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 20.82ms (1.39ms 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.95ms (1.18ms CPU time)\n\nRan 1 test for test/audit/AuditA.t.sol:AuditAUnit\n[PASS] test_Guard_vestingClocksStartAtTheSplit() (gas: 4074385)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 21.52ms (20.55ms 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 25.26ms (1.40ms 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 25.54ms (6.92ms 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.91ms (1.38ms 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 27.14ms (7.97ms 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 28.40ms (9.00ms 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 28.75ms (2.37ms 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 29.43ms (14.93ms 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 29.80ms (9.37ms CPU time)\n\nRan 7 tests for test/Directory.t.sol:DirectoryTest\n[PASS] test_CancelVersionClearsPendingVersionView() (gas: 762080)\n[PASS] test_ConstructorChecks() (gas: 6526)\n[PASS] test_CurrentMayGoBack() (gas: 591679)\n[PASS] test_OnlySafeProposesAndCancels() (gas: 600024)\n[PASS] test_ProposalChecks() (gas: 217548)\n[PASS] test_V2SideBySide_AfterTimelock() (gas: 7796545)\n[PASS] test_Version1FromConstructor() (gas: 66747)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 31.05ms (12.46ms 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 30.47ms (5.84ms 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.30ms (0.00ns 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 6.86ms (6.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 36.57ms (17.74ms 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 27.27ms (4.63ms 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.87ms (411.10µ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 43.04ms (22.38ms 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 43.75ms (20.68ms CPU time)\n\nRan 2 tests for test/ExtrasBareChain.t.sol:ExtrasBareChainTest\n[PASS] test_BareChain_NoVaultCode_AllSixDeploy() (gas: 9203752)\n[PASS] test_BareChain_NoVaultCode_ModulesInert() (gas: 9223556)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 1.83ms (1.47ms CPU time)\n\nRan 1 test for test/fork/ExtrasOnLiveCore.fork.t.sol:ExtrasOnLiveCoreForkTest\n[SKIP: skipped] setUp() (gas: 0)\nSuite result: ok. 0 passed; 0 failed; 1 skipped; finished in 412.95µs (0.00ns 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 26.67ms (7.74ms CPU time)\n\nRan 6 tests for test/audit/AuditC.t.sol:AuditCTest\n[PASS] testFuzz_ValidTextMatchesReference(bytes,uint8,uint8) (runs: 256, μ: 262783, ~: 262376)\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 47.85ms (73.84ms 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 24.17ms (1.14ms 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 50.97ms (32.99ms 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 51.03ms (46.06ms 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 957.53µs (868.85µs CPU time)\n\nRan 2 tests for test/audit/AuditSweetenerBonus.t.sol:AuditVestingClock\n[PASS] test_clockStartsAtTheFirstReleaseWithABalance() (gas: 1732627)\n[PASS] test_splitStartsTheClocks() (gas: 4709047)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 2.28ms (1.88ms 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 5.03ms (923.40µs CPU time)\n\nRan 34 tests for test/YoloToken.t.sol:YoloTokenTest\n[PASS] test_AfterMinute60_PlainErc20() (gas: 137108)\n[PASS] test_BeforeOpenAt_NobodyBuys() (gas: 752448)\n[PASS] test_ConstructorRejectsZeroPoolManagerOrSafe() (gas: 9166)\n[PASS] test_DevVesting_Linear12Months_NoCliff() (gas: 992024)\n[PASS] test_GateWithoutCode_PlainErc20() (gas: 280536)\n[PASS] test_Gate_ConsumeNeedsSealAndBooksPerCallingToken() (gas: 464018)\n[PASS] test_Gate_OnlyWriterRecordsAndSeals() (gas: 217032)\n[PASS] test_Gate_RecordChecksAndEvents() (gas: 564790)\n[PASS] test_Gate_SealIsIrreversible() (gas: 348173)\n[PASS] test_GenesisLaunch_SharesAddUp() (gas: 4276159)\n[PASS] test_IncentivesVesting_QuarterAtOnce_RestLinear24Months() (gas: 966982)\n[PASS] test_OpenAtBounds() (gas: 8963)\n[PASS] test_SealAtOpenAtDoesNotCount() (gas: 256878)\n[PASS] test_SellTax_BuyFreeSellTaxedInWindow_BothAt45() (gas: 564926)\n[PASS] test_SellTax_ExactAmounts() (gas: 1063766)\n[PASS] test_SellTax_OnTopOfBalanceAndAllowance() (gas: 480636)\n[PASS] test_SellTax_RoundsDownAndDustIsFree() (gas: 119004)\n[PASS] test_Snapshot_NftMovedAfterSnapshotGivesNothing() (gas: 504446)\n[PASS] test_Splitter_FixedSharesAndDustToTreasury() (gas: 497623)\n[PASS] test_Splitter_RejectsZeroAddresses() (gas: 5083)\n[PASS] test_Splitter_RemainderShortOf750M() (gas: 274291)\n[PASS] test_SupplyAndFixedSchedule() (gas: 67082)\n[PASS] test_Tax_ExactAmounts() (gas: 793640)\n[PASS] test_Tax_RoundsDownAndDustIsFree() (gas: 80188)\n[PASS] test_TeamVesting_Linear12Months_NoCliff() (gas: 838186)\n[PASS] test_TransfersAndTheLauncherAreFree() (gas: 770367)\n[PASS] test_TreasuryVesting_ShortRemainder() (gas: 145876)\n[PASS] test_TreasuryVesting_ThirdAtOnce_RestLinear12Months() (gas: 953436)\n[PASS] test_UnsealedSnapshot_WindowClosedToAll() (gas: 421448)\n[PASS] test_VestingBounds() (gas: 4331)\n[PASS] test_Whitelist_AllowancePerNftAndCumulative() (gas: 645735)\n[PASS] test_Whitelist_BoundaryAtMinute30() (gas: 408484)\n[PASS] test_Whitelist_IntermediaryRefused() (gas: 369643)\n[PASS] test_Whitelist_WalletOutsideSnapshotRefused() (gas: 283012)\nSuite result: ok. 34 passed; 0 failed; 0 skipped; finished in 9.34ms (7.98ms CPU time)\n\nRan 2 tests for test/YoloTokenBareChain.t.sol:YoloTokenBareChainTest\n[PASS] test_BareChain_NoGateCode_PlainErc20() (gas: 894036)\n[PASS] test_GateCode_ScheduleAsBefore() (gas: 2087834)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 1.19ms (1.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 25.17ms (4.36ms 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 53.76ms (10.61ms 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 138.55µs (36.68µ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 500.02µs (183.15µ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 547.85µs (377.18µ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 28.68ms (11.14ms 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 429.15µs (314.46µs 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 24.37ms (2.23ms 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 78.13ms (60.17ms 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 137.16µs (25.67µs 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 79.87ms (48.03ms 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 47.71ms (29.86ms CPU time)\n\nRan 2 tests for test/audit/StakePowerRelock.t.sol:StakePowerRelockTest\n[PASS] test_RelockOfAnEndedLockGivesNoStakePower() (gas: 241519)\n[PASS] test_WithdrawThenLockGivesZero_reference() (gas: 303292)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 519.98µs (249.13µs 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.59ms (35.63ms 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: 7001842)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 32.39ms (12.80ms 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 84.51ms (61.43ms 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 39.70ms (13.92ms 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 71.85ms (73.25ms 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 96.11ms (77.12ms 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 106.43ms (83.38ms 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: 14867668)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 95.35ms (50.95ms 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 119.08ms (45.86ms CPU time)\n\nRan 22 tests for test/YoloLockHub.t.sol:YoloLockHubTest\n[PASS] testFuzz_LockThenWithdrawReturnsExactAmount(uint256,uint256) (runs: 256, μ: 272458, ~: 272289)\n[PASS] testFuzz_PowerConstantThroughTheTerm(uint256,uint256,uint256) (runs: 256, μ: 151085, ~: 151147)\n[PASS] test_ConstructorTakesYolo() (gas: 18365)\n[PASS] test_EndOnlyLater_AmountOnlyGrows() (gas: 485049)\n[PASS] test_EndedLockLockedAgain() (gas: 477126)\n[PASS] test_LockAndWithdrawAfterTheEnd() (gas: 390877)\n[PASS] test_LockTermsAndZero() (gas: 406871)\n[PASS] test_PowerAt_ReadsTheLockStrictlyBefore() (gas: 698855)\n[PASS] test_Power_AddAndExtend() (gas: 868276)\n[PASS] test_Power_FixedAtTheLock_DoesNotFall() (gas: 464128)\n[PASS] test_Power_RollingOneWeekExtensionDropsToOneWeek() (gas: 698967)\n[PASS] test_Rule_QueuedDoer_PowerAtTheSubmission() (gas: 3240328)\n[PASS] test_StakePower_RunningLockOnly() (gas: 516879)\n[PASS] test_Vault_AddedAfterTheSubmission_NotCounted() (gas: 7092698)\n[PASS] test_Vault_LockEndedBeforePayout_NoBonus_RelockedBonus() (gas: 11466280)\n[PASS] test_Vault_LockedInTheSubmissionBlockOrLater_NoBonus() (gas: 11389415)\n[PASS] test_Vault_LowestPriceOfTheWindow() (gas: 1473781)\n[PASS] test_Vault_NoYoloPrice_NoBonus() (gas: 1366602)\n[PASS] test_Vault_PowerEqualsReward_Bonus4() (gas: 7007966)\n[PASS] test_Vault_PowerHalfTheReward_Bonus2() (gas: 6966740)\n[PASS] test_Vault_RelativeToTheReward() (gas: 16090127)\n[PASS] test_Vault_YoloReward_Direct() (gas: 6881934)\nSuite result: ok. 22 passed; 0 failed; 0 skipped; finished in 123.73ms (105.71ms CPU time)\n\nRan 4 tests for test/TextRule.t.sol:TextRuleTest\n[PASS] testFuzz_AsciiWithOneByte(uint16,uint16,uint8,uint256) (runs: 256, μ: 228223, ~: 159524)\n[PASS] testFuzz_MixedUtf8(uint256,uint16) (runs: 256, μ: 66908, ~: 61242)\n[PASS] testFuzz_RandomBytes(bytes) (runs: 256, μ: 14626, ~: 13631)\n[PASS] test_Examples() (gas: 562950)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 114.88ms (123.11ms 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: 16397492)\n[PASS] test_NoDispute_YoloReward_TreasuryShareBurned() (gas: 11290168)\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 186.04ms (167.28ms 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: 11291534)\n[PASS] test_EthWalletGriefsGas_PayoutStillSucceeds_ShareStaysInBurner() (gas: 7160159)\n[PASS] test_EthWalletReverts_PayoutStillSucceeds_ShareStaysInBurner() (gas: 7115317)\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: 6995473)\n[PASS] test_HalfStake_Accepted_Doer92_Wallet6_50_Treasury1_50() (gas: 6987266)\n[PASS] test_NftRight_FullStake_Wallet0_50() (gas: 7838856)\n[PASS] test_NftRight_NoStake_Wallet0() (gas: 7585240)\n[PASS] test_NftUndecided_FullStake_Wallet5_50() (gas: 7375378)\n[PASS] test_NftWrong_FullStake_Wallet5_50() (gas: 8806086)\n[PASS] test_NftWrong_NoStake_Wallet0() (gas: 8486905)\n[PASS] test_NoStake_Accepted_NothingToTheWallet() (gas: 6740492)\n[PASS] test_Rejected_NothingToTheWallet() (gas: 7583879)\n[PASS] test_SetBuybackWallet_OnlyDev_WithEvent() (gas: 518388)\n[PASS] test_YoloAddOn_BurnsNeverToTheWallet() (gas: 7150357)\n[PASS] test_YoloReward_FullStake_BurnsNeverToTheWallet() (gas: 6919574)\nSuite result: ok. 21 passed; 0 failed; 0 skipped; finished in 103.12ms (87.66ms CPU time)\n\nRan 43 tests for test/MoneyRules.t.sol:MoneyRulesTest\n[PASS] test_AddonInPowerBase() (gas: 2911714)\n[PASS] test_BondsIgnoreTheAddon() (gas: 1853084)\n[PASS] test_Burner_NoOwner_AnyoneBurns() (gas: 171089)\n[PASS] test_Burner_PullsFailedPush() (gas: 7137033)\n[PASS] test_ContributorAfterSubmission_GetsBonus() (gas: 1645635)\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: 2132567)\n[PASS] test_Fake_RewardStaysTaskOpen() (gas: 7597808)\n[PASS] test_HubWithoutCode_PaysAsWithoutStake() (gas: 1282084)\n[PASS] test_LockEndedBeforePayout_NoBonus() (gas: 1516382)\n[PASS] test_MinRewardPerCurrency() (gas: 1945252)\n[PASS] test_NftRight_NoStake() (gas: 7806113)\n[PASS] test_NftRight_Staked() (gas: 8007063)\n[PASS] test_NftWrong_SwarmAccepts() (gas: 15020094)\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: 7040043)\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: 2448366)\n[PASS] test_PowerFixed_SubmissionMomentCounts() (gas: 3812834)\n[PASS] test_Predict_Entry_5_5_90_And_Deferred_2_5_Each() (gas: 1809555)\n[PASS] test_RelativeToTheReward_LowestPrice() (gas: 3587180)\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: 1579330)\n[PASS] test_WorkedExamples() (gas: 21019589)\n[PASS] test_YoloBonus_LockedUntilExpiry() (gas: 758394)\n[PASS] test_YoloBonus_SameRuleAsReward() (gas: 4136056)\n[PASS] test_YoloReward_TreasuryShareBurned() (gas: 11264623)\nSuite result: ok. 43 passed; 0 failed; 0 skipped; finished in 159.06ms (151.89ms 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 22.47ms (6.29ms 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 27.10ms (11.71ms CPU time)\n\nRan 23 tests for test/YoloPredict.t.sol:YoloPredictTest\n[PASS] testFuzz_BurnedPlusPaidEqualsDeposited(uint256,uint256,uint256,bool) (runs: 256, μ: 1981802, ~: 1629332)\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 241.48ms (239.96ms CPU time)\n\nRan 24 tests for test/Votes.t.sol:VotesTest\n[PASS] testFuzz_EachIdOnce(uint8,uint8) (runs: 256, μ: 3927739, ~: 3950020)\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 277.82ms (299.17ms CPU time)\n\nRan 14 tests for test/Sweetener.t.sol:SweetenerTest\n[PASS] test_AcceptedDoerGetsTheBonusMinusFee() (gas: 6969442)\n[PASS] test_DoerWhoSweetened_StakeExtraOnTheBonus() (gas: 6970240)\n[PASS] test_ExpiredTaskReturnsTheBonus() (gas: 5535110)\n[PASS] test_IdleBeforeDeadlineLocked_AfterDeadlineBack(uint256) (runs: 256, μ: 346719, ~: 346550)\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: 6849377)\n[PASS] test_StakedDoer_NftRight_VotesFiveDoerFourMore() (gas: 7869065)\n[PASS] test_StakedDoer_PartPowerAndSmallPower() (gas: 11839383)\n[PASS] test_TinyAddon_NoBondPart_NothingStuck() (gas: 8875206)\nSuite result: ok. 14 passed; 0 failed; 0 skipped; finished in 373.85ms (128.84ms 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 408.04ms (37.15ms CPU time)\n\nRan 8 tests for test/audit/AuditB.t.sol:AuditBTest\n[PASS] testFuzz_Guard_ModeAPaymentsBookExactly(uint256,uint96,uint96,bool) (runs: 256, μ: 7308797, ~: 7283218)\n[PASS] testFuzz_Guard_PinnedVersionNeverChanges(uint16,uint32) (runs: 256, μ: 3173332, ~: 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 562.67ms (862.65ms CPU time)\n\nRan 1 test for test/review/ReviewQueue.t.sol:ReviewQueue\n[PASS] testFuzz_QueueContributorsGetExactlyTheirs((uint8,uint256)) (runs: 256, μ: 9036070, ~: 7899598)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 673.63ms (655.71ms 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, μ: 9265840, ~: 9508573)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.07s (1.06s 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 1.25s (276.46ms 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: 15809348)\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 1.13s (7.50ms 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 1.27s (152.94ms 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, μ: 10830782, ~: 9981677)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.29s (1.27s 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, μ: 2484950, ~: 2478890)\n[PASS] testFuzz_Invariant_BurnedPaidHeldEqualsDeposited(uint256,uint8,uint8) (runs: 256, μ: 3023315, ~: 2840012)\n[PASS] testFuzz_Invariant_NeverPaysOutMoreThanDeposited(uint256,uint256,uint256,bool) (runs: 256, μ: 1953237, ~: 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 3.74s (4.17s 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: 9207608)\nLogs:\n  YoloSweetener 6748 runtime bytes\n  TrophyCatalog 4228 runtime bytes\n  DareTrophy 11777 runtime bytes\n  ProtocolDirectory 4721 runtime bytes\n  HiddenList 3815 runtime bytes\n  YoloPredict 6385 runtime bytes\n  launch 3 execution gas 8714238\n  launch 3 calldata bytes 43172\n  launch 3 total gas (upper bound) 9425990\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 3.70s (91.27ms CPU time)\n\nRan 21 tests for test/Swarm.t.sol:SwarmTest\n[PASS] testFuzz_NoMandatoryCheck_AnyRewardSize(uint256,uint8) (runs: 256, μ: 798582, ~: 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 3.78s (261.48ms CPU time)\n\nRan 9 tests for test/ContractRules.t.sol:ContractRulesTest\n[PASS] test_AddonInPowerBase_FullBonusOnBoth() (gas: 7407934)\n[PASS] test_BigAddon_BonusNeedsLockAgainstRewardPlusAddon() (gas: 12394850)\n[PASS] test_EthTopUpDuringCheck_PaidToTheDoer() (gas: 6801929)\n[PASS] test_FriendTopUp_BonusNeedsLockAgainstTheWholePool() (gas: 11980041)\n[PASS] test_Stake5PercentOfReward_Bonus02Percent() (gas: 6982137)\n[PASS] test_TinyStake_WholeBpsRoundedDown() (gas: 1966430)\n[PASS] test_TopUpDuringRejectedCheck_PaidToTheNextDoer() (gas: 10503358)\n[PASS] test_TopUpInPowerBase_BonusOnTheWholeReward() (gas: 7206969)\n[PASS] test_UsdcTopUpDuringCheck_InTheDoersPayout() (gas: 7043285)\nSuite result: ok. 9 passed; 0 failed; 0 skipped; finished in 3.82s (80.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: 10735116)\n[PASS] test_Stake_EthAndImdBurnShareToBurner() (gas: 15022791)\n[PASS] test_Stake_FullPower_NftRight_VotesFive_BurnHalf_TreasuryHalf() (gas: 11405231)\n[PASS] test_Stake_FullPower_NftUndecided_BurnFiveAndHalf() (gas: 10916602)\n[PASS] test_Stake_FullPower_NoDispute_Bonus_AndBurnToBurner() (gas: 10514244)\n[PASS] test_Stake_LockEndedBeforePayout_NoBonus_RelockCounts() (gas: 15289688)\n[PASS] test_Stake_LockedInTheSubmissionBlock_NoBonus() (gas: 6869607)\n[PASS] test_Stake_None_FeeToTreasury() (gas: 10257490)\n[PASS] test_Stake_PartPower_NoDispute() (gas: 10512766)\n[PASS] test_Stake_ToppedUpAfterSubmission_OnlyThePowerBeforeCounts() (gas: 10601065)\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: 11465956)\n[PASS] test_YoloReward_TreasuryPartToBurner_FullPowerSix() (gas: 15101622)\nSuite result: ok. 51 passed; 0 failed; 0 skipped; finished in 3.79s (428.34ms CPU time)\n\nRan 2 tests for test/VotePowerFuzz.t.sol:VotePowerFuzzTest\n[PASS] testFuzz_OneVotePerNft(uint256) (runs: 256, μ: 97691220, ~: 100591710)\n[PASS] test_OneVotePerNft_Fixed() (gas: 387093914)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 3.87s (4.09s 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               | 506   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | appeal               | 588   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | askAppealSwarm       | 571   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | breakIntake          | 540   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | callSwarm            | 533   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | claim                | 584   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | createTask           | 534   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | dispute              | 507   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | expireAndWithdraw    | 572   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | lock                 | 520   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | mintTrophy           | 520   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | payoutBonus          | 521   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | poke                 | 540   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progress             | 544   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressA            | 503   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressB            | 538   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressC            | 537   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressD            | 557   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | setIntakePrice       | 520   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | submit               | 514   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | sweep                | 546   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | sweeten              | 527   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | topUp                | 529   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | vote                 | 524   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | warp                 | 508   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawBonus        | 535   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawContribution | 528   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawLock         | 554   | 0       | 0        |\n╰----------+----------------------+-------+---------+----------╯\n\nLogs:\n  createTask: 5\n  topUp: 4\n  submit: 0\n  dispute: 0\n  vote: 0\n  appeal: 0\n  breakIntake: 6\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: 0\n  withdrawBonus: 0\n  payoutBonus: 0\n  mintTrophy: 0\n  lock: 4\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.61s (16.58s CPU time)\n\nRan 90 test suites in 16.63s (50.45s CPU time): 693 tests passed, 0 failed, 4 skipped (697 total tests)\n","passed":true},{"durationMs":195,"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\":122,\"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\":50,\"script/DeployMainnet.s.sol\":187,\"script/LaunchPlan.sol\":422,\"script/check-launch-task.py\":32,\"script/snapshot/snapshot.py\":187,\"src/BuybackBurner.sol\":126,\"src/DareTrophy.sol\":222,\"src/DevPrices.sol\":129,\"src/HiddenList.sol\":304,\"src/OracleAttestation.sol\":57,\"src/ParamsRegistry.sol\":216,\"src/ProtocolDirectory.sol\":177,\"src/TaskVault.sol\":844,\"src/TrophyCatalog.sol\":119,\"src/VaultParams.sol\":250,\"src/VaultTypes.sol\":450,\"src/VotePower.sol\":52,\"src/YoloLockHub.sol\":155,\"src/YoloPredict.sol\":305,\"src/YoloSweetener.sol\":177,\"src/adapters/UniswapV3SwapAdapter.sol\":71,\"src/desks/CaseDesk.sol\":556,\"src/desks/Desk.sol\":143,\"src/desks/DeskApi.sol\":137,\"src/desks/DisputeDesk.sol\":807,\"src/helpers/AttestationChecker.sol\":59,\"src/helpers/SwarmQuestion.sol\":177,\"src/helpers/TextRules.sol\":245,\"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\":115,\"src/token/ProjectVesting.sol\":104,\"src/token/Vestings.sol\":38,\"src/token/YoloSplitter.sol\":103,\"src/token/YoloToken.sol\":176,\"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\":223,\"test/DisputeLinkOptional.t.sol\":82,\"test/Disputes.t.sol\":1309,\"test/Emergency.t.sol\":76,\"test/Evidence.t.sol\":338,\"test/ExtrasBareChain.t.sol\":91,\"test/Gas.t.sol\":183,\"test/GasTextSize.t.sol\":108,\"test/HiddenList.t.sol\":762,\"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\":734,\"test/YoloTokenBareChain.t.sol\":130,\"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/ExtrasOnLiveCore.fork.t.sol\":149,\"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":"a8844e3b6f15d0020137431803c442a502e4e863e043a92241815a1eba627df2","verifiedTreeHash":"d580efc6f443faaf89dc44fc68f8f885b0e85eef","verifierVersion":"0.1.0+560ab6a2"},{"checks":[{"durationMs":505074,"exitCode":0,"name":"build","output":"Compiling 180 files with Solc 0.8.28\nSolc 0.8.28 finished in 504.89s\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:183:5:\n    |\n183 |     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:183:5:\n    |\n183 |     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":17209,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 1 test for test/audit/round3/Proof_7351432decec.t.sol:HiddenListSelfContestTest\n[PASS] test_selfContestAtQuorumBuysTheCooldown() (gas: 382889)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 754.04µs (216.10µ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 943.64µs (780.25µ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.17ms (297.58µ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 446.00µs (226.13µs CPU time)\n\nRan 2 tests for test/ExtrasBareChain.t.sol:ExtrasBareChainTest\n[PASS] test_BareChain_NoVaultCode_AllSixDeploy() (gas: 9203752)\n[PASS] test_BareChain_NoVaultCode_ModulesInert() (gas: 9223556)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 1.67ms (1.28ms 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.96ms (0.00ns CPU time)\n\nRan 1 test for test/fork/ExtrasOnLiveCore.fork.t.sol:ExtrasOnLiveCoreForkTest\n[SKIP: skipped] setUp() (gas: 0)\nSuite result: ok. 0 passed; 0 failed; 1 skipped; finished in 327.49µs (0.00ns CPU time)\n\nRan 2 tests for test/audit/AuditSweetenerBonus.t.sol:AuditVestingClock\n[PASS] test_clockStartsAtTheFirstReleaseWithABalance() (gas: 1732627)\n[PASS] test_splitStartsTheClocks() (gas: 4709047)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 2.60ms (1.94ms CPU time)\n\nRan 1 test for test/audit/AuditA.t.sol:AuditAUnit\n[PASS] test_Guard_vestingClocksStartAtTheSplit() (gas: 4074385)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 3.21ms (2.07ms 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 673.30µs (250.24µs CPU time)\n\nRan 1 test for test/audit/round2/Proof_5d8c4edc729c.t.sol:HiddenListCooldownGriefTest\n[PASS] test_oneNftBlocksHonestHidersForAWeek() (gas: 1780686)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.16ms (880.23µs CPU time)\n\nRan 2 tests for test/review/ReviewYolo.t.sol:ReviewYoloUnit\n[PASS] test_vestingStreamsFromArrivalWithoutACliff() (gas: 897245)\n[PASS] test_whitelistRefusesOutputTakenToARouter() (gas: 1179429)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 934.37µs (782.45µs 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 9.22ms (4.02ms 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 912.39µs (735.91µs 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 8.55ms (8.47ms CPU time)\n\nRan 47 tests for test/HiddenList.t.sol:HiddenListTest\n[PASS] test_10Of10NftsPassesAfterRoundEnd() (gas: 1666864)\n[PASS] test_2Of3WalletsDoesNotPassEvenWith10Nfts() (gas: 825325)\n[PASS] test_3Of3WalletsWith10NftsPasses() (gas: 929019)\n[PASS] test_9Of10NftsDoesNotPass() (gas: 1505302)\n[PASS] test_AllBadTokenIdsDoesNotOpenARound() (gas: 131924)\n[PASS] test_ConstructorAllowsZeroDelegateRegistry() (gas: 7024)\n[PASS] test_ConstructorFixesOwnerNoTransferFunction() (gas: 17176)\n[PASS] test_ConstructorRejectsZeroOwnerOrNft() (gas: 9317)\n[PASS] test_ContestAtFullHideBarStillBuysCooldown() (gas: 2105343)\n[PASS] test_DelegateXyzDelegateCanVote() (gas: 267624)\n[PASS] test_EmptyTokenIdsDoesNotOpenARound() (gas: 41527)\n[PASS] test_EthWithDataReverts() (gas: 37851)\n[PASS] test_FailedRoundCanRetryAfter7Days() (gas: 2009478)\n[PASS] test_FailedRoundCannotRetryBefore7Days() (gas: 3173709)\n[PASS] test_GasNftHolderVote1NftLaterVote() (gas: 312456)\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: 61078)\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: 211599)\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: 212485)\n[PASS] test_OwnerOverridesAPassedVoteBackToVisible() (gas: 1711534)\n[PASS] test_OwnerRestoreVisibleStartsCooldown() (gas: 1813413)\n[PASS] test_PlainEthTransferReverts() (gas: 36475)\n[PASS] test_SameIdDifferentVaultsAreIndependent() (gas: 70437)\n[PASS] test_SameWalletMoreNftsLaterAddToTallyNotWallets() (gas: 313708)\n[PASS] test_SelfContestAtQuorumFromOneOwnerDoesNotBuyCooldown() (gas: 2717350)\n[PASS] test_SelfContestRepeatsEvery8DaysHonestVoteStillCounts() (gas: 4125656)\n[PASS] test_SelfContestUnderQuorumDoesNotBlockHonestVoteNextDay() (gas: 2011009)\n[PASS] test_SetStateEmitsStateSetWithVaultKindId() (gas: 61738)\n[PASS] test_SetStateInstantNoTimelock() (gas: 63017)\n[PASS] test_SetStateRejectsBadStateValue() (gas: 32653)\n[PASS] test_StatusHiddenOnlyAfterRoundEndEvenIfQuorumAlreadyMet() (gas: 1690070)\n[PASS] test_StrangerCannotVoteWithSomeoneElsesNft() (gas: 132565)\n[PASS] test_TaskAndProofKindsAreIndependent() (gas: 69865)\n[PASS] test_TieHideEqualsKeepDoesNotPass() (gas: 3042275)\n[PASS] test_TokenIdCountsOnceInARound() (gas: 243556)\n[PASS] test_UncontestedFailedRoundRetriesAtOnce() (gas: 570436)\n[PASS] test_VotePassingCannotUnhideAnOwnerHiddenItem() (gas: 1036389)\n[PASS] test_WalletKeepsOneSidePerRoundOtherSideSkipped() (gas: 295449)\nSuite result: ok. 47 passed; 0 failed; 0 skipped; finished in 13.66ms (12.92ms 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 20.32ms (1.80ms 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 21.16ms (3.30ms 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 24.41ms (2.66ms 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 27.54ms (1.12ms 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 29.30ms (10.60ms 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 30.49ms (6.03ms CPU time)\n\nRan 7 tests for test/Directory.t.sol:DirectoryTest\n[PASS] test_CancelAndAddClearThePendingVersion() (gas: 812831)\n[PASS] test_ConstructorChecks() (gas: 6526)\n[PASS] test_CurrentMayGoBack() (gas: 591657)\n[PASS] test_OnlySafeProposesAndCancels() (gas: 600024)\n[PASS] test_ProposalChecks() (gas: 217548)\n[PASS] test_V2SideBySide_AfterTimelock() (gas: 7796626)\n[PASS] test_Version1FromConstructor() (gas: 66747)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 31.32ms (13.16ms 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 33.31ms (6.10ms 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 5.74ms (1.17ms 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 28.02ms (1.30ms 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 35.24ms (15.77ms 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 35.33ms (16.33ms 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 37.29ms (9.39ms 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 37.56ms (20.26ms 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 27.63ms (9.61ms 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 25.73ms (6.98ms 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 40.35ms (10.59ms 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 49.95ms (23.63ms 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 24.03ms (985.44µs 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 22.04ms (4.18ms 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.03ms (0.00ns 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 24.93ms (6.94ms 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: 37740522)\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 4526 runtime, margin 20050\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 4721 runtime, margin 19855\n  HiddenList 3815 runtime, margin 20761\n  YoloPredict 6385 runtime, margin 18191\n\n[PASS] test_L2_docLaunch1Args_matchPlan() (gas: 894953)\n[PASS] test_L3_docLaunch2Args_matchPlan() (gas: 1361721)\n[PASS] test_L5_docLaunch3Args_matchPlan() (gas: 686264)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 6.07ms (4.74ms 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 20.63ms (1.31ms 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 67.99ms (40.70ms 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 69.60ms (45.83ms 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 981.41µs (898.15µs 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.08ms (8.44ms 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 85.24ms (41.22ms 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 17.66ms (1.18ms 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 93.27ms (82.45ms 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.53ms (413.88µs 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 139.48µs (39.66µ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 475.02µs (158.00µ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 475.76µs (315.15µ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: 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 29.46ms (11.62ms 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 140.27ms (121.69ms 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 86.22ms (64.04ms 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 144.93µs (27.00µs 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 88.81ms (69.80ms 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 24.08ms (2.20ms 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 28.13ms (11.21ms 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 532.56µs (227.48µs CPU time)\n\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: 16554919)\nLogs:\n  claimVoterRewards x1 exec: 181234\nWarning: the following cheatcode(s) are deprecated and will be removed in future versions:\n  lastCallGas(): replaced by `lastFrameGas`\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 42.14ms (13.68ms CPU time)\n\nRan 2 tests for test/YoloTokenBareChain.t.sol:YoloTokenBareChainTest\n[PASS] test_BareChain_NoGateCode_PlainErc20() (gas: 894036)\n[PASS] test_GateCode_ScheduleAsBefore() (gas: 2087834)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 1.12ms (999.99µs 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 112.14ms (88.55ms 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 28.53ms (13.62ms CPU time)\n\nRan 22 tests for test/YoloLockHub.t.sol:YoloLockHubTest\n[PASS] testFuzz_LockThenWithdrawReturnsExactAmount(uint256,uint256) (runs: 256, μ: 272002, ~: 271878)\n[PASS] testFuzz_PowerConstantThroughTheTerm(uint256,uint256,uint256) (runs: 256, μ: 150907, ~: 150973)\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 111.71ms (100.63ms CPU time)\n\nRan 21 tests for test/Swarm.t.sol:SwarmTest\n[PASS] testFuzz_NoMandatoryCheck_AnyRewardSize(uint256,uint8) (runs: 256, μ: 797850, ~: 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 135.05ms (233.75ms 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 237.85ms (40.59ms 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: 9207608)\nLogs:\n  YoloSweetener 6748 runtime bytes\n  TrophyCatalog 4228 runtime bytes\n  DareTrophy 11777 runtime bytes\n  ProtocolDirectory 4721 runtime bytes\n  HiddenList 3815 runtime bytes\n  YoloPredict 6385 runtime bytes\n  launch 3 execution gas 8714238\n  launch 3 calldata bytes 43172\n  launch 3 total gas (upper bound) 9425990\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 79.93ms (65.17ms CPU time)\n\nRan 4 tests for test/TextRule.t.sol:TextRuleTest\n[PASS] testFuzz_AsciiWithOneByte(uint16,uint16,uint8,uint256) (runs: 256, μ: 222834, ~: 153994)\n[PASS] testFuzz_MixedUtf8(uint256,uint16) (runs: 256, μ: 67699, ~: 62986)\n[PASS] testFuzz_RandomBytes(bytes) (runs: 256, μ: 14596, ~: 13631)\n[PASS] test_Examples() (gas: 562950)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 124.84ms (124.68ms 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 219.32ms (92.02ms 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 231.74ms (270.49ms 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 385.35ms (53.10ms CPU time)\n\nRan 24 tests for test/Votes.t.sol:VotesTest\n[PASS] testFuzz_EachIdOnce(uint8,uint8) (runs: 256, μ: 3921992, ~: 3946496)\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 291.60ms (279.82ms 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, μ: 2485794, ~: 2478893)\n[PASS] testFuzz_Invariant_BurnedPaidHeldEqualsDeposited(uint256,uint8,uint8) (runs: 256, μ: 3051934, ~: 2836250)\n[PASS] testFuzz_Invariant_NeverPaysOutMoreThanDeposited(uint256,uint256,uint256,bool) (runs: 256, μ: 1953236, ~: 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 282.23ms (588.51ms CPU time)\n\nRan 23 tests for test/YoloPredict.t.sol:YoloPredictTest\n[PASS] testFuzz_BurnedPlusPaidEqualsDeposited(uint256,uint256,uint256,bool) (runs: 256, μ: 1981803, ~: 1629335)\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 254.14ms (257.70ms CPU time)\n\nRan 8 tests for test/audit/AuditB.t.sol:AuditBTest\n[PASS] testFuzz_Guard_ModeAPaymentsBookExactly(uint256,uint96,uint96,bool) (runs: 256, μ: 7308798, ~: 7283221)\n[PASS] testFuzz_Guard_PinnedVersionNeverChanges(uint16,uint32) (runs: 256, μ: 3173282, ~: 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 533.79ms (737.93ms CPU time)\n\nRan 1 test for test/review/ReviewQueue.t.sol:ReviewQueue\n[PASS] testFuzz_QueueContributorsGetExactlyTheirs((uint8,uint256)) (runs: 256, μ: 9055931, ~: 7965146)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 581.31ms (563.18ms CPU time)\n\nRan 34 tests for test/YoloToken.t.sol:YoloTokenTest\n[PASS] test_AfterMinute60_PlainErc20() (gas: 137108)\n[PASS] test_BeforeOpenAt_NobodyBuys() (gas: 752448)\n[PASS] test_ConstructorRejectsZeroPoolManagerOrSafe() (gas: 9166)\n[PASS] test_DevVesting_Linear12Months_NoCliff() (gas: 992024)\n[PASS] test_GateWithoutCode_PlainErc20() (gas: 280536)\n[PASS] test_Gate_ConsumeNeedsSealAndBooksPerCallingToken() (gas: 464018)\n[PASS] test_Gate_OnlyWriterRecordsAndSeals() (gas: 217032)\n[PASS] test_Gate_RecordChecksAndEvents() (gas: 564790)\n[PASS] test_Gate_SealIsIrreversible() (gas: 348173)\n[PASS] test_GenesisLaunch_SharesAddUp() (gas: 4276159)\n[PASS] test_IncentivesVesting_QuarterAtOnce_RestLinear24Months() (gas: 966982)\n[PASS] test_OpenAtBounds() (gas: 8963)\n[PASS] test_SealAtOpenAtDoesNotCount() (gas: 256878)\n[PASS] test_SellTax_BuyFreeSellTaxedInWindow_BothAt45() (gas: 564926)\n[PASS] test_SellTax_ExactAmounts() (gas: 1063766)\n[PASS] test_SellTax_OnTopOfBalanceAndAllowance() (gas: 480636)\n[PASS] test_SellTax_RoundsDownAndDustIsFree() (gas: 119004)\n[PASS] test_Snapshot_NftMovedAfterSnapshotGivesNothing() (gas: 504446)\n[PASS] test_Splitter_FixedSharesAndDustToTreasury() (gas: 497623)\n[PASS] test_Splitter_RejectsZeroAddresses() (gas: 5083)\n[PASS] test_Splitter_RemainderShortOf750M() (gas: 274291)\n[PASS] test_SupplyAndFixedSchedule() (gas: 67082)\n[PASS] test_Tax_ExactAmounts() (gas: 793640)\n[PASS] test_Tax_RoundsDownAndDustIsFree() (gas: 80188)\n[PASS] test_TeamVesting_Linear12Months_NoCliff() (gas: 838186)\n[PASS] test_TransfersAndTheLauncherAreFree() (gas: 770367)\n[PASS] test_TreasuryVesting_ShortRemainder() (gas: 145876)\n[PASS] test_TreasuryVesting_ThirdAtOnce_RestLinear12Months() (gas: 953436)\n[PASS] test_UnsealedSnapshot_WindowClosedToAll() (gas: 421448)\n[PASS] test_VestingBounds() (gas: 4331)\n[PASS] test_Whitelist_AllowancePerNftAndCumulative() (gas: 645735)\n[PASS] test_Whitelist_BoundaryAtMinute30() (gas: 408484)\n[PASS] test_Whitelist_IntermediaryRefused() (gas: 369643)\n[PASS] test_Whitelist_WalletOutsideSnapshotRefused() (gas: 283012)\nSuite result: ok. 34 passed; 0 failed; 0 skipped; finished in 919.99ms (7.52ms 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 1.09s (35.98ms 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, μ: 9241395, ~: 9434768)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.14s (1.12s 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, μ: 10810111, ~: 9918650)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.31s (1.29s 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 3.87s (38.86ms 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 4.02s (187.77ms 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, μ: 346765, ~: 346538)\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 4.01s (138.99ms 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.06s (210.80ms CPU time)\n\nRan 2 tests for test/VotePowerFuzz.t.sol:VotePowerFuzzTest\n[PASS] testFuzz_OneVotePerNft(uint256) (runs: 256, μ: 98532229, ~: 100888123)\n[PASS] test_OneVotePerNft_Fixed() (gas: 387092570)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 3.99s (4.22s 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 4.10s (56.62ms CPU time)\n\nRan 6 tests for test/audit/AuditC.t.sol:AuditCTest\n[PASS] testFuzz_ValidTextMatchesReference(bytes,uint8,uint8) (runs: 256, μ: 262681, ~: 262376)\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 4.10s (63.44ms 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 4.10s (133.78ms 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 4.10s (42.06ms 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 4.10s (524.43ms 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               | 506   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | appeal               | 588   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | askAppealSwarm       | 571   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | breakIntake          | 540   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | callSwarm            | 533   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | claim                | 584   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | createTask           | 534   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | dispute              | 507   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | expireAndWithdraw    | 572   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | lock                 | 520   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | mintTrophy           | 520   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | payoutBonus          | 521   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | poke                 | 540   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progress             | 544   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressA            | 503   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressB            | 538   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressC            | 537   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressD            | 557   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | setIntakePrice       | 520   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | submit               | 514   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | sweep                | 546   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | sweeten              | 527   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | topUp                | 529   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | vote                 | 524   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | warp                 | 508   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawBonus        | 535   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawContribution | 528   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawLock         | 554   | 0       | 0        |\n╰----------+----------------------+-------+---------+----------╯\n\nLogs:\n  createTask: 5\n  topUp: 2\n  submit: 0\n  dispute: 0\n  vote: 0\n  appeal: 0\n  breakIntake: 6\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: 0\n  withdrawBonus: 0\n  payoutBonus: 0\n  mintTrophy: 0\n  lock: 4\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.00s (16.98s CPU time)\n\nRan 91 test suites in 17.05s (67.03s CPU time): 694 tests passed, 0 failed, 4 skipped (698 total tests)\n","passed":true},{"durationMs":219,"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\":94,\"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\":126,\"src/DareTrophy.sol\":222,\"src/DevPrices.sol\":129,\"src/HiddenList.sol\":306,\"src/OracleAttestation.sol\":57,\"src/ParamsRegistry.sol\":216,\"src/ProtocolDirectory.sol\":177,\"src/TaskVault.sol\":838,\"src/TrophyCatalog.sol\":119,\"src/VaultParams.sol\":250,\"src/VaultTypes.sol\":450,\"src/VotePower.sol\":52,\"src/YoloLockHub.sol\":154,\"src/YoloPredict.sol\":305,\"src/YoloSweetener.sol\":177,\"src/adapters/UniswapV3SwapAdapter.sol\":71,\"src/desks/CaseDesk.sol\":556,\"src/desks/Desk.sol\":143,\"src/desks/DeskApi.sol\":137,\"src/desks/DisputeDesk.sol\":807,\"src/helpers/AttestationChecker.sol\":59,\"src/helpers/SwarmQuestion.sol\":177,\"src/helpers/TextRules.sol\":245,\"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\":115,\"src/token/ProjectVesting.sol\":104,\"src/token/Vestings.sol\":38,\"src/token/YoloSplitter.sol\":103,\"src/token/YoloToken.sol\":176,\"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\":222,\"test/DisputeLinkOptional.t.sol\":82,\"test/Disputes.t.sol\":1309,\"test/Emergency.t.sol\":76,\"test/Evidence.t.sol\":338,\"test/ExtrasBareChain.t.sol\":91,\"test/Gas.t.sol\":183,\"test/GasTextSize.t.sol\":108,\"test/HiddenList.t.sol\":761,\"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\":734,\"test/YoloTokenBareChain.t.sol\":130,\"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/round3/Proof_7351432decec.t.sol\":82,\"test/audit/swarm117/SwarmAudit117.t.sol\":338,\"test/audit/swarm117/VestingClockPreStart.t.sol\":92,\"test/fork/ExtrasOnLiveCore.fork.t.sol\":149,\"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":19940,"exitCode":0,"name":"slither","output":"[high/high] arbitrary-send-erc20 at src/TaskVault.sol:548: TaskVault.collectBondPart(address,uint256,address,uint256) (src/TaskVault.sol#548-566) uses arbitrary from in transferFrom: IERC20(currency).safeTransferFrom(from,address(this),amount) (src/TaskVault.sol#563)\n[high/medium] arbitrary-send-eth at src/TaskVault.sol:774: TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#774-821) sends eth to arbitrary user\n[high/medium] arbitrary-send-eth at src/BuybackBurner.sol:94: BuybackBurner.forward(address) (src/BuybackBurner.sol#94-110) sends eth to arbitrary user\n[high/medium] reentrancy-balance at src/TaskVault.sol:774: Reentrancy in TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#774-821):\n[high/medium] reentrancy-balance at src/TaskVault.sol:774: Reentrancy in TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#774-821):\n[high/medium] reentrancy-balance at src/TaskVault.sol:774: Reentrancy in TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#774-821):\n[high/medium] reentrancy-balance at src/TaskVault.sol:599: Reentrancy in TaskVault.ask(AskTerms,bytes) (src/TaskVault.sol#599-638):\n[high/medium] reentrancy-eth at src/TaskVault.sol:253: Reentrancy in TaskVault.createTask(address,uint256,uint64,string,TaskRules,uint8,uint8,string,ImdPay) (src/TaskVault.sol#253-310):\n[high/medium] reentrancy-eth at src/TaskVault.sol:774: Reentrancy in TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#774-821):\n[high/high] uninitialized-state at src/YoloLockHub.sol:126: YoloLockHub._history (src/YoloLockHub.sol#46) is never initialized. It is used in:\n[medium/medium] divide-before-multiply at src/YoloLockHub.sol:66: YoloLockHub.lock(uint256,uint256) (src/YoloLockHub.sol#66-91) performs a multiplication on the result of a division:\n[medium/medium] divide-before-multiply at src/YoloLockHub.sol:66: YoloLockHub.lock(uint256,uint256) (src/YoloLockHub.sol#66-91) performs a multiplication on the result of a division:\n[medium/high] incorrect-equality at src/BuybackBurner.sol:94: BuybackBurner.forward(address) (src/BuybackBurner.sol#94-110) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/TaskVault.sol:760: TaskVault._trySend(address,address,uint256,uint256) (src/TaskVault.sol#760-768) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/token/NftGate.sol:109: NftGate.consume(address,uint256) (src/token/NftGate.sol#109-114) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/ProtocolDirectory.sol:122: ProtocolDirectory.setCurrent() (src/ProtocolDirectory.sol#122-131) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/YoloLockHub.sol:66: YoloLockHub.lock(uint256,uint256) (src/YoloLockHub.sol#66-91) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/token/YoloToken.sol:127: YoloToken._sellTax(uint256,uint256) (src/token/YoloToken.sol#127-130) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/ParamsRegistry.sol:92: ParamsRegistry.activateParams() (src/ParamsRegistry.sol#92-101) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/BuybackBurner.sol:84: BuybackBurner.burnYolo() (src/BuybackBurner.sol#84-89) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/TaskVault.sol:737: TaskVault._credit(address,address,uint256) (src/TaskVault.sol#737-741) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/desks/CaseDesk.sol:173: CaseDesk.step(uint256) (src/desks/CaseDesk.sol#173-236) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/token/ProjectVesting.sol:92: ProjectVesting.release(address) (src/token/ProjectVesting.sol#92-103) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/token/ProjectVesting.sol:75: ProjectVesting.vestedAmount(address,uint256) (src/token/ProjectVesting.sol#75-83) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/YoloLockHub.sol:145: YoloLockHub._checkpoint(address,uint96,uint64,uint32) (src/YoloLockHub.sol#145-153) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/desks/CaseDesk.sol:173: CaseDesk.step(uint256) (src/desks/CaseDesk.sol#173-236) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/YoloLockHub.sol:95: YoloLockHub.withdraw() (src/YoloLockHub.sol#95-103) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/BuybackBurner.sol:94: BuybackBurner.forward(address) (src/BuybackBurner.sol#94-110) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/TaskVault.sol:745: TaskVault._refundUnbooked(address,address,uint256) (src/TaskVault.sol#745-751) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/desks/CaseDesk.sol:519: CaseDesk._stakeBps(SubmitTerms,address,ParamsCore) (src/desks/CaseDesk.sol#519-538) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/ProtocolDirectory.sol:93: ProtocolDirectory.addVersion() (src/ProtocolDirectory.sol#93-101) uses a dangerous strict equality:\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:637: Reentrancy in DisputeDesk._settleDecided(uint256,Facts,bool,bool,ParamsCore) (src/desks/DisputeDesk.sol#637-728):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:505: Reentrancy in DisputeDesk.dropCaller(uint256) (src/desks/DisputeDesk.sol#505-508):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:513: Reentrancy in DisputeDesk.settle(uint256,Outcome,Facts) (src/desks/DisputeDesk.sol#513-529):\n[medium/medium] reentrancy-no-eth at src/TaskVault.sol:645: Reentrancy in TaskVault._advance(uint256) (src/TaskVault.sol#645-656):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:173: Reentrancy in CaseDesk.step(uint256) (src/desks/CaseDesk.sol#173-236):\n[medium/medium] reentrancy-no-eth at src/TaskVault.sol:339: Reentrancy in TaskVault.withdrawContribution(uint256) (src/TaskVault.sol#339-351):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:413: Reentrancy in CaseDesk._askAppeal(uint256,uint256,ParamsCore,RuleTexts) (src/desks/CaseDesk.sol#413-432):\n[medium/medium] reentrancy-no-eth at src/TaskVault.sol:370: Reentrancy in TaskVault.cancelTask(uint256) (src/TaskVault.sol#370-381):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:637: Reentrancy in DisputeDesk._settleDecided(uint256,Facts,bool,bool,ParamsCore) (src/desks/DisputeDesk.sol#637-728):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:173: Reentrancy in CaseDesk.step(uint256) (src/desks/CaseDesk.sol#173-236):\n[medium/medium] reentrancy-no-eth at src/YoloPredict.sol:237: Reentrancy in YoloPredict.claim(uint256) (src/YoloPredict.sol#237-272):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:264: Reentrancy in CaseDesk.askEscalation(uint256,uint256,RuleTexts) (src/desks/CaseDesk.sol#264-271):\n[medium/medium] reentrancy-no-eth at src/YoloPredict.sol:183: Reentrancy in YoloPredict.settle(uint256) (src/YoloPredict.sol#183-232):\n[medium/medium] reentrancy-no-eth at src/TaskVault.sol:317: Reentrancy in TaskVault.topUp(uint256,uint256,ImdPay) (src/TaskVault.sol#317-332):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:173: Reentrancy in CaseDesk.step(uint256) (src/desks/CaseDesk.sol#173-236):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:637: Reentrancy in DisputeDesk._settleDecided(uint256,Facts,bool,bool,ParamsCore) (src/desks/DisputeDesk.sol#637-728):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:467: Reentrancy in CaseDesk._finalize(uint256,Outcome) (src/desks/CaseDesk.sol#467-492):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:413: Reentrancy in CaseDesk._askAppeal(uint256,uint256,ParamsCore,RuleTexts) (src/desks/CaseDesk.sol#413-432):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:75: Reentrancy in CaseDesk.submit(uint256,string,Evidence,uint256,uint256,ImdPay) (src/desks/CaseDesk.sol#75-138):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:391: Reentrancy in DisputeDesk.claimVoterRewards(uint256[],address) (src/desks/DisputeDesk.sol#391-424):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:413: Reentrancy in CaseDesk._askAppeal(uint256,uint256,ParamsCore,RuleTexts) (src/desks/CaseDesk.sol#413-432):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:257: Reentrancy in DisputeDesk.callSwarm(uint256,bool,uint256,ImdPay,RuleTexts) (src/desks/DisputeDesk.sol#257-277):\n[medium/medium] reentrancy-no-eth at src/TaskVault.sol:183: Reentrancy in TaskVault.fallback() (src/TaskVault.sol#183-202):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:142: Reentrancy in CaseDesk.claimVoidSubmission(uint256) (src/desks/CaseDesk.sol#142-157):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:75: Reentrancy in CaseDesk.submit(uint256,string,Evidence,uint256,uint256,ImdPay) (src/desks/CaseDesk.sol#75-138):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:587: Reentrancy in DisputeDesk._settleNeutral(uint256,Facts) (src/desks/DisputeDesk.sol#587-596):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:173: Reentrancy in CaseDesk.step(uint256) (src/desks/CaseDesk.sol#173-236):\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:393: DisputeDesk.claimVoterRewards(uint256[],address).imdTotal (src/desks/DisputeDesk.sol#393) is a local variable never initialized\n[medium/medium] uninitialized-local at src/DareTrophy.sol:177: DareTrophy.badge(uint8).w (src/DareTrophy.sol#177) is a local variable never initialized\n[medium/medium] uninitialized-local at src/token/NftGate.sol:68: NftGate.record(address[],uint256[]).total (src/token/NftGate.sol#68) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:351: DisputeDesk.claimDisputer(uint256).payout (src/desks/DisputeDesk.sol#351) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:749: DisputeDesk._payReward(uint256,Facts,bool,ParamsCore).bonus (src/desks/DisputeDesk.sol#749) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloPredict.sol:202: YoloPredict.settle(uint256).toAuthor (src/YoloPredict.sol#202) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloLockHub.sol:129: YoloLockHub._pointBefore(address,uint256).lo (src/YoloLockHub.sol#129) is a local variable never initialized\n[medium/medium] uninitialized-local at src/VotePower.sol:37: VotePower.mayVote(address,uint256).owner (src/VotePower.sol#37) is a local variable never initialized\n[medium/medium] uninitialized-local at src/helpers/TextRules.sol:77: TextLib.checkCover(string).scheme (src/helpers/TextRules.sol#77) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:300: DisputeDesk._fundCall(Appeal,uint256,SubCore,uint256,uint256,ParamsCore,ImdPay).fromBond (src/desks/DisputeDesk.sol#300) is a local variable never initialized\n[medium/medium] uninitialized-local at src/helpers/SwarmQuestion.sol:142: SwarmQuestionBuilder.buildFor(address,uint256,uint8,uint256,RuleTexts).q (src/helpers/SwarmQuestion.sol#142) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:399: DisputeDesk.claimVoterRewards(uint256[],address).any (src/desks/DisputeDesk.sol#399) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloSweetener.sol:148: YoloSweetener.payout(uint256).extra (src/YoloSweetener.sol#148) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloPredict.sol:206: YoloPredict.settle(uint256).burnt (src/YoloPredict.sol#206) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloPredict.sol:200: YoloPredict.settle(uint256).doer (src/YoloPredict.sol#200) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloPredict.sol:204: YoloPredict.settle(uint256).toDoer (src/YoloPredict.sol#204) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:397: DisputeDesk.claimVoterRewards(uint256[],address).n (src/desks/DisputeDesk.sol#397) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloPredict.sol:246: YoloPredict.claim(uint256).pay (src/YoloPredict.sol#246) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/CaseDesk.sol:531: CaseDesk._stakeBps(SubmitTerms,address,ParamsCore).r (src/desks/CaseDesk.sol#531) is a local variable never initialized\n[medium/medium] uninitialized-local at src/TaskVault.sol:560: TaskVault.collectBondPart(address,uint256,address,uint256).noSwap (src/TaskVault.sol#560) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:298: DisputeDesk._fundCall(Appeal,uint256,SubCore,uint256,uint256,ParamsCore,ImdPay).bond (src/desks/DisputeDesk.sol#298) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:401: DisputeDesk.claimVoterRewards(uint256[],address).sweet (src/desks/DisputeDesk.sol#401) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloSweetener.sol:141: YoloSweetener.payout(uint256).toVoters (src/YoloSweetener.sol#141) is a local variable never initialized\n[medium/medium] unused-return at src/desks/CaseDesk.sol:443: CaseDesk._swarmStatus(bytes32,ParamsCore) (src/desks/CaseDesk.sol#443-460) ignores return value by (completed) = IIntake(p.intake).requests(rid) (src/desks/CaseDesk.sol#456-458)\n[medium/medium] unused-return at src/TaskVault.sol:774: TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#774-821) ignores return value by ISwapAdapter(adapter).swapExactIn(address(usdc_),address(imd_),payIn.amountIn,payIn.minImdOut,payIn.deadline,payIn.route,address(this)) (src/TaskVault.sol#803-812)\n[medium/medium] unused-return at src/desks/DisputeDesk.sol:137: DisputeDesk.vote(uint256,uint8,address,uint256[]) (src/desks/DisputeDesk.sol#137-192) ignores return value by (None,None,instantDelta,minWallets) = ParamsRegistry(registry).voteParams(version) (src/desks/DisputeDesk.sol#186)\n[medium/medium] unused-return at src/helpers/AttestationChecker.sol:43: AttestationChecker.check(address,uint16,uint16,OracleAttestation.Attestation,bytes) (src/helpers/AttestationChecker.sol#43-58) ignores return value by (signer,err,None) = ECDSA.tryRecover(digest(consumer,a),signature) (src/helpers/AttestationChecker.sol#55)\n[medium/medium] unused-return at src/desks/DisputeDesk.sol:235: DisputeDesk.askAppealSwarm(uint256,RuleTexts) (src/desks/DisputeDesk.sol#235-242) ignores return value by ICaseDesk(caseDesk).advanced(subId) (src/desks/DisputeDesk.sol#238)\n[medium/medium] unused-return at src/TaskVault.sol:774: TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#774-821) 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#795-797)\n[medium/medium] unused-return at src/YoloSweetener.sol:164: YoloSweetener.claimVoter(uint256,address) (src/YoloSweetener.sol#164-176) ignores return value by (n,None) = vault.votesOf(subId,payTo) (src/YoloSweetener.sol#166)\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] miss","passed":false}],"detail":"static analysis found arbitrary-send-erc20 at src/TaskVault.sol:548: TaskVault.collectBondPart(address,uint256,address,uint256) (src/TaskVault.sol#548-566) uses arbitrary from in transferFrom: IERC20(currency).safeTransferFrom(from,address(this),amount) (src/TaskVault.sol#563)","evaluation":"checks","profile":"foundry","status":"rejected","submissionHash":"b00fbb5c0e81d616baed9a18d956c3e3ff5ca3a29d679caa49854449643747b2","verifiedTreeHash":"76245c7814c0c3c8925ca4e47973729e2240b279","verifierVersion":"0.1.0+560ab6a2"},{"checks":[{"durationMs":499478,"exitCode":0,"name":"build","output":"Compiling 179 files with Solc 0.8.28\nSolc 0.8.28 finished in 499.30s\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:183:5:\n    |\n183 |     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:183:5:\n    |\n183 |     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":17072,"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 689.04µs (495.38µ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 710.31µs (257.67µ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 942.33µs (271.54µ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 991.44µs (884.15µs CPU time)\n\nRan 2 tests for test/review/ReviewYolo.t.sol:ReviewYoloUnit\n[PASS] test_vestingStreamsFromArrivalWithoutACliff() (gas: 897245)\n[PASS] test_whitelistRefusesOutputTakenToARouter() (gas: 1179429)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 1.13ms (930.71µs CPU time)\n\nRan 1 test for test/audit/AuditA.t.sol:AuditAUnit\n[PASS] test_Guard_vestingClocksStartAtTheSplit() (gas: 4074385)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.84ms (1.08ms CPU time)\n\nRan 2 tests for test/audit/AuditSweetenerBonus.t.sol:AuditVestingClock\n[PASS] test_clockStartsAtTheFirstReleaseWithABalance() (gas: 1732627)\n[PASS] test_splitStartsTheClocks() (gas: 4709047)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 2.74ms (2.28ms 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: 37762549)\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 4526 runtime, margin 20050\n  YoloLockHub 3297 runtime, margin 21279\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 4721 runtime, margin 19855\n  HiddenList 3815 runtime, margin 20761\n  YoloPredict 6385 runtime, margin 18191\n\n[PASS] test_L2_docLaunch1Args_matchPlan() (gas: 894953)\n[PASS] test_L3_docLaunch2Args_matchPlan() (gas: 1362448)\n[PASS] test_L5_docLaunch3Args_matchPlan() (gas: 686264)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 6.45ms (6.36ms 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 21.33ms (1.08ms 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.49µs (43.73µ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 518.30µs (160.20µ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 439.71µs (292.78µs 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 21.86ms (1.30ms 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 24.54ms (6.11ms 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 25.92ms (7.74ms 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 25.62ms (6.88ms 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 20.66ms (375.86µs 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 27.54ms (1.68ms 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 27.86ms (7.43ms 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 28.19ms (5.78ms 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 6.81ms (2.43ms 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 6.64ms (6.55ms 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.72ms (0.00ns 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 707.42µs (208.53µ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 35.90ms (9.43ms CPU time)\n\nRan 1 test for test/audit/round2/Proof_5d8c4edc729c.t.sol:HiddenListCooldownGriefTest\n[PASS] test_oneNftBlocksHonestHidersForAWeek() (gas: 1780686)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 904.43µs (675.86µ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 40.94ms (14.12ms 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.69ms (19.70ms 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 44.40ms (20.30ms 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.32ms (1.73ms CPU time)\n\nRan 7 tests for test/Directory.t.sol:DirectoryTest\n[PASS] test_CancelVersionClearsPendingVersionView() (gas: 762080)\n[PASS] test_ConstructorChecks() (gas: 6526)\n[PASS] test_CurrentMayGoBack() (gas: 591679)\n[PASS] test_OnlySafeProposesAndCancels() (gas: 600024)\n[PASS] test_ProposalChecks() (gas: 217548)\n[PASS] test_V2SideBySide_AfterTimelock() (gas: 7796545)\n[PASS] test_Version1FromConstructor() (gas: 66747)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 46.71ms (18.29ms 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.14ms (3.96ms 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 50.28ms (33.62ms 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 54.89ms (36.89ms 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.01ms (3.45ms 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: 15809348)\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.35ms (8.15ms CPU time)\n\nRan 47 tests for test/HiddenList.t.sol:HiddenListTest\n[PASS] test_10Of10NftsPassesAfterRoundEnd() (gas: 1666886)\n[PASS] test_2Of3WalletsDoesNotPassEvenWith10Nfts() (gas: 825347)\n[PASS] test_3Of3WalletsWith10NftsPasses() (gas: 929019)\n[PASS] test_9Of10NftsDoesNotPass() (gas: 1505324)\n[PASS] test_AllBadTokenIdsDoesNotOpenARound() (gas: 131946)\n[PASS] test_ConstructorAllowsZeroDelegateRegistry() (gas: 7024)\n[PASS] test_ConstructorFixesOwnerNoTransferFunction() (gas: 17198)\n[PASS] test_ConstructorRejectsZeroOwnerOrNft() (gas: 9339)\n[PASS] test_ContestAtFullQuorumThreeOwnersStillBuysCooldown() (gas: 2567908)\n[PASS] test_DelegateXyzDelegateCanVote() (gas: 267646)\n[PASS] test_EmptyTokenIdsDoesNotOpenARound() (gas: 41527)\n[PASS] test_EthWithDataReverts() (gas: 37873)\n[PASS] test_FailedRoundCanRetryAfter7Days() (gas: 2009478)\n[PASS] test_FailedRoundCannotRetryBefore7Days() (gas: 3173731)\n[PASS] test_GasNftHolderVote1NftLaterVote() (gas: 312478)\nLogs:\n  NFT holder vote, 1 NFT (later vote): 50089\n\n[PASS] test_GasNftHolderVote1NftOpensRound() (gas: 209804)\nLogs:\n  NFT holder vote, 1 NFT (opens a round): 130352\n\n[PASS] test_GasOwnerHides1Item() (gas: 61100)\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: 94246)\nLogs:\n  owner unhides 1 item: 32830\n\n[PASS] test_HideVoteEventCarriesVaultKindId() (gas: 211599)\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: 206219)\n[PASS] test_OwnerOfNftCanVote() (gas: 212485)\n[PASS] test_OwnerOverridesAPassedVoteBackToVisible() (gas: 1711534)\n[PASS] test_OwnerRestoreVisibleStartsCooldown() (gas: 1813413)\n[PASS] test_PlainEthTransferReverts() (gas: 36475)\n[PASS] test_SameIdDifferentVaultsAreIndependent() (gas: 70459)\n[PASS] test_SameWalletMoreNftsLaterAddToTallyNotWallets() (gas: 313708)\n[PASS] test_SelfContestAtNftQuorumOneOwnerDoesNotBuyCooldown() (gas: 1068223)\n[PASS] test_SelfContestRepeatsEvery8DaysHonestVoteStillCounts() (gas: 4125678)\n[PASS] test_SelfContestUnderQuorumDoesNotBlockHonestVoteNextDay() (gas: 2011009)\n[PASS] test_SetStateEmitsStateSetWithVaultKindId() (gas: 61751)\n[PASS] test_SetStateInstantNoTimelock() (gas: 63017)\n[PASS] test_SetStateRejectsBadStateValue() (gas: 32653)\n[PASS] test_StatusHiddenOnlyAfterRoundEndEvenIfQuorumAlreadyMet() (gas: 1690092)\n[PASS] test_StrangerCannotVoteWithSomeoneElsesNft() (gas: 132587)\n[PASS] test_TaskAndProofKindsAreIndependent() (gas: 69887)\n[PASS] test_TieHideEqualsKeepDoesNotPass() (gas: 3042317)\n[PASS] test_TokenIdCountsOnceInARound() (gas: 243556)\n[PASS] test_UncontestedFailedRoundRetriesAtOnce() (gas: 570458)\n[PASS] test_VotePassingCannotUnhideAnOwnerHiddenItem() (gas: 1036411)\n[PASS] test_WalletKeepsOneSidePerRoundOtherSideSkipped() (gas: 295471)\nSuite result: ok. 47 passed; 0 failed; 0 skipped; finished in 15.45ms (14.82ms 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 26.29ms (4.85ms 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.52ms (6.67ms CPU time)\n\nRan 6 tests for test/audit/AuditC.t.sol:AuditCTest\n[PASS] testFuzz_ValidTextMatchesReference(bytes,uint8,uint8) (runs: 256, μ: 262783, ~: 262376)\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 76.75ms (59.14ms 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 28.29ms (971.39µs 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 7.02ms (977.15µ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 36.98ms (17.49ms 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 89.84ms (63.02ms 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 93.14ms (75.57ms 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 435.17µs (321.05µs 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.19ms (37.68ms 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 107.94ms (81.48ms 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 159.81µs (27.66µs 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 71.06ms (44.10ms CPU time)\n\nRan 2 tests for test/ExtrasBareChain.t.sol:ExtrasBareChainTest\n[PASS] test_BareChain_NoVaultCode_AllSixDeploy() (gas: 9203752)\n[PASS] test_BareChain_NoVaultCode_ModulesInert() (gas: 9223556)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 1.67ms (1.29ms CPU time)\n\nRan 1 test for test/fork/ExtrasOnLiveCore.fork.t.sol:ExtrasOnLiveCoreForkTest\n[SKIP: skipped] setUp() (gas: 0)\nSuite result: ok. 0 passed; 0 failed; 1 skipped; finished in 393.66µs (0.00ns 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 18.61ms (1.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 19.59ms (1.71ms 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 137.49ms (117.30ms 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 64.70ms (40.53ms CPU time)\n\nRan 2 tests for test/audit/StakePowerRelock.t.sol:StakePowerRelockTest\n[PASS] test_RelockOfAnEndedLockGivesNoStakePower() (gas: 241519)\n[PASS] test_WithdrawThenLockGivesZero_reference() (gas: 303292)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 576.30µs (275.27µs 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 60.39ms (25.77ms CPU time)\n\nRan 34 tests for test/YoloToken.t.sol:YoloTokenTest\n[PASS] test_AfterMinute60_PlainErc20() (gas: 137108)\n[PASS] test_BeforeOpenAt_NobodyBuys() (gas: 752448)\n[PASS] test_ConstructorRejectsZeroPoolManagerOrSafe() (gas: 9166)\n[PASS] test_DevVesting_Linear12Months_NoCliff() (gas: 992024)\n[PASS] test_GateWithoutCode_PlainErc20() (gas: 280536)\n[PASS] test_Gate_ConsumeNeedsSealAndBooksPerCallingToken() (gas: 464018)\n[PASS] test_Gate_OnlyWriterRecordsAndSeals() (gas: 217032)\n[PASS] test_Gate_RecordChecksAndEvents() (gas: 564790)\n[PASS] test_Gate_SealIsIrreversible() (gas: 348173)\n[PASS] test_GenesisLaunch_SharesAddUp() (gas: 4276159)\n[PASS] test_IncentivesVesting_QuarterAtOnce_RestLinear24Months() (gas: 966982)\n[PASS] test_OpenAtBounds() (gas: 8963)\n[PASS] test_SealAtOpenAtDoesNotCount() (gas: 256878)\n[PASS] test_SellTax_BuyFreeSellTaxedInWindow_BothAt45() (gas: 564926)\n[PASS] test_SellTax_ExactAmounts() (gas: 1063766)\n[PASS] test_SellTax_OnTopOfBalanceAndAllowance() (gas: 480636)\n[PASS] test_SellTax_RoundsDownAndDustIsFree() (gas: 119004)\n[PASS] test_Snapshot_NftMovedAfterSnapshotGivesNothing() (gas: 504446)\n[PASS] test_Splitter_FixedSharesAndDustToTreasury() (gas: 497623)\n[PASS] test_Splitter_RejectsZeroAddresses() (gas: 5083)\n[PASS] test_Splitter_RemainderShortOf750M() (gas: 274291)\n[PASS] test_SupplyAndFixedSchedule() (gas: 67082)\n[PASS] test_Tax_ExactAmounts() (gas: 793640)\n[PASS] test_Tax_RoundsDownAndDustIsFree() (gas: 80188)\n[PASS] test_TeamVesting_Linear12Months_NoCliff() (gas: 838186)\n[PASS] test_TransfersAndTheLauncherAreFree() (gas: 770367)\n[PASS] test_TreasuryVesting_ShortRemainder() (gas: 145876)\n[PASS] test_TreasuryVesting_ThirdAtOnce_RestLinear12Months() (gas: 953436)\n[PASS] test_UnsealedSnapshot_WindowClosedToAll() (gas: 421448)\n[PASS] test_VestingBounds() (gas: 4331)\n[PASS] test_Whitelist_AllowancePerNftAndCumulative() (gas: 645735)\n[PASS] test_Whitelist_BoundaryAtMinute30() (gas: 408484)\n[PASS] test_Whitelist_IntermediaryRefused() (gas: 369643)\n[PASS] test_Whitelist_WalletOutsideSnapshotRefused() (gas: 283012)\nSuite result: ok. 34 passed; 0 failed; 0 skipped; finished in 8.92ms (7.38ms 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: 7001842)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 34.71ms (15.45ms CPU time)\n\nRan 2 tests for test/YoloTokenBareChain.t.sol:YoloTokenBareChainTest\n[PASS] test_BareChain_NoGateCode_PlainErc20() (gas: 894036)\n[PASS] test_GateCode_ScheduleAsBefore() (gas: 2087834)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 1.29ms (1.17ms CPU time)\n\nRan 14 tests for test/Sweetener.t.sol:SweetenerTest\n[PASS] test_AcceptedDoerGetsTheBonusMinusFee() (gas: 6969442)\n[PASS] test_DoerWhoSweetened_StakeExtraOnTheBonus() (gas: 6970240)\n[PASS] test_ExpiredTaskReturnsTheBonus() (gas: 5535110)\n[PASS] test_IdleBeforeDeadlineLocked_AfterDeadlineBack(uint256) (runs: 256, μ: 346719, ~: 346550)\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: 6849377)\n[PASS] test_StakedDoer_NftRight_VotesFiveDoerFourMore() (gas: 7869065)\n[PASS] test_StakedDoer_PartPowerAndSmallPower() (gas: 11839383)\n[PASS] test_TinyAddon_NoBondPart_NothingStuck() (gas: 8875206)\nSuite result: ok. 14 passed; 0 failed; 0 skipped; finished in 151.57ms (134.63ms CPU time)\n\nRan 21 tests for test/Swarm.t.sol:SwarmTest\n[PASS] testFuzz_NoMandatoryCheck_AnyRewardSize(uint256,uint8) (runs: 256, μ: 798582, ~: 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 150.64ms (254.15ms 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: 9207608)\nLogs:\n  YoloSweetener 6748 runtime bytes\n  TrophyCatalog 4228 runtime bytes\n  DareTrophy 11777 runtime bytes\n  ProtocolDirectory 4721 runtime bytes\n  HiddenList 3815 runtime bytes\n  YoloPredict 6385 runtime bytes\n  launch 3 execution gas 8714238\n  launch 3 calldata bytes 43172\n  launch 3 total gas (upper bound) 9425990\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 108.87ms (87.38ms 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.18ms (0.00ns 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 38.83ms (16.89ms 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 44.81ms (11.63ms 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 46.04ms (28.99ms 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 261.89ms (243.66ms CPU time)\n\nRan 23 tests for test/YoloPredict.t.sol:YoloPredictTest\n[PASS] testFuzz_BurnedPlusPaidEqualsDeposited(uint256,uint256,uint256,bool) (runs: 256, μ: 1981802, ~: 1629332)\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 238.79ms (225.01ms CPU time)\n\nRan 24 tests for test/Votes.t.sol:VotesTest\n[PASS] testFuzz_EachIdOnce(uint8,uint8) (runs: 256, μ: 3927739, ~: 3950020)\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 210.55ms (242.79ms 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, μ: 2484950, ~: 2478890)\n[PASS] testFuzz_Invariant_BurnedPaidHeldEqualsDeposited(uint256,uint8,uint8) (runs: 256, μ: 3023315, ~: 2840012)\n[PASS] testFuzz_Invariant_NeverPaysOutMoreThanDeposited(uint256,uint256,uint256,bool) (runs: 256, μ: 1953237, ~: 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 390.59ms (744.99ms 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: 14867668)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 545.25ms (57.05ms 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: 11291534)\n[PASS] test_EthWalletGriefsGas_PayoutStillSucceeds_ShareStaysInBurner() (gas: 7160159)\n[PASS] test_EthWalletReverts_PayoutStillSucceeds_ShareStaysInBurner() (gas: 7115317)\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: 6995473)\n[PASS] test_HalfStake_Accepted_Doer92_Wallet6_50_Treasury1_50() (gas: 6987266)\n[PASS] test_NftRight_FullStake_Wallet0_50() (gas: 7838856)\n[PASS] test_NftRight_NoStake_Wallet0() (gas: 7585240)\n[PASS] test_NftUndecided_FullStake_Wallet5_50() (gas: 7375378)\n[PASS] test_NftWrong_FullStake_Wallet5_50() (gas: 8806086)\n[PASS] test_NftWrong_NoStake_Wallet0() (gas: 8486905)\n[PASS] test_NoStake_Accepted_NothingToTheWallet() (gas: 6740492)\n[PASS] test_Rejected_NothingToTheWallet() (gas: 7583879)\n[PASS] test_SetBuybackWallet_OnlyDev_WithEvent() (gas: 518388)\n[PASS] test_YoloAddOn_BurnsNeverToTheWallet() (gas: 7150357)\n[PASS] test_YoloReward_FullStake_BurnsNeverToTheWallet() (gas: 6919574)\nSuite result: ok. 21 passed; 0 failed; 0 skipped; finished in 551.74ms (116.11ms CPU time)\n\nRan 1 test for test/review/ReviewQueue.t.sol:ReviewQueue\n[PASS] testFuzz_QueueContributorsGetExactlyTheirs((uint8,uint256)) (runs: 256, μ: 9036070, ~: 7899598)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 565.29ms (542.34ms 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 416.90ms (80.91ms CPU time)\n\nRan 4 tests for test/TextRule.t.sol:TextRuleTest\n[PASS] testFuzz_AsciiWithOneByte(uint16,uint16,uint8,uint256) (runs: 256, μ: 228223, ~: 159524)\n[PASS] testFuzz_MixedUtf8(uint256,uint16) (runs: 256, μ: 66908, ~: 61242)\n[PASS] testFuzz_RandomBytes(bytes) (runs: 256, μ: 14626, ~: 13631)\n[PASS] test_Examples() (gas: 562950)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 602.28ms (610.21ms 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 1.09s (115.30ms CPU time)\n\nRan 43 tests for test/MoneyRules.t.sol:MoneyRulesTest\n[PASS] test_AddonInPowerBase() (gas: 2911714)\n[PASS] test_BondsIgnoreTheAddon() (gas: 1853084)\n[PASS] test_Burner_NoOwner_AnyoneBurns() (gas: 171089)\n[PASS] test_Burner_PullsFailedPush() (gas: 7137033)\n[PASS] test_ContributorAfterSubmission_GetsBonus() (gas: 1645635)\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: 2132567)\n[PASS] test_Fake_RewardStaysTaskOpen() (gas: 7597808)\n[PASS] test_HubWithoutCode_PaysAsWithoutStake() (gas: 1282084)\n[PASS] test_LockEndedBeforePayout_NoBonus() (gas: 1516382)\n[PASS] test_MinRewardPerCurrency() (gas: 1945252)\n[PASS] test_NftRight_NoStake() (gas: 7806113)\n[PASS] test_NftRight_Staked() (gas: 8007063)\n[PASS] test_NftWrong_SwarmAccepts() (gas: 15020094)\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: 7040043)\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: 2448366)\n[PASS] test_PowerFixed_SubmissionMomentCounts() (gas: 3812834)\n[PASS] test_Predict_Entry_5_5_90_And_Deferred_2_5_Each() (gas: 1809555)\n[PASS] test_RelativeToTheReward_LowestPrice() (gas: 3587180)\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: 1579330)\n[PASS] test_WorkedExamples() (gas: 21019589)\n[PASS] test_YoloBonus_LockedUntilExpiry() (gas: 758394)\n[PASS] test_YoloBonus_SameRuleAsReward() (gas: 4136056)\n[PASS] test_YoloReward_TreasuryShareBurned() (gas: 11264623)\nSuite result: ok. 43 passed; 0 failed; 0 skipped; finished in 1.06s (189.39ms CPU time)\n\nRan 22 tests for test/YoloLockHub.t.sol:YoloLockHubTest\n[PASS] testFuzz_LockThenWithdrawReturnsExactAmount(uint256,uint256) (runs: 256, μ: 272458, ~: 272289)\n[PASS] testFuzz_PowerConstantThroughTheTerm(uint256,uint256,uint256) (runs: 256, μ: 151085, ~: 151147)\n[PASS] test_ConstructorTakesYolo() (gas: 18365)\n[PASS] test_EndOnlyLater_AmountOnlyGrows() (gas: 485049)\n[PASS] test_EndedLockLockedAgain() (gas: 477126)\n[PASS] test_LockAndWithdrawAfterTheEnd() (gas: 390877)\n[PASS] test_LockTermsAndZero() (gas: 406871)\n[PASS] test_PowerAt_ReadsTheLockStrictlyBefore() (gas: 698855)\n[PASS] test_Power_AddAndExtend() (gas: 868276)\n[PASS] test_Power_FixedAtTheLock_DoesNotFall() (gas: 464128)\n[PASS] test_Power_RollingOneWeekExtensionDropsToOneWeek() (gas: 698967)\n[PASS] test_Rule_QueuedDoer_PowerAtTheSubmission() (gas: 3240328)\n[PASS] test_StakePower_RunningLockOnly() (gas: 516879)\n[PASS] test_Vault_AddedAfterTheSubmission_NotCounted() (gas: 7092698)\n[PASS] test_Vault_LockEndedBeforePayout_NoBonus_RelockedBonus() (gas: 11466280)\n[PASS] test_Vault_LockedInTheSubmissionBlockOrLater_NoBonus() (gas: 11389415)\n[PASS] test_Vault_LowestPriceOfTheWindow() (gas: 1473781)\n[PASS] test_Vault_NoYoloPrice_NoBonus() (gas: 1366602)\n[PASS] test_Vault_PowerEqualsReward_Bonus4() (gas: 7007966)\n[PASS] test_Vault_PowerHalfTheReward_Bonus2() (gas: 6966740)\n[PASS] test_Vault_RelativeToTheReward() (gas: 16090127)\n[PASS] test_Vault_YoloReward_Direct() (gas: 6881934)\nSuite result: ok. 22 passed; 0 failed; 0 skipped; finished in 1.14s (132.23ms 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, μ: 9265840, ~: 9508573)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.14s (1.13s CPU time)\n\nRan 9 tests for test/ContractRules.t.sol:ContractRulesTest\n[PASS] test_AddonInPowerBase_FullBonusOnBoth() (gas: 7407934)\n[PASS] test_BigAddon_BonusNeedsLockAgainstRewardPlusAddon() (gas: 12394850)\n[PASS] test_EthTopUpDuringCheck_PaidToTheDoer() (gas: 6801929)\n[PASS] test_FriendTopUp_BonusNeedsLockAgainstTheWholePool() (gas: 11980041)\n[PASS] test_Stake5PercentOfReward_Bonus02Percent() (gas: 6982137)\n[PASS] test_TinyStake_WholeBpsRoundedDown() (gas: 1966430)\n[PASS] test_TopUpDuringRejectedCheck_PaidToTheNextDoer() (gas: 10503358)\n[PASS] test_TopUpInPowerBase_BonusOnTheWholeReward() (gas: 7206969)\n[PASS] test_UsdcTopUpDuringCheck_InTheDoersPayout() (gas: 7043285)\nSuite result: ok. 9 passed; 0 failed; 0 skipped; finished in 1.29s (68.33ms 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 1.29s (42.99ms 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, μ: 10830782, ~: 9981677)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.29s (1.27s 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: 16397492)\n[PASS] test_NoDispute_YoloReward_TreasuryShareBurned() (gas: 11290168)\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 3.88s (218.63ms CPU time)\n\nRan 8 tests for test/audit/AuditB.t.sol:AuditBTest\n[PASS] testFuzz_Guard_ModeAPaymentsBookExactly(uint256,uint96,uint96,bool) (runs: 256, μ: 7308797, ~: 7283218)\n[PASS] testFuzz_Guard_PinnedVersionNeverChanges(uint16,uint32) (runs: 256, μ: 3173332, ~: 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 3.88s (1.67s 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: 10735116)\n[PASS] test_Stake_EthAndImdBurnShareToBurner() (gas: 15022791)\n[PASS] test_Stake_FullPower_NftRight_VotesFive_BurnHalf_TreasuryHalf() (gas: 11405231)\n[PASS] test_Stake_FullPower_NftUndecided_BurnFiveAndHalf() (gas: 10916602)\n[PASS] test_Stake_FullPower_NoDispute_Bonus_AndBurnToBurner() (gas: 10514244)\n[PASS] test_Stake_LockEndedBeforePayout_NoBonus_RelockCounts() (gas: 15289688)\n[PASS] test_Stake_LockedInTheSubmissionBlock_NoBonus() (gas: 6869607)\n[PASS] test_Stake_None_FeeToTreasury() (gas: 10257490)\n[PASS] test_Stake_PartPower_NoDispute() (gas: 10512766)\n[PASS] test_Stake_ToppedUpAfterSubmission_OnlyThePowerBeforeCounts() (gas: 10601065)\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: 11465956)\n[PASS] test_YoloReward_TreasuryPartToBurner_FullPowerSix() (gas: 15101622)\nSuite result: ok. 51 passed; 0 failed; 0 skipped; finished in 3.85s (475.08ms CPU time)\n\nRan 2 tests for test/VotePowerFuzz.t.sol:VotePowerFuzzTest\n[PASS] testFuzz_OneVotePerNft(uint256) (runs: 256, μ: 97691220, ~: 100591710)\n[PASS] test_OneVotePerNft_Fixed() (gas: 387093914)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 3.80s (4.04s 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               | 506   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | appeal               | 588   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | askAppealSwarm       | 571   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | breakIntake          | 540   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | callSwarm            | 533   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | claim                | 584   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | createTask           | 534   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | dispute              | 507   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | expireAndWithdraw    | 572   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | lock                 | 520   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | mintTrophy           | 520   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | payoutBonus          | 521   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | poke                 | 540   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progress             | 544   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressA            | 503   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressB            | 538   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressC            | 537   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressD            | 557   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | setIntakePrice       | 520   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | submit               | 514   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | sweep                | 546   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | sweeten              | 527   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | topUp                | 529   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | vote                 | 524   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | warp                 | 508   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawBonus        | 535   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawContribution | 528   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawLock         | 554   | 0       | 0        |\n╰----------+----------------------+-------+---------+----------╯\n\nLogs:\n  createTask: 5\n  topUp: 4\n  submit: 0\n  dispute: 0\n  vote: 0\n  appeal: 0\n  breakIntake: 6\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: 0\n  withdrawBonus: 0\n  payoutBonus: 0\n  mintTrophy: 0\n  lock: 4\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.85s (16.83s 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 16.92s (33.53ms CPU time)\n\nRan 90 test suites in 16.93s (63.46s CPU time): 693 tests passed, 0 failed, 4 skipped (697 total tests)\n","passed":true},{"durationMs":216,"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\":122,\"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\":50,\"script/DeployMainnet.s.sol\":187,\"script/LaunchPlan.sol\":422,\"script/check-launch-task.py\":32,\"script/snapshot/snapshot.py\":187,\"src/BuybackBurner.sol\":126,\"src/DareTrophy.sol\":222,\"src/DevPrices.sol\":129,\"src/HiddenList.sol\":304,\"src/OracleAttestation.sol\":57,\"src/ParamsRegistry.sol\":216,\"src/ProtocolDirectory.sol\":177,\"src/TaskVault.sol\":844,\"src/TrophyCatalog.sol\":119,\"src/VaultParams.sol\":250,\"src/VaultTypes.sol\":450,\"src/VotePower.sol\":52,\"src/YoloLockHub.sol\":155,\"src/YoloPredict.sol\":305,\"src/YoloSweetener.sol\":177,\"src/adapters/UniswapV3SwapAdapter.sol\":71,\"src/desks/CaseDesk.sol\":556,\"src/desks/Desk.sol\":143,\"src/desks/DeskApi.sol\":137,\"src/desks/DisputeDesk.sol\":807,\"src/helpers/AttestationChecker.sol\":59,\"src/helpers/SwarmQuestion.sol\":177,\"src/helpers/TextRules.sol\":245,\"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\":115,\"src/token/ProjectVesting.sol\":104,\"src/token/Vestings.sol\":38,\"src/token/YoloSplitter.sol\":103,\"src/token/YoloToken.sol\":176,\"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\":223,\"test/DisputeLinkOptional.t.sol\":82,\"test/Disputes.t.sol\":1309,\"test/Emergency.t.sol\":76,\"test/Evidence.t.sol\":338,\"test/ExtrasBareChain.t.sol\":91,\"test/Gas.t.sol\":183,\"test/GasTextSize.t.sol\":108,\"test/HiddenList.t.sol\":762,\"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\":734,\"test/YoloTokenBareChain.t.sol\":130,\"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/ExtrasOnLiveCore.fork.t.sol\":149,\"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":"f250341583f37df923d1a9316c135f8fb265320fdc8ba0c53335a77cf871b93e","verifiedTreeHash":"708edf520f69bffea615cb2156f6beccb8f92afb","verifierVersion":"0.1.0+560ab6a2"}]}