{"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":"315032e8-1b26-4aa1-8f1e-03dce4cd18b0","kind":"shape:chain","nodes":[{"acceptedSubmissionHash":"098227d9b2a9637922d127aa30ff7dc07cf03c73f6b9a655c0e9aec9c72d333b","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":"c91f4be26d893999008da5000a0873bf0f9edc25376a9788d26bf765e4b007a9","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":"74057db671766a613282763f045e719b0faf3928a3dc4d98ddf2bbcd18201167","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":"10cb961ce9d0722fec68bad90db94d579743f7221bd583bc022ded102f06c5d4","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":"b20390e07ac7c2eb53aa6a6faf9cb1a29a20f462cefb9e6636741053b47dfc79","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":"788e5c5ddc76e0d332c4f79a9cd640a65bcec48670046d85e451cc0186fc24b2","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":"81dc469c0de8b2b6f3e0ef160aa197d90d035aacf022436b6474680559be9ecb","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":"41f34c4f0ae5868024e0b220106bc51a462704caeab74e74c4c2cce5dbb9602c","dependsOn":["adapt_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"tools":[]},"key":"manifest","kind":"code","role":"integrate","skillHash":null,"skillId":null,"state":"accepted"},{"acceptedSubmissionHash":"03da5aca44bf7351558b362983daa6a453f0c7347af7cdc863bdb9e4ba6d0fae","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 token and support contracts of moneycanbuy.fun as they are: a custom_token launch from this repository on Ethereum mainnet, paired with IMD, the second of four. From launch #2292: the YoloSplitter (remainderTo) and the NftGate (a token argument); the core (YoloLockHub, CaseDesk, DisputeDesk, TaskVault) follows as an evm_contracts launch taking this one's addresses as static arguments, then the $YOLO modules. script/LaunchPlan.sol is all four launches in code (support is this one).\n\nFIXED: Constructor arguments and every number in this brief (openAt, addresses, supply, shares) are fixed. Do not change any of them. Sole exception: if the launch cannot be mined before openAt, openAt may move later, at most to 1792594800 (21 Oct 2026 15:00 UTC); otherwise fail the job. The `slither-disable-next-line` comments in src/ are intentional, each marks a reviewed false positive; keep them.\n\nToken: contract YoloToken, name \"YOLO\", symbol YOLO, 18 decimals, constructorArgs [\"$poolManager\", \"0x97C8Fe82527F1a65A147bB0b425C717E4EC547C2\", \"0x3c587Eff6c96eAcF7E3dcC2CFf6416161386E48C\", \"1792584000\"], totalSupply 1000000000000000000000000000 (1,000,000,000 minted once to msg.sender, the factory). No owner, no mint, burn or pause, no list anyone can edit. A buy is a transfer out of the Uniswap v4 PoolManager ($poolManager, compared with nothing), a sell a transfer into it. Trading opens at openAt = 1792584000 (unix seconds, immutable, deployment to +30 days, else BadOpenAt); before it every buy reverts TradingNotOpen(openAt), seeding works. No code at the gate address at deployment (IMD's empty-chain floor) makes the token a plain ERC-20 for good: any openAt, no TradingNotOpen, whitelist or tax. From openAt YoloToken._update taxes buys and sells on a fixed self-ending schedule, in YOLO, to the project wallet 0x3c587Eff6c96eAcF7E3dcC2CFf6416161386E48C fixed at deployment (non-zero):\n- minutes 0-30: only snapshot wallets buy, untaxed. The token reverts SnapshotNotSealed() unless sealedAt() of the NftGate 0x97C8Fe82527F1a65A147bB0b425C717E4EC547C2 is before openAt, then calls consume(buyer, amount): NotWhitelisted(buyer) outside the snapshot, NftAllowanceExceeded(buyer, left, wanted) above what is left of 500,000 YOLO per NFT for the window. Every sell pays 30%.\n- minutes 30-60: anyone trades; the tax on both sides falls linearly from 30% to 0. Buy tax = amount x 3000 x (3600 - seconds since openAt) / 18,000,000 rounded down, taken from what the pool sends.\n- from minute 60: a plain ERC-20 for good.\nA sell's tax comes on top, from the seller's wallet: the pool gets exactly what the swap settles, the tax is its share of all the seller parts with (100 YOLO sold at 30%: 70 to the pool, 30 to the project wallet). Wallet transfers are never taxed, nor sells before openAt (not refused either); the deployer (the factory: seeding, claimFees, the swarm's share) and the PoolManager are exempt.\n\nKnown limits, accepted by design: the gate calls in minutes 0-30 (a fixed address deployed first, writes only its own storage); a buy kept as an ERC-6909 claim in the PoolManager is no transfer, so it skips openAt, the gate and the tax until taken out, and a claim can be sold back untaxed; liquidity added from a wallet after openAt pays the sell tax; YOLO pools outside Uniswap v4 are not taxed; in minutes 0-30 a route paying a router or contract first is refused (the Universal Router's TAKE_ALL passes, fork-tested); the router checks its minimum output before the buy tax; a whole-balance sell in minutes 0-60 reverts (tax on top); scanners flag the schedule and external calls.\n\nEconomics, copied into launch.json exactly: poolBps 1500, initialMarketCapWei 15000000000000000000000, remainderTo 0xF165884070B1A1E571F4A3b50FD727FE8380Bee4. Pool: fee 12500, tick spacing 60.\n\nContracts, in this order:\n1. DevPrices, constructorArgs [\"0x8Ad18E99F4C8d8406f9Ba8899CF308000518A981\", \"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\", \"0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7\", \"$token\", \"1000000000000000\", \"2400000000000000000000\", \"5500000000000000000\"]\n2. UniswapV3SwapAdapter, constructorArgs [\"0x68b3465833fb72a70ecdf485e0e4c7bd8665fc45\", \"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\"]\n3. ParamsRegistry, constructorArgs [\"0x3c587Eff6c96eAcF7E3dcC2CFf6416161386E48C\", \"0xa43e6f75ee006411f79ac1c84120606c2330de82\", \"$contract:DevPrices\", \"$contract:UniswapV3SwapAdapter\", \"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d\", \"0x00000000000000447e69651d841bd8d104bed493\", \"0x3c587Eff6c96eAcF7E3dcC2CFf6416161386E48C\", \"0x5598aa9146215bc13eb26f2c692ad1461fd32982\"]\n4. TextRules, constructorArgs []\n5. SwarmQuestionBuilder, constructorArgs []\n6. VotePower, constructorArgs [\"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d\", \"0x00000000000000447e69651d841bd8d104bed493\"]\n7. AttestationChecker, constructorArgs [\"$contract:ParamsRegistry\"]\n8. BuybackBurner, constructorArgs [\"$token\", \"0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7\", \"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\", \"$contract:DevPrices\", \"0x027e55f01e8cf808e5d2a2ad68e5e7f67fd6df6e\"]\n\nWhat each does: DevPrices holds every price the protocol uses, set by hand by its owner, the dev wallet; no oracle. USD per whole YOLO (start 0.001), ETH (start 2,400) and IMD (start 5.5), USDC fixed at $1; zero is refused and one call moves a price at most 10x up or down, each change an event. Prices never decide who is paid: they only set the stake bonus (a doer's YOLO lock against the reward plus the YOLO add-on). The dev wallet alone may cancel a task (everyone takes back what they put in, the dev wallet gets nothing). The adapter swaps ETH or USDC to IMD for bonds paid in another currency. ParamsRegistry holds versioned parameters (version 1 compiled in) and the swarm answer signers; its owner changes both only behind a 48-hour timelock, inside compiled bounds, and can pause new tasks; it never moves or freezes money, but the signer set is global (a change reaches open cases; the last signer stays). TextRules, SwarmQuestionBuilder and AttestationChecker are stateless helpers. VotePower says who may vote with an identity.md NFT now: its owner or the owner's delegate.xyz v2 delegate; no registration, snapshot, state or owner. BuybackBurner swaps nothing: YOLO burn shares wait there and anyone may call burnYolo() (all YOLO to 0x000000000000000000000000000000000000dEaD); the vault sends ETH, USDC and IMD burn shares straight to the buyback wallet at the payout, and anything stuck there anyone sends on with forward(token) or pull(vault, token); no caller reward. The buyback wallet starts at 0x027E55f01e8Cf808E5D2a2Ad68E5e7f67fD6dF6E; only the DevPrices owner changes it (setBuybackWallet, an event).\n\nEvery constructor takes only addresses and integers, with no external call. None of these eight contracts holds user funds. Supply: the swarm 10%, the pool 15%, the YoloSplitter 75%.\n\nThe tests must keep passing: forge test (688 tests), and forge test with FORK_URL set to a mainnet archive RPC: test/fork/LaunchRehearsal.fork.t.sol runs all four launches through the live ProjectFactory, checks each against the 16,777,216 gas cap (this one ~12.7M), trades YOLO's first hour through the live Universal Router (real NFT holders, edges of minutes 30 and 60, exact taxes), runs tasks end to end and sends the burner's ETH, USDC and IMD to the buyback wallet.\n\nAudit it as it arrived. Adapt only what the launch rules require (launch.json, ADAPTATION.md); no line of src/ or script/ changes. Record each audit finding in ADAPTATION.md as a note, without a code change. Do not change the token, its supply, the gate, the taxes or the schedule, the economics, the recipients, the parameter values, bounds or timelock, the prices or constructor arguments, nor add an owner, a pause, an upgrade path, minting or a fee.\nKnown limitations listed in docs are accepted rules, not findings; do not change them.","parentJobId":null,"planHash":"8a9d67ed6aa1a6eab078446f54b91aec13ddefb3cead851bb20eff24d2e170be","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"315032e8-1b26-4aa1-8f1e-03dce4cd18b0","publication":{"commit":null,"deliveredAt":null,"repoUrl":"https://github.com/identity-md-launches/launch-2364-launch-yolo-token-support"},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[{"agentId":"52691","feedbackHash":"c918c2218d18dc6aea87242fc6c2e3e669d6c590abf638f13ac7ff054cd4e759","nodeKey":"adapt_contract_project","submissionHash":"098227d9b2a9637922d127aa30ff7dc07cf03c73f6b9a655c0e9aec9c72d333b","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"52137","feedbackHash":"dbef3911a1a2044ae5c712453f8d212e61bf1fb84329aae0ee886c0255b7105f","nodeKey":"audit_economics","submissionHash":"c91f4be26d893999008da5000a0873bf0f9edc25376a9788d26bf765e4b007a9","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52468","feedbackHash":"b6dd43cf7ad5b3a3558d063df57b7f18ce2fad5346570f1d4c8fb9183cf88e06","nodeKey":"audit_flow","submissionHash":"74057db671766a613282763f045e719b0faf3928a3dc4d98ddf2bbcd18201167","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52173","feedbackHash":"1289e1fce294b07ae213bc048aa0ed90370ca495e91de23d849648ad1321eb88","nodeKey":"audit_imported_code","submissionHash":"10cb961ce9d0722fec68bad90db94d579743f7221bd583bc022ded102f06c5d4","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52667","feedbackHash":"a760fbe81532db7ccd40c6204f71858cea08a7e1f99a93d0a0895b2f1ce9ae8d","nodeKey":"audit_judge","submissionHash":"b20390e07ac7c2eb53aa6a6faf9cb1a29a20f462cefb9e6636741053b47dfc79","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52161","feedbackHash":"0ed94a674b8fc9cd4a6011fbc7f7e902360839d5d0d95dbedff9f60d68ca6283","nodeKey":"audit_math","submissionHash":"788e5c5ddc76e0d332c4f79a9cd640a65bcec48670046d85e451cc0186fc24b2","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52734","feedbackHash":"12daa3a6a86fdb73e9d291cc2688ad605f2bd078519d345f37d7c4053469c921","nodeKey":"audit_permissions","submissionHash":"81dc469c0de8b2b6f3e0ef160aa197d90d035aacf022436b6474680559be9ecb","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52158","feedbackHash":"ba70a87cd857bb5c0175673bd6a7ba5ed8150988f50e10afd1b4fdd7ba699833","nodeKey":"manifest","submissionHash":"41f34c4f0ae5868024e0b220106bc51a462704caeab74e74c4c2cce5dbb9602c","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"51051","feedbackHash":"66aa749aa143c7f843872817b708ac696ccdc27eef8a4db111896fbe39c04b01","nodeKey":"write_foundry_tests","submissionHash":"03da5aca44bf7351558b362983daa6a453f0c7347af7cdc863bdb9e4ba6d0fae","tag1":"verification:checks","tag2":"acceptance-v2","value":1}],"site":null,"snapshotHash":"26c63d5cdb752cbb218eb1f97c63061101cdab799963e13cd1fb3b718c7ff5e6","state":"completed","submissions":[{"artifacts":[],"attempt":2,"bundleHash":"401498734477a2e6af26c98adbcf7ecbeb7a43fd64b4b345d9f95f14c5e06df0","device":"313844d2b9a5b66c","findings":[],"hash":"03da5aca44bf7351558b362983daa6a453f0c7347af7cdc863bdb9e4ba6d0fae","nodeId":"ea6ea862-f913-41de-9bc2-c91b5220e472","outcome":"completed","summary":"Added failure-path tests and three invariant suites for YOLO, the burner, and splitter/vestings. Repaired three stale fork gas assertions while preserving the fixed cap.\n\nVerified with the required fuzz seed:\n\n- Clean build: passed, no SIGKILL.\n- Offline: 737 passed, 3 fork skips.\n- Mainnet fork: 746 passed, zero failures.\n\nOnly `test/` changed.","treeHash":"b0e6dd0decb8b4ead23d97cfd3374b4688d962b4","usage":{"cachedInputTokens":9858944,"inputTokens":220588,"model":"gpt-6-astra","outputTokens":56749,"runtime":"codex","turns":17,"wallClockMs":2224610}},{"artifacts":[],"attempt":1,"bundleHash":"34fc55dd714e69a74f65d76ab412eaf64476e2b172d5bb1427224081b3621da9","device":"0ba96dbf1a077731","findings":[],"hash":"098227d9b2a9637922d127aa30ff7dc07cf03c73f6b9a655c0e9aec9c72d333b","nodeId":"3bd059ca-4087-4675-a22f-e0877bf2bc49","outcome":"completed","summary":"Created [launch.json](/home/imd4/.identitymd/work/315032e8-1b26-4aa1-8f1e-03dce4cd18b0/3bd059ca-4087-4675-a22f-e0877bf2bc49/launch.json) and [ADAPTATION.md](/home/imd4/.identitymd/work/315032e8-1b26-4aa1-8f1e-03dce4cd18b0/3bd059ca-4087-4675-a22f-e0877bf2bc49/ADAPTATION.md), covering all seven audit entries. Sources, scripts and fixed inputs remain unchanged.\n\n- `forge build` passed.\n- Seeded local tests: **698 passed**.\n- Mainnet launch rehearsal passed; fixed-manifest launch used **12,752,226 gas**, below the cap.\n- Full fork suite: **708 passed, 3 failed** on existing gas-estimate assertions, documented in ADAPTATION.md.\n\nThe gate is sealed. `openAt` remains noon UTC.","treeHash":"6f1bdae90dd9fd0a6c38174094b8dd4f04f84dfd","usage":{"cachedInputTokens":8044800,"inputTokens":295386,"model":"gpt-6-astra","outputTokens":38049,"runtime":"codex","turns":12,"wallClockMs":1414033}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"c2e167266d13dcf4","findings":[{"citation":"resolved","description":"The gate 0x97C8Fe82527F1a65A147bB0b425C717E4EC547C2 holds code on mainnet (3,835 bytes at block 26238804), so `scheduled_` is true and the constructor holds `openAt_` to the deployment window. The fixed constructor argument openAt = 1792584000 is 21 Oct 2026 12:00:00 UTC. The chain head when this review ran was block 26238804 at timestamp 1792559603 (05:13 UTC): the launch transaction has under seven hours to be mined. The brief allows openAt to move later, at most to 1792594800 (15:00 UTC). This is not a code defect; it is the fixed input against the clock. The adapter should set openAt to the latest value the brief allows only if the deployer cannot guarantee mining before 12:00 UTC, and must know that a late launch fails atomically (the token constructor reverts inside ProjectFactory.launchCustom, so nothing of launch #2 deploys). The repository's own tests cover the revert (test/YoloToken.t.sol:98, test/YoloTokenBareChain.t.sol:72).","line":80,"path":"src/token/YoloToken.sol","reproduction":"State: gate address has code (mainnet). Input: constructorArgs [poolManager, 0x97C8Fe82527F1a65A147bB0b425C717E4EC547C2, 0x3c587Eff6c96eAcF7E3dcC2CFf6416161386E48C, 1792584000], deployment block.timestamp = 1792584001 (12:00:01 UTC) or later. Expected (brief): the launch deploys and trading opens at openAt. Actual: `new YoloToken(...)` reverts BadOpenAt(1792584000); the factory's launch transaction reverts and none of the nine contracts exists. At block.timestamp <= 1792584000 the same call succeeds.","severity":"medium","snippet":"        if (scheduled_ && (openAt_ < block.timestamp || openAt_ > block.timestamp + MAX_OPEN_DELAY)) {","title":"openAt 1792584000 is about 6.8 hours ahead of the chain head: a launch mined at any block timestamp above it reverts the whole launch with BadOpenAt"},{"citation":"resolved","description":"Read from mainnet at block 26238804 (timestamp 1792559603): NftGate 0x97C8Fe82527F1a65A147bB0b425C717E4EC547C2 has writer() = 0x3c587Eff6c96eAcF7E3dcC2CFf6416161386E48C (the treasury), nft() = 0x0000eC93127BAA929E58E97dd0095A2BFb38ec1D, sealedAt() = 0, walletCount() = 0, totalNfts() = 0, snapshotBlock() = 0; the treasury's nonce is 1. The token opens the whitelist window only for a snapshot sealed strictly before openAt (`sealedAt >= openAt` is refused too, so a seal mined in the block whose timestamp equals 1792584000 does not count). NftGate.seal reverts EmptySnapshot while walletCount is 0, so at least one `record` batch and the `seal` must both be mined by the treasury wallet with block.timestamp <= 1792583999. If openAt is moved later under the brief's exception, the seal deadline moves with it. The behaviour is the documented design (the brief: 'reverts SnapshotNotSealed() unless sealedAt() ... is before openAt'); the finding is the live state that makes it bite. Covered in code by test/YoloToken.t.sol:195-232 and test/YoloTokenBareChain.t.sol:91.","line":158,"path":"src/token/YoloToken.sol","reproduction":"State: mainnet gate as read above (sealedAt == 0) and the token deployed with the fixed arguments; block.timestamp = 1792584000 .. 1792585799 (12:00-12:29:59 UTC). Input: any swap that takes YOLO out of the PoolManager to a wallet (Universal Router TAKE_ALL to the buyer, or PoolManager.take), e.g. a snapshot holder buying 1e18 YOLO. Expected (brief, with a sealed snapshot): the holder receives 1e18 YOLO untaxed and consume() books it. Actual: YoloToken._update reverts SnapshotNotSealed() for every buyer, snapshot or not, for the whole 30 minutes; sells in the same window still pay 30% (`_sellTax`). From 12:30 UTC trading proceeds with the 30%->0 tax regardless. Same outcome if the seal is mined at block.timestamp >= 1792584000.","severity":"medium","snippet":"                    if (sealedAt == 0 || sealedAt >= openAt) revert SnapshotNotSealed();","title":"The live NftGate is unsealed with zero wallets recorded: unless record+seal are mined before openAt, every pool buy in minutes 0-30 reverts SnapshotNotSealed"},{"citation":"resolved","description":"DevPrices constructorArgs fix yoloPriceUsd = 1000000000000000 (0.001 USD) and imdUsd = 5.5 USD. The same brief fixes economics.initialMarketCapWei = 15,000 IMD for the 1,000,000,000 supply: 15,000 x 5.5 / 1e9 = 0.0000825 USD per YOLO at the opening tick, 12.1x below the DevPrices figure. DevPrices.yoloValue is read by CaseDesk._stakeBps (src/desks/CaseDesk.sol:532) to compare a doer's locked YOLO against the reward: with the price 12x too high, a lock worth one twelfth of the reward at the opening price already earns the maximum stake bonus. Prices never decide who is paid (brief), so this is a sizing error, not a loss of funds. The owner (0x8Ad18E99F4C8d8406f9Ba8899CF308000518A981) can only correct it in two transactions because `_check` caps one call at 10x (src/DevPrices.sol:89): setYoloPriceUsd(100000000000000) then setYoloPriceUsd(82500000000000). Both numbers are fixed by the brief, so this is a note for the author, not a change for the adapter.","line":74,"path":"script/LaunchPlan.sol","reproduction":"Input: a task with reward 100 USDC (pot 100e6) and a doer who locks 100,000e18 YOLO in the hub. DevPrices.yoloValue(USDC, 100e6) = usdValue 100e18 * 1e18 / 1e15 = 100,000e18, so power >= r and _stakeBps returns MAX_STAKE_BONUS_BPS. Expected at the opening price: 100 USD of YOLO is about 1,212,121 YOLO; a 100,000 YOLO lock (about 8.25 USD at the pool's opening price) should earn roughly one twelfth of the maximum. Actual: the full maximum.","severity":"low","snippet":"    uint256 internal constant YOLO_PRICE_USD = 0.001e18;","title":"DevPrices starts $YOLO at 0.001 USD while the launch economics open the pool at about 0.0000825 USD per YOLO: the doer stake bonus is sized 12x too generously"},{"citation":"resolved","description":"The protocol's OracleAttestationConsumer (oracle-consumer REFERENCE.md, `_verifyAttestation`) reverts AttestationExpired whenever block.timestamp > a.expiresAt, so an attestation with expiresAt = 0 is always expired there, and it also refuses issuedAt more than 5 minutes in the future. This checker treats expiresAt = 0 as unbounded validity and never reads issuedAt. The signer set is the trusted oracle key (ParamsRegistry.isAttester), so exploiting this needs a signed zero-expiry attestation; the brief says every signed answer carries validForSeconds (2592000 in bodyFields). Impact is a weaker guarantee than the protocol's, not a loss: a zero-expiry attestation, if one were ever signed, could be presented to TaskVault at any later time. TaskVault consumes request ids, which bounds replay to one use. Keep as a note; aligning the check (`a.expiresAt < block.timestamp` without the zero exemption) is the minimal fix if the author wants parity.","line":54,"path":"src/helpers/AttestationChecker.sol","reproduction":"Input: Attestation a with answerType 0, answer = abi.encode(true), panelSize 7, quorum 5, agreed 5, issuedAt 1792559603, expiresAt 0, signed over digest(consumer, a) by an address with isAttester == true; call check(consumer, 7, 5, a, sig) at block.timestamp = 1900000000. Expected (protocol reference): rejected as expired. Actual: returns 0 (accepted).","severity":"low","snippet":"        if (a.expiresAt != 0 && a.expiresAt < block.timestamp) return 6;","title":"AttestationChecker accepts expiresAt == 0 as 'never expires' and ignores issuedAt, diverging from the protocol's reference verifier"},{"citation":"resolved","description":"SwapRouter02.exactInput treats params.amountIn == 0 (Constants.CONTRACT_BALANCE) as 'swap the router's entire balance of the first path token' and skips the pull from the caller. The adapter does not refuse amountIn = 0: for an ERC-20 input it pulls 0 from msg.sender, approves 0 and calls exactInput with amountIn 0; for ETH input it requires msg.value == 0 and does the same. The output then comes from whatever tokenIn dust sits in the router. The adapter and the vault hold nothing in the router, so no protocol funds are at risk and anyone can already call the router directly for that dust; but through TaskVault.collectImd (src/TaskVault.sol:803) a payer could pass amountIn 0 and have a bond's IMD funded by router dust when minImdOut is met, which is a quirk the vault's balance-difference accounting does not distinguish from a real payment. Minimal fix: revert on amountIn == 0 in swapExactIn.","line":67,"path":"src/adapters/UniswapV3SwapAdapter.sol","reproduction":"State: SwapRouter02 holds some USDC dust (routinely true on mainnet). Input: swapExactIn(USDC, IMD, 0, 0, block.timestamp, abi.encodePacked(USDC, uint24(3000), IMD), attacker) from any EOA with no USDC approval. Expected: revert (nothing to swap) or amountOut 0. Actual: the router swaps its own USDC balance along the path and sends the IMD to `attacker`; the adapter returns that amountOut.","severity":"low","snippet":"            amountOut = router.exactInput(params);","title":"UniswapV3SwapAdapter passes amountIn = 0 straight to SwapRouter02, where 0 is the CONTRACT_BALANCE sentinel: the router then swaps its own token balance to the recipient"},{"citation":"resolved","description":"`pull(vault, token)` is permissionless and `vault` is not checked against anything, so anyone can make the burner call `withdraw(address)` (selector 0x51cff8d9) on an arbitrary contract with the burner as msg.sender. The burner holds no approvals and sends no value with the call, and nothing in this launch grants the burner's address a privilege, so no loss was found: the reviewed consequence is only that the burner can be made to execute foreign code. Binding `vault` to a fixed address is not possible here (the vault is launch #3), so the note is for awareness; a future contract that trusts msg.sender == burner must not exist.","line":124,"path":"src/BuybackBurner.sol","reproduction":"Input: pull(0xAttackerContract, anyToken) from any EOA. Expected: only the TaskVault credit path. Actual: the burner calls 0xAttackerContract.withdraw(anyToken); the call runs with msg.sender == BuybackBurner. No balance of the burner changes.","severity":"info","snippet":"        IVaultWithdraw(vault).withdraw(token);","title":"BuybackBurner.pull makes an unrestricted external call to any address anyone names, from the burner's own context"},{"citation":"resolved","description":"Read in full: src/token/YoloToken.sol, src/token/NftGate.sol (deployed in launch #2292, read for the token's calls), src/token/YoloSplitter.sol (remainderTo), src/DevPrices.sol, src/adapters/UniswapV3SwapAdapter.sol, src/ParamsRegistry.sol, src/VaultParams.sol, src/helpers/TextRules.sol, src/helpers/SwarmQuestion.sol, src/VotePower.sol, src/helpers/AttestationChecker.sol, src/OracleAttestation.sol, src/BuybackBurner.sol, script/LaunchPlan.sol, the two protected floor tests and the oracle-consumer reference. Read only at the call sites that touch this launch: src/desks/CaseDesk.sol (_stakeBps), src/TaskVault.sol (collectImd). Not reviewed (launches #3 and #4): YoloLockHub, CaseDesk, DisputeDesk, TaskVault, the $YOLO modules, DareTrophy, HiddenList, ProtocolDirectory, YoloPredict, YoloSweetener, the vestings. Checks: `forge test` passed 688 tests, 0 failed, 3 skipped (the fork tests, no FORK_URL on this machine); the fork rehearsal was not run. Launch-rule scan of src/: no DELEGATECALL, CALLCODE, SELFDESTRUCT, proxy, initializer or post-deployment configuration of a token property; the token has no owner, mint, burn, pause or editable list, every constructor takes only addresses and integers with no external call, and on a chain where the gate has no code the token is a plain ERC-20 (the protected floor's bare-chain case; `scheduled` false). Token arithmetic checked against the brief: buy tax value*3000*(3600-e)/18,000,000 rounded down; sell tax value*num/(18,000,000-num) so 70 into the pool pays 30 at 30%; boundaries e<1800 whitelist, 1800<=e<3600 taxed, e>=3600 plain; launcher and PoolManager exempt both ways; the factory's claimFees path is exercised by the fork rehearsal (LaunchRehearsal.fork.t.sol:882-888). Mainnet counterparties verified to hold code at block 26238804: Intake v2 0xa43e..., NFT 0x0000ec93..., delegate.xyz v2 0x0000...447e..., SwapRouter02 0x68b3..., IMD 0xd34a..., PoolManager 0x0000...4444c5dc..., YoloSplitter 0xF165...; the dev wallet and the buyback wallet are EOAs. Privileged powers, all constructor-set and matching the brief (trust assumptions, not defects): DevPrices owner 0x8Ad18E99F4C8d8406f9Ba8899CF308000518A981 moves each price at most 10x per call and names the buyback wallet through BuybackBurner.setBuybackWallet; ParamsRegistry owner 0x3c587Eff6c96eAcF7E3dcC2CFf6416161386E48C proposes parameter versions and attester changes behind the 48 h timelock and pauses new tasks at once with setNewTasksPaused (no timelock, by design); the attester set is global and the last attester cannot be removed. Manifest notes for the adapter: no launch.json exists yet; the eight contract names are unique and at most 32 characters; every constructor's argument count matches the brief's lists (DevPrices 7, adapter 2, ParamsRegistry 8, TextRules 0, SwarmQuestionBuilder 0, VotePower 2, AttestationChecker 1, BuybackBurner 5); pool pairedCurrency is IMD 0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7, fee 12500, tickSpacing 60; economics poolBps 1500, initialMarketCapWei 15000000000000000000000, remainderTo 0xf165884070b1a1e571f4a3b50fd727fe8380bee4 (lowercase in the manifest).","line":222,"path":"script/LaunchPlan.sol","reproduction":"Not a defect: the record of what was read, run and verified. Concrete state behind the two medium findings: mainnet block 26238804, timestamp 1792559603; NftGate sealedAt 0, walletCount 0.","severity":"info","snippet":"    function support(IContractFactory f, uint64 launchNumber, Counterparties memory c, YoloPool memory y)","title":"Coverage, trust assumptions and launch-rule checks of this review (no critical or high defect found)"}],"hash":"10cb961ce9d0722fec68bad90db94d579743f7221bd583bc022ded102f06c5d4","nodeId":"8b553e77-881a-4f85-ad16-46e26c3b9ce1","outcome":"completed","summary":"The review is complete. The findings file is valid JSON, every snippet matches its line, and the working tree is otherwise untouched.\n\n**Outcome.** No critical or high defect in the token or the eight support contracts. The two medium findings are about the live chain state against the fixed openAt, not about code logic.\n\n- **openAt is tight.** openAt is 12:00 UTC today and the chain head was 05:13 UTC when I read it. The gate has code on mainnet, so the token constructor reverts BadOpenAt if the launch is mined after openAt, and the whole launch fails atomically. The brief's exception lets the adapter move openAt to at most 15:00 UTC.\n- **The gate is unsealed.** NftGate at 0x97C8Fe… has writer = treasury, sealedAt 0 and zero wallets recorded. Unless the treasury records and seals with a block timestamp strictly below openAt, every buy in minutes 0 to 30 reverts SnapshotNotSealed while sells still pay 30%. The seal deadline moves with openAt.\n- **Low: DevPrices starts YOLO at 0.001 USD** while the opening cap implies about 0.0000825 USD, so the doer stake bonus is sized about 12x too generously. Both numbers are fixed by the brief, so this is a note for the author.\n- **Low: AttestationChecker** accepts expiresAt 0 as unbounded and ignores issuedAt, unlike the protocol's reference verifier. Needs a signed zero-expiry attestation to matter.\n- **Low: the swap adapter** passes amountIn 0 to SwapRouter02, where 0 is the router's \"swap my own balance\" sentinel. No protocol funds at risk.\n- **Info:** BuybackBurner.pull makes an unrestricted external call, with no loss found. A coverage entry lists what was read, the trust assumptions, and manifest facts for the adapter.\n\n**Verification.** The full suite passed with 688 tests and 3 skipped fork tests, since no FORK_URL is set here. The source has no delegatecall, selfdestruct, proxy or initializer. The token's tax arithmetic and window boundaries match the brief, and the fork rehearsal already exercises the factory's fee claim. Mainnet counterparties named in the constructor arguments all hold code.\n\n**Not reviewed.** The core and extras launches (YoloLockHub, the desks, TaskVault, the $YOLO modules, vestings), except at the two call sites that read this launch's contracts.","treeHash":null,"usage":{"cachedInputTokens":1287496,"inputTokens":322,"model":"claude-fable-5-1","outputTokens":35089,"runtime":"claude","turns":38,"wallClockMs":821993}},{"artifacts":[],"attempt":1,"bundleHash":"dace622185c47a367f565b6fa44b4f99885d45086f86ac2f8ccc63d86ebb5762","device":"4dd67dae195771b6","findings":[],"hash":"41f34c4f0ae5868024e0b220106bc51a462704caeab74e74c4c2cce5dbb9602c","nodeId":"55864942-e019-44f1-8938-f470acea8b29","outcome":"completed","summary":"I wrote the launch.json manifest for the $YOLO custom_token support launch. Only that file changed.\n\n**What the manifest contains**\n\n- Token: contract YoloToken, name and symbol YOLO, 18 decimals, constructorArgs [$poolManager, NftGate, project wallet, openAt 1792584000], totalSupply 1000000000000000000000000000. This matches the constructor in `src/token/YoloToken.sol:77` and its TOTAL_SUPPLY constant, minted once to msg.sender.\n- Eight contracts in the brief's order: DevPrices, UniswapV3SwapAdapter, ParamsRegistry, TextRules, SwarmQuestionBuilder, VotePower, AttestationChecker, BuybackBurner. Each constructorArgs list was checked against the Solidity constructor signature and against the `support` function in `script/LaunchPlan.sol`. Argument counts and order match.\n- pool and economics copied exactly as the brief and reference give them: IMD pair, fee 12500, tick spacing 60, initialPrice one to one, poolBps 1500, 15,000 IMD opening cap, remainderTo the YoloSplitter.\n- notes of 3,477 characters describing the token schedule, accepted limits, each support contract's role and owner, and the later launches that take these addresses.\n\n**One judgment call.** All addresses are written in lowercase, as the manifest schema in the reference requires. The values are identical to the brief's checksum-cased arguments, so nothing fixed was changed.\n\n**openAt stays at 1792584000.** The machine clock reads 07:03 UTC on 21 Oct 2026, so the launch can still be mined before the noon opening. The notes record the brief's fallback to at most 1792594800.\n\n**Verification results.** The JSON parses, uses only schema keys, and every hex argument is a 42-character lowercase address. `forge build` did not complete on this machine: via_ir compilation of the full tree was killed at the 500-second and 420-second timeouts I could afford, so `forge test` did not run either. The manifest does not affect compilation, and the verifier builds with more time. No .imd-blocked.json was written.","treeHash":"eb38d4267e19639e5865063176abfd61cc76dccb","usage":{"cachedInputTokens":537332,"inputTokens":290,"model":"claude-fable-5-1","outputTokens":8389,"runtime":"claude","turns":10,"wallClockMs":1040505}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"a4b99d560a579411","findings":[],"hash":"4fb393c5ada37cb67fcb6cfc1da28ac5cd1fb49303b1d9ee92d8e89ad57c8540","nodeId":"ea6ea862-f913-41de-9bc2-c91b5220e472","outcome":"failed","summary":"the local build failed, so this was not submitted:\nforge build exited with 1:\nCompiling 188 files with Solc 0.8.28\nError: solc exited with signal: 9 (SIGKILL)\n<empty output>","treeHash":null,"usage":{"cachedInputTokens":21974144,"inputTokens":378054,"model":"gpt-6-astra","outputTokens":100453,"runtime":"codex","turns":38,"wallClockMs":4816006}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"c9743cd9807c4c3a","findings":[{"citation":"resolved","description":"The launch rules say every address in launch.json is written in lowercase and that a manifest failing the schema is refused as a whole. Five constructorArgs entries are checksummed (mixed case): token.constructorArgs[1] 0x97C8Fe82527F1a65A147bB0b425C717E4EC547C2 (the NftGate), token.constructorArgs[2] 0x3c587Eff6c96eAcF7E3dcC2CFf6416161386E48C (the project wallet), contracts[0].constructorArgs[0] 0x8Ad18E99F4C8d8406f9Ba8899CF308000518A981 (DevPrices owner), contracts[2].constructorArgs[0] and [6] (ParamsRegistry owner and treasury). Every other address in the file (pairedCurrency, remainderTo, USDC, IMD, WETH, router, intake, NFT, delegate registry, attester, buyback wallet) is lowercase. If the schema's address pattern (^0x[0-9a-f]{40}$) also applies to constructorArgs entries, admission refuses the whole file and the launch never reaches the deployer; the token, its openAt and the gate are untouched by the fix, since lowercasing changes no value. Not confirmed against the schema itself (not supplied); reported because the cost of a refused manifest is the whole launch and the fix is value-preserving. Manifest only; no src/ change.","line":10,"path":"launch.json","reproduction":"State: launch.json as in the tree. Run the schema's address check over every string of launch.json: 5 strings match 0x[0-9a-fA-F]{40} but not 0x[0-9a-f]{40} (lines 10, 11, 20, 39, 45). Expected: 0 such strings (all addresses lowercase, as pool.pairedCurrency and economics.remainderTo already are). Actual: 5. Fix: write the same five addresses in lowercase (0x97c8fe82527f1a65a147bb0b425c717e4ec547c2, 0x3c587eff6c96eacf7e3dcc2cff6416161386e48c, 0x8ad18e99f4c8d8406f9ba8899cf308000518a981); abi.encode of each is byte-identical, so LaunchPlan.support and the fork rehearsal still match.","severity":"low","snippet":"      \"0x97C8Fe82527F1a65A147bB0b425C717E4EC547C2\",","title":"launch.json writes five constructor-argument addresses in checksum case; the manifest rule wants addresses in lowercase"},{"citation":"resolved","description":"Execution-trace note on the launch itself, restating ADAPTATION.md disposition 1 with the clock at review time. The gate 0x97C8Fe82527F1a65A147bB0b425C717E4EC547C2 has code on mainnet, so scheduled_ is true and the constructor holds openAt to [block.timestamp, block.timestamp + 30 days]. launch.json fixes openAt = 1792584000 (2026-10-21 12:00:00 UTC). This review ran at 2026-10-21 06:49 UTC (unix 1792565350): about 5 h 10 min remain for review, judging, admission and mining. The factory's launchCustom cannot complete a launch whose token constructor reverts, and ProjectFactory would then have consumed the launch slot for nothing. The brief's sole exception allows moving openAt later, at most to 1792594800 (15:00 UTC); the gate's sealedAt 1792560251 stays strictly before either value, so the minutes 0-30 window still opens. No code change; a manifest decision for whoever submits the launch.","line":80,"path":"src/token/YoloToken.sol","reproduction":"vm.warp(1792584001); new YoloToken(poolManager, 0x97C8Fe82527F1a65A147bB0b425C717E4EC547C2 (etched with code), 0x3c587Eff6c96eAcF7E3dcC2CFf6416161386E48C, 1792584000). Expected by the operator: a deployed token. Actual: revert BadOpenAt(1792584000); at vm.warp(1792584000) the same call succeeds (existing test_OpenAtBounds covers both edges). With openAt_ = 1792594800 the deployment succeeds for any timestamp in [1792594800 - 30 days, 1792594800].","severity":"info","snippet":"        if (scheduled_ && (openAt_ < block.timestamp || openAt_ > block.timestamp + MAX_OPEN_DELAY)) {","title":"Fixed openAt 1792584000 is a hard mining deadline: a launch transaction mined one second later reverts BadOpenAt in the token constructor"},{"citation":"resolved","description":"Periphery / inherited-code note, a trust assumption rather than a permission bypass. The brief describes the dev wallet as the owner of DevPrices who sets prices, changes the buyback wallet and alone may cancel a task. Ownable2Step also exposes renounceOwnership(), a one-step call that sets owner() to address(0). BuybackBurner.dev() and TaskVault.cancelTask (line 373: Ownable(...devPrices).owner()) both derive the dev from that owner, so one renounce freezes three things at once and forever: the three prices (stake bonus sizing), the buyback wallet, and task cancellation (the only way everyone takes back what they put in). The same inherited function on ParamsRegistry removes the only proposer of parameter versions, attester rotation and the new-tasks pause, bypassing the 48 h timelock story (the brief says the owner changes both only behind the timelock; renouncing is immediate). No funds move or are frozen by it; recorded so the judge can decide whether the operational runbook should forbid the call.","line":4,"path":"src/DevPrices.sol","reproduction":"vm.prank(0x8Ad18E99F4C8d8406f9Ba8899CF308000518A981); devPrices.renounceOwnership(); then vm.prank(anyone); burner.setBuybackWallet(x) reverts NotDev() for every caller including the former dev, devPrices.setYoloPriceUsd(p) reverts OwnableUnauthorizedAccount for every caller, and (once the core exists) TaskVault.cancelTask(id) reverts for every caller because owner() is address(0). Expected per the brief: the dev wallet keeps those powers; actual: nobody has them. Confirmed locally with test/scratch/ReviewRenounce.t.sol (passes on this tree: both reverts occur after one renounceOwnership).","severity":"info","snippet":"import {Ownable, Ownable2Step} from \"@openzeppelin/contracts/access/Ownable2Step.sol\";","title":"Inherited renounceOwnership on DevPrices is immediate and irreversible and also disables BuybackBurner.setBuybackWallet and TaskVault.cancelTask for good"}],"hash":"74057db671766a613282763f045e719b0faf3928a3dc4d98ddf2bbcd18201167","nodeId":"c948d772-6f5f-46cf-a41a-be6ee1180d7d","outcome":"completed","summary":"The review is complete and recorded in `.imd-findings.json`.\n\n**Outcome: no critical, high or medium defect in the support launch.** The token's control flow and all eight support contracts trace clean against the brief under the Execution Trace, Periphery and First Principles guides. The non-fork suite passes on this tree (689 tests, 0 failures, the 688 originals plus one scratch check). Only `.imd-findings.json` and a scratch test were written. No `src/`, `script/`, `launch.json` or configuration file changed.\n\n**Findings written (3, ranked):**\n\n- **Low, launch.json line 10.** Five constructor-argument addresses are checksum-cased (the gate, the project wallet three times, the DevPrices owner) while the manifest rule says addresses are lowercase and every other address in the file already is. If the schema applies its lowercase pattern to constructorArgs, the whole manifest is refused. Lowercasing is byte-identical after ABI encoding, so nothing fixed by the brief changes. Not confirmed against the schema itself, which was not supplied.\n- **Info, YoloToken.sol line 80.** The fixed openAt is a hard mining deadline. At review time it was 06:49 UTC, so about five hours remained before 12:00 UTC. A launch mined one second later reverts BadOpenAt. The brief's sole exception (openAt up to 15:00 UTC) stays compatible with the gate's seal at 05:24 UTC. This restates ADAPTATION disposition 1 with the live clock.\n- **Info, DevPrices.sol line 4.** Inherited `renounceOwnership` is immediate and irreversible and also removes the dev role from BuybackBurner.setBuybackWallet and TaskVault.cancelTask. The same inherited call on ParamsRegistry sidesteps the 48-hour timelock story. Confirmed with the scratch test. A trust assumption, not a bypass.\n\n**What held in depth:** YoloToken `_update` on every branch (sell tax on top with the pool receiving exactly the settled value, buy tax from the pool's side, gate consume before state, launcher and PoolManager exemptions, the unscheduled plain path), NftGate, YoloSplitter and the four vestings, DevPrices sanity bounds, ParamsRegistry timelock paths, the adapter's path and value checks, TextLib's word-at-a-time ASCII scan, SwarmQuestion's hash bindings, AttestationChecker and VotePower. Launch.json keys, names, notes length, pool and economics match the brief verbatim.\n\n**Coverage record:** 117 rows, one per listed entry point plus four invariant and manifest rows. Support-launch entry points are `holds` or `finding`. Core and module entry points (CaseDesk, DisputeDesk, TaskVault, YoloPredict, YoloSweetener, DareTrophy, TrophyCatalog, ProtocolDirectory, HiddenList, YoloLockHub) are marked `unreached`, with the helper side noted where this launch's contracts feed them (adapter, DevPrices, burner, checker, VotePower, question builder). The FORK_URL rehearsal was not re-run here.","treeHash":null,"usage":{"cachedInputTokens":2397996,"inputTokens":514,"model":"claude-fable-5-1","outputTokens":41638,"runtime":"claude","turns":49,"wallClockMs":1256993}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"ca075d17c94a854b","findings":[{"citation":"resolved","description":"Seam: precision x invariant (query vs write). The transfer taxes `value * _taxNum(e) / 18_000_000` (line 167) and `value * num / (18_000_000 - num)` (line 129), i.e. at the exact rate 3000*(3600-e)/1800 bps, which is fractional whenever (3600-e) is not a multiple of 3. The two views divide `_taxNum(e)` by 1800 and floor, so for 2 of every 3 seconds in minutes 30-60 they report a rate up to 0.999 bps lower than what the transfer actually takes. An integrator computing an expected output from buyTaxBps() receives slightly less than quoted. No funds are lost and the brief defines the transfer formula (which is exact); the view is advisory. Recorded as a note for the author (no code change under this assignment); sellTax(uint256) already exposes the exact figure, buyTaxBps has no exact companion.","line":102,"path":"src/token/YoloToken.sol","reproduction":"Deploy YoloToken with a sealed gate and openAt; warp to openAt + 1801. buyTaxBps() == 2998 and sellTaxBps() == 2998 (3000*1799/1800 = 2998.33 floored). Then transfer 1e24 YOLO from the PoolManager to a wallet: the treasury receives 1e24 * 5_397_000 / 18_000_000 = 299_833_333_333_333_333_333_333 (2998.33 bps), which is 33_333_333_333_333_333_333 more than 1e24 * 2998 / 10_000 = 299_800_000_000_000_000_000_000 that the view implies. Same at every e in [1800,3600) with (3600-e) % 3 != 0. Verified by test/scratch/MathDrift.t.sol test_ViewBpsFloorsBelowTransferTax (passes on this tree, documenting the drift).","severity":"info","snippet":"        return _taxNum(e) / (TAX_END_SECONDS - WHITELIST_SECONDS);","title":"buyTaxBps()/sellTaxBps() floor to whole basis points while _update and sellTax() tax at the exact fractional rate (view drifts below the transfer by < 1 bps)"}],"hash":"788e5c5ddc76e0d332c4f79a9cd640a65bcec48670046d85e451cc0186fc24b2","nodeId":"72f720cb-751e-438d-a1f7-a424f4066f60","outcome":"completed","summary":"The review is complete and `.imd-findings.json` holds the result. Git status is clean apart from the findings file and the scratch test, both ignored or disposable, so no tracked file changed.\n\n**Outcome: no reproducible money-math defect in the support launch.** The one entry recorded is informational.\n\n- **Finding (info), `src/token/YoloToken.sol:102`.** The views `buyTaxBps()` and `sellTaxBps()` floor to whole basis points while the transfer and `sellTax()` apply the exact fractional rate. At openAt+1801 the view says 2998 bps and the transfer on 1e24 YOLO takes 2998.33 bps. The drift is under 1 bps, no funds are lost, and the brief's transfer formula is what the code implements. A scratch test under test/scratch confirms the numbers and passes on this tree.\n\n**What I checked in depth** (Math Precision, Boundary, Numerical Gap guides) and found holding, with concrete values:\n- Token schedule: 30% both sides at minute 30, 0 at minute 60, sell tax on top (70 in gives 30 tax), no overflow at supply scale, consistent boundaries at exactly openAt, 1800 and 3600 seconds, gate consume bookkeeping that cannot underflow.\n- DevPrices scaling (USDC 6 decimals, 18 elsewhere), the 10x guard, and the stake-bonus formula in CaseDesk which clamps to 400 bps.\n- Splitter and the four vestings, including a remainder short of 222,222,223 YOLO.\n- YoloLockHub week rounding and power bounds, the DisputeDesk reward and penalty splits, voter and disputer pro-rata claims, the sweetener and predict market pools. Each conserves the amount it splits and gives the remainder to the last claimant.\n- TextLib's SWAR byte checks and Solidity operator precedence, the manifest's keys, argument order and economics.\n\n**Coverage record:** 119 rows written. 33 are marked unreached and sit outside this launch's math (desk state-machine steps, HiddenList, TrophyCatalog, ProtocolDirectory, the oracle callback). A second note about DevPrices reverting with a panic at the uint256 boundary was dropped before submission because, from the launch prices, the guard reaches PriceSanity first.","treeHash":null,"usage":{"cachedInputTokens":2507848,"inputTokens":546,"model":"claude-fable-5-1","outputTokens":40192,"runtime":"claude","turns":44,"wallClockMs":680114}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"d32559488518f947","findings":[{"citation":"resolved","description":"Access control / asymmetry. DevPrices.owner() is the single key for three distinct powers: the three price setters (onlyOwner), BuybackBurner.setBuybackWallet (src/BuybackBurner.sol:76 `if (msg.sender != dev()) revert NotDev();` where dev() = IOwned(devPrices).owner()) and TaskVault.cancelTask (src/TaskVault.sol:373 `Ownable(...devPrices).owner()`). Ownable2Step makes transferOwnership two-step, but OpenZeppelin 5.1 Ownable keeps renounceOwnership() as a one-step, unguarded, irreversible call that sets owner to address(0). After it, dev() returns address(0); since msg.sender can never be address(0), setBuybackWallet reverts NotDev for everyone forever (the buyback wallet is frozen at whatever it was), cancelTask reverts NotAuthorized for every task created under a version that names this DevPrices, and every price is frozen (stale prices size the stake bonus for every future submission). The brief describes the dev wallet as a permanent operational role (sets prices by hand, alone may cancel a task, alone changes the buyback wallet); the inherited function gives that role a one-transaction self-destruct the brief does not list, with no recovery path because no contract can re-assign a DevPrices owner. Fix that preserves the design: override renounceOwnership to revert (the asymmetry is that handover is two-step while abandonment is one-step). Reproduced locally (test/scratch, not kept): both expectations below hold on the current code.","line":22,"path":"src/DevPrices.sol","reproduction":"State: DevPrices deployed with owner 0x8Ad18E99F4C8d8406f9Ba8899CF308000518A981 (launch args), BuybackBurner deployed with devPrices = that DevPrices. Sequence: (1) vm.prank(0x8Ad1...); DevPrices.renounceOwnership() -> succeeds, owner() == address(0). (2) BuybackBurner.dev() returns address(0). (3) vm.prank(0x8Ad1...); BuybackBurner.setBuybackWallet(0xB1) -> reverts NotDev(); the same from any other address. (4) vm.prank(0x8Ad1...); DevPrices.setEthUsd(2500e18) -> reverts OwnableUnauthorizedAccount(0x8Ad1...). (5) In the later core, TaskVault.cancelTask(taskId) reverts NotAuthorized for every caller because dev == address(0). Expected per brief: the dev wallet keeps these powers or hands them over two-step; actual: one unlisted call removes them for good.","severity":"low","snippet":"contract DevPrices is Ownable2Step {","title":"DevPrices inherits one-step renounceOwnership: one call permanently disables buyback-wallet changes, task cancellation and price updates"},{"citation":"resolved","description":"Access control / trust gap. The brief says the registry owner changes parameters and the swarm signer set only behind a 48-hour timelock and the signer set is global (a change reaches open cases). All of proposeParams, cancelParams, proposeAttester, cancelAttester and setNewTasksPaused are onlyOwner. OpenZeppelin 5.1 Ownable's renounceOwnership() is a one-step, unguarded, irreversible call. Once called (by the project wallet 0x3c587Eff6c96eAcF7E3dcC2CFf6416161386E48C, by mistake or under a compromised key), no attester can ever be added or removed: a leaked oracle signer key (the initial attester 0x5598aa9146215bc13eb26f2c692ad1461fd32982) stays accepted by AttestationChecker.check for every live and future task, the parameter set can never move (another intake, treasury or price source cannot be named), and new tasks can never be paused or unpaused. The vault also keys TaskVault.bindSweetener on ParamsRegistry(registry).owner() (src/TaskVault.sol:159), which then reverts NotAuthorized forever. Nothing in the brief lists abandonment as a power of this role; handover is deliberately two-step while abandonment is one-step. Fix preserving the design: override renounceOwnership to revert. Reproduced locally (test/scratch, not kept).","line":21,"path":"src/ParamsRegistry.sol","reproduction":"State: ParamsRegistry deployed with the launch args (owner 0x3c58..., attester 0x5598...). Sequence: (1) vm.prank(0x3c58...); ParamsRegistry.renounceOwnership() -> succeeds, owner() == address(0). (2) vm.prank(0x3c58...); proposeAttester(newKey, true) -> reverts OwnableUnauthorizedAccount; proposeAttester(0x5598..., false) likewise. (3) setNewTasksPaused(true) -> reverts. (4) isAttester(0x5598...) stays true with no path to change it; AttestationChecker.check keeps returning 0 for any attestation that key signs. Expected: signer rotation and parameter changes stay available behind the timelock; actual: one call ends them permanently.","severity":"low","snippet":"contract ParamsRegistry is Ownable2Step {","title":"ParamsRegistry inherits one-step renounceOwnership: the global attester set, the parameter versions and the new-task pause become unchangeable forever"},{"citation":"resolved","description":"Asymmetry note, no code change asked. BuybackBurner.dev() is IOwned(devPrices).owner() with devPrices immutable (this launch's DevPrices). TaskVault.cancelTask (src/TaskVault.sol:373) reads the dev from ParamsRegistry.core(t.paramsVersion).devPrices, which the registry owner may change in a later version (ParamsBounds only requires non-zero). After such a version activates, tasks created under it are cancellable by the owner of the new DevPrices while the buyback wallet is still controlled by the owner of the old one, and the burner's forward() keeps paying the wallet set by the old key. Both are documented trust assumptions individually; the note is that the brief's single 'dev wallet' role is implemented as two separately keyed authorities. Worth recording in the trust assumptions; not a defect in the fixed launch.","line":76,"path":"src/BuybackBurner.sol","reproduction":"State: registry owner 0x3c58... proposes Params with devPrices = D2 (any contract with owner() == K2) and activates after 48 h (version 2). Then: a task created under version 2 -> TaskVault.cancelTask by K2 succeeds, by 0x8Ad1... reverts NotAuthorized; BuybackBurner.setBuybackWallet by K2 reverts NotDev, by 0x8Ad1... succeeds. Same role name, two keys.","severity":"info","snippet":"        if (msg.sender != dev()) revert NotDev();","title":"Two definitions of 'the dev wallet' can diverge: the burner binds to this launch's DevPrices forever, the vault reads the versioned devPrices"},{"citation":"resolved","description":"Manifest note, outside the Solidity area but checked because the task names launch.json. The task reference says the manifest's addresses are written in lowercase and that economics is copied from the job verbatim; the brief writes every address checksummed. The manifest resolves this by lowercasing pairedCurrency and remainderTo (line 88 `\"remainderTo\": \"0xf165884070b1a1e571f4a3b50fd727fe8380bee4\"`) while keeping every constructorArgs address checksummed (token lines 10-11, DevPrices line 20, ParamsRegistry, VotePower, BuybackBurner). Nothing a worker runs validates the schema, so whether the admission parser lowercases, accepts mixed case, or rejects a non-lowercase address string cannot be shown here. On-chain the bytes are identical, so this cannot change what is deployed; it can only make admission refuse the file. Needed evidence: one run of the manifest schema against this file, or a statement of the case rule for constructorArgs.","line":10,"path":"launch.json","reproduction":"Input: launch.json as committed (deed42c). If the schema's address rule is lowercase-only: parse fails on token.constructorArgs[1] = \"0x97C8Fe82527F1a65A147bB0b425C717E4EC547C2\"; expected a manifest that is accepted. If the rule is case-insensitive: no effect. Not reproducible locally.","severity":"info","snippet":"      \"0x97C8Fe82527F1a65A147bB0b425C717E4EC547C2\",","title":"launch.json address casing is inconsistent: constructorArgs are EIP-55 checksummed while pool and economics addresses are lowercase"}],"hash":"81dc469c0de8b2b6f3e0ef160aa197d90d035aacf022436b6474680559be9ecb","nodeId":"dfe5b9f3-9a2b-49d4-b825-b4e8d67c815d","outcome":"completed","summary":"The review is complete. The findings file is written and validated, the scratch test is removed, and the tree is otherwise untouched.\n\n**Outcome.** No critical or high defect in the assigned area. The eight support contracts and YoloToken hold up under the Access Control, Trust Gap and Asymmetry guides: every setter is owner-guarded, the timelocked paths clear their eta before writing, the burner pays only the dead address or the buyback wallet, the adapter holds nothing between calls, and the token's buy and sell branches mirror each other with the launcher exempt both ways. Four findings are recorded in `.imd-findings.json`, two low and two informational, with coverage rows for all 113 listed entry points plus three invariants.\n\n- **Low, DevPrices renounceOwnership.** OpenZeppelin 5.1 keeps a one-step, irreversible renounce beside the two-step handover. One call by the dev wallet freezes the prices, locks the buyback wallet forever (the burner reads the live owner, which becomes zero) and makes task cancellation impossible for every task under this DevPrices. Reproduced in a scratch test, which was then deleted.\n- **Low, ParamsRegistry renounceOwnership.** The same inherited call ends attester rotation, parameter versions and the new-task pause permanently. A leaked oracle signer key could never be removed from the global set. Also reproduced.\n- **Info, two keys for one role.** The burner is bound to this launch's DevPrices, while the vault's cancel power follows the registry's versioned devPrices. A later parameter version can split \"the dev wallet\" into two different keys.\n- **Info, manifest address case.** The constructor arguments in launch.json are checksummed while pool and economics addresses are lowercase. The reference asks for lowercase addresses and for economics copied verbatim. I could not run the schema, so this is recorded as something admission must confirm.\n\n**Not covered.** The core launch desks, vault, vestings, modules and directory were not traced beyond the seams that touch this launch's contracts. Their rows are marked unreached, except cancelTask, bindSweetener, withdraw and the adapter path in collectImd, which I followed for the findings above.","treeHash":null,"usage":{"cachedInputTokens":1841717,"inputTokens":610,"model":"claude-fable-5-1","outputTokens":36349,"runtime":"claude","turns":20,"wallClockMs":628561}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"b38bea3c04869138","findings":[{"citation":"resolved","description":"Ownable2Step (OpenZeppelin v5) keeps Ownable.renounceOwnership(): a one-step, immediate, irreversible onlyOwner call that sets owner() to address(0). The brief describes handover as two-step and every owner power as permanent operational roles. DevPrices.owner() is the single key for three things: the three price setters (DevPrices.sol:68-84), BuybackBurner.setBuybackWallet (src/BuybackBurner.sol:76 `if (msg.sender != dev()) revert NotDev();` with dev() = IOwned(devPrices).owner()) and TaskVault.cancelTask of the later core (src/TaskVault.sol:373 `Ownable(ParamsRegistry(registry).core(t.paramsVersion).devPrices).owner()`). After one renounce by 0x8Ad18E99F4C8d8406f9Ba8899CF308000518A981 nobody can ever change a price, the buyback wallet, or cancel a task created under version 1. ParamsRegistry (src/ParamsRegistry.sol:21 `contract ParamsRegistry is Ownable2Step {`) has the same call: after it no attester can be rotated (a leaked signer key stays accepted by AttestationChecker.check for every live and future task), no parameter version can be proposed, new tasks can never be paused or unpaused, and TaskVault.bindSweetener (src/TaskVault.sol:159) reverts NotAuthorized forever. TrophyCatalog (src/TrophyCatalog.sol:13) likewise freezes the designs. No funds move or freeze, so this is a trust-assumption gap rather than a loss: the one-transaction abandonment path is not listed in the brief and nothing can re-assign an owner afterwards. Merged from audit_permissions (two findings) and audit_flow (info). Recorded as a note per the assignment; a design-preserving fix would be `function renounceOwnership() public pure override { revert(); }` in each contract.","line":22,"path":"src/DevPrices.sol","reproduction":"test/scratch/ReviewRenounce.t.sol (run locally, both tests pass on this tree, i.e. the behaviour is confirmed). State: DevPrices(0x8Ad1.., USDC, IMD, yolo, 1e15, 2400e18, 5.5e18), ParamsRegistry with the launch args, BuybackBurner bound to that DevPrices. (1) vm.prank(0x8Ad1..); prices.renounceOwnership() succeeds; prices.owner() == address(0); burner.dev() == address(0). (2) vm.prank(0x8Ad1..); burner.setBuybackWallet(0xB1) reverts NotDev(); prices.setEthUsd(2500e18) reverts OwnableUnauthorizedAccount(0x8Ad1..). (3) vm.prank(0x3c58..); registry.renounceOwnership() succeeds; then proposeAttester(0xBEEF, true) and setNewTasksPaused(true) from 0x3c58.. revert OwnableUnauthorizedAccount; isAttester(0x5598..) stays true with no path to change it. Expected per the brief: the roles keep their powers or hand them over in two steps; actual: one call removes them permanently.","severity":"low","snippet":"contract DevPrices is Ownable2Step {","title":"DevPrices, ParamsRegistry and TrophyCatalog inherit one-step renounceOwnership: one call ends the dev wallet's and the project wallet's powers for good, bypassing the two-step handover and the 48 h ti"},{"citation":"resolved","description":"executeAttester, activateParams (src/ParamsRegistry.sol:92-101) and ProtocolDirectory.addVersion / setCurrent (src/ProtocolDirectory.sol:89-95, 116-125) check only `block.timestamp >= eta`; there is no grace period after which a proposal lapses, and nothing but an explicit cancel by the owner removes it. A proposal the owner made and then abandoned (a key rotation that was later judged unnecessary, a parameter set superseded by events, a directory version that was never meant to become current) can be executed by any address months later, at a moment of the executor's choosing, which is the opposite of what a timelock is meant to guarantee (the owner announces a change and it lands at a known time). The attester set is global, so a stale `(attester, true)` proposal executed later re-admits a signer for every live task. Impact is bounded: it needs an uncancelled proposal, and the owner can cancel at any time before execution; no funds move. The pattern is the same in both timelocked contracts, so it is one finding.","line":190,"path":"src/ParamsRegistry.sol","reproduction":"test/scratch/ReviewRenounce.t.sol test_StaleAttesterProposalExecutableForever (passes on this tree, confirming the behaviour). State: ParamsRegistry with the launch args. (1) vm.prank(0x3c58..); registry.proposeAttester(0xBEEF, true) -> attesterChangeEta[key] = now + 48 h. (2) vm.warp(now + 400 days). (3) any address calls registry.executeAttester(0xBEEF, true): succeeds, isAttester(0xBEEF) == true. Expected of a timelock: a proposal not executed within a bounded window after its eta lapses (or at least cannot be executed by a stranger a year later); actual: executable forever. Same with proposeParams/activateParams and ProtocolDirectory.proposeVersion/addVersion, proposeCurrent/setCurrent.","severity":"low","snippet":"        uint64 eta = attesterChangeEta[key];\n        if (eta == 0) revert NothingPending();\n        if (block.timestamp < eta) revert TimelockNotPassed();","title":"Timelocked proposals never expire: a forgotten attester change, parameter set or directory proposal stays executable by anyone, at any later time"},{"citation":"resolved","description":"The gate 0x97C8Fe82527F1a65A147bB0b425C717E4EC547C2 has code on mainnet, so scheduled_ is true and the constructor requires block.timestamp <= openAt_. launch.json fixes openAt = 1792584000. This review ran at 1792573674 (09:08 UTC), about 2 h 52 min before the deadline, with review, judging, admission and mining still ahead. If the ProjectFactory.launchCustom transaction lands at 1792584001 or later, the token constructor reverts BadOpenAt(1792584000) and the launch fails as a whole; the brief then allows moving only openAt, to at most 1792594800 (15:00 UTC). The gate's sealedAt 1792560251 is strictly before both values, so the minutes 0-30 window still opens either way. Not a code defect (merged from audit_economics and audit_flow); recorded so the submitter keeps the clock in view.","line":80,"path":"src/token/YoloToken.sol","reproduction":"vm.warp(1792584001); new YoloToken(poolManager, gateWithCode, 0x3c587Eff6c96eAcF7E3dcC2CFf6416161386E48C, 1792584000) reverts BadOpenAt(1792584000); at vm.warp(1792584000) the same call succeeds (existing test_OpenAtBounds in test/YoloToken.t.sol covers both edges). Expected by the operator: a deployed token; actual past 12:00 UTC: a reverted launch.","severity":"info","snippet":"        if (scheduled_ && (openAt_ < block.timestamp || openAt_ > block.timestamp + MAX_OPEN_DELAY)) {","title":"Operational: openAt 1792584000 (12:00 UTC today) is a hard mining deadline; a launch mined one second later reverts BadOpenAt and the whole factory transaction fails"},{"citation":"resolved","description":"economics.initialMarketCapWei = 15,000 IMD for 1e9 YOLO; at the fixed IMD price of $5.5 that is $0.0000825 per YOLO, 12.12x below the DevPrices start of 1e15 ($0.001). The only consumer is CaseDesk._stakeBps (src/desks/CaseDesk.sol:532 `DevPrices(p.devPrices).yoloValue(t.currency, t.pot)`), which converts the task pot into YOLO at the dev price and pays up to MAX_STAKE_BONUS_BPS = 400 bps of the reward when the lock power covers it. A higher dev price means a smaller YOLO-denominated reward, so the full bonus is reached with 12x less YOLO locked than the opening valuation would require. Who pays: the bonus comes out of the fee's stakers' 5% (DisputeDesk._payReward), so only the treasury's and the burn's share shrink, by at most 4% of the staked doer's reward; nobody outside the protocol loses and the cap makes it non-compounding. The brief fixes every price and the owner can correct it in two calls (1e15 -> 1e14 -> 8.25e13, MAX_STEP = 10). Already recorded in ADAPTATION.md; restated with the launch's numbers. Not a defect of the code.","line":74,"path":"script/LaunchPlan.sol","reproduction":"State: DevPrices as launched (yoloPriceUsd = 1e15, imdUsd = 5.5e18, USDC fixed at 1e18); a doer with a YoloLockHub lock of 100,000e18 YOLO for 52 weeks (power 100,000e18); a USDC task with pot 100e6 and no add-on. CaseDesk.submit -> _stakeBps: yoloValue(usdc, 100e6) = (100e6 * 1e18 / 1e6) * 1e18 / 1e15 = 100,000e18 = r; power >= r so stakeBps = 400 (a 4 USDC bonus). At the opening valuation (yoloPriceUsd = 8.25e13): r = 1,212,121e18, stakeBps = 400 * 100,000 / 1,212,121 = 33 (0.33 USDC). Pure arithmetic on DevPrices.yoloValue and CaseDesk._stakeBps.","severity":"info","snippet":"    uint256 internal constant YOLO_PRICE_USD = 0.001e18;","title":"DevPrices opens YOLO at $0.001 while the pool opens at about $0.0000825: the doer stake bonus is sized about 12x more cheaply than the launch valuation implies"},{"citation":"resolved","description":"The transfer taxes `value * _taxNum(e) / 18_000_000` (line 167) and `value * num / (18_000_000 - num)` (line 129), i.e. at the exact rate 3000 * (3600 - e) / 1800 bps, fractional whenever (3600 - e) % 3 != 0. The two views divide _taxNum(e) by 1800 and floor, so an integrator quoting from buyTaxBps() receives slightly less than quoted. The brief defines the transfer formula (which is exact); the views are advisory, sellTax(uint256) already exposes the exact sell figure and buyTaxBps has no exact companion. No funds are lost. Kept from audit_math; reproduced locally.","line":102,"path":"src/token/YoloToken.sol","reproduction":"test/scratch/ReviewRenounce.t.sol test_ViewFloorsBelowTransfer (passes on this tree, documenting the drift): deploy YoloToken with a sealed NftGate and openAt; warp to openAt + 1801; buyTaxBps() == 2998 and sellTaxBps() == 2998 (3000 * 1799 / 1800 = 2998.33 floored); then transfer 1e24 YOLO from the PoolManager to a wallet: the treasury receives 1e24 * 5_397_000 / 18_000_000 = 299_833_333_333_333_333_333_333 (2998.33 bps), 33_333_333_333_333_333_333 more than the 299_800_000_000_000_000_000_000 the view implies.","severity":"info","snippet":"        return _taxNum(e) / (TAX_END_SECONDS - WHITELIST_SECONDS);","title":"buyTaxBps() and sellTaxBps() floor to whole basis points while _update taxes at the exact fractional rate: the views under-report by up to 1 bps for 2 of every 3 seconds in minutes 30-60"},{"citation":"resolved","description":"BuybackBurner.dev() reads the immutable devPrices of this launch. TaskVault.cancelTask (src/TaskVault.sol:373) reads the dev from ParamsRegistry.core(t.paramsVersion).devPrices, which the registry owner may change in a later version (ParamsBounds.validate only requires non-zero, src/VaultParams.sol:167). After such a version activates, tasks created under it are cancellable by the owner of the new DevPrices while the buyback wallet stays with the owner of the old one; and if the new devPrices address has no owner() (an EOA or another contract), `Ownable(...).owner()` reverts and no task of that version can ever be cancelled (no funds freeze: every task still ends by its timers). Both are documented trust assumptions of the registry owner; recorded so the brief's single 'dev wallet' role is understood as two separately keyed authorities. Kept from audit_permissions (info).","line":71,"path":"src/BuybackBurner.sol","reproduction":"State: registry owner 0x3c58.. proposes Params with devPrices = D2 (any contract with owner() == K2) and anyone activates after 48 h (version 2). A task created under version 2: TaskVault.cancelTask by K2 succeeds, by 0x8Ad1.. reverts NotAuthorized; BuybackBurner.setBuybackWallet by K2 reverts NotDev, by 0x8Ad1.. succeeds. With devPrices = an EOA instead: cancelTask reverts for every caller (the staticcall to owner() returns no data and the decode reverts).","severity":"info","snippet":"        return IOwned(devPrices).owner();","title":"Two definitions of 'the dev wallet': the burner binds to this launch's DevPrices forever, the vault reads the versioned devPrices, and a later version naming a devPrices without owner() makes cancelTa"}],"hash":"b20390e07ac7c2eb53aa6a6faf9cb1a29a20f462cefb9e6636741053b47dfc79","nodeId":"6ce45d86-d083-477e-a21e-3424cfbfb15d","outcome":"completed","summary":"Review complete. The findings file is written and verified against the tree.\n\n**Outcome.** No critical, high or medium defect survives. The code of this launch (YoloToken and the eight support contracts) and the manifest hold as they arrived. Two low findings and four informational notes are recorded in `.imd-findings.json`, with a coverage row for all 113 entry points (107 hold, 7 point at a finding, none unreached) plus one row for the manifest check.\n\n**Findings kept, all reproduced locally**\n- **Low: one-step renounceOwnership** on DevPrices, ParamsRegistry and TrophyCatalog. One call ends the dev wallet's prices, the buyback wallet change, task cancellation, attester rotation and the pause for good. Merged from three specialist entries. Confirmed with a scratch test under test/scratch.\n- **Low: timelocked proposals never lapse** in ParamsRegistry and ProtocolDirectory. A forgotten attester or parameter proposal stays executable by anyone a year later. My own finding, confirmed with a scratch test.\n- **Info: openAt is a hard mining deadline** at 12:00 UTC today, with 15:00 UTC the latest permitted move. The review ran at 09:08 UTC.\n- **Info: DevPrices starts YOLO about 12x above the pool's opening valuation**, so the stake bonus is reached with less YOLO locked. Fixed input, already in ADAPTATION.md.\n- **Info: buyTaxBps and sellTaxBps floor** while transfers tax at the exact fractional rate. Confirmed with a scratch test.\n- **Info: two keyed definitions of the dev wallet** between the burner and the versioned registry.\n\n**Dropped.** The three address-casing findings on launch.json no longer reproduce. The merge commit that combined the accepted dependencies lowercased every constructor address, and I checked every address string in the file.\n\n**Verification.** The full unit suite passes on this tree (737 tests, 0 failed, 3 fork tests skipped without FORK_URL). The fork rehearsal and the gas-estimate regressions ADAPTATION.md reports could not be run here. All six snippets were matched line by line against the files. The manifest was checked against the brief, the compiled constructors and the support section of script/LaunchPlan.sol. The notes field is 3,477 characters.","treeHash":null,"usage":{"cachedInputTokens":3364313,"inputTokens":484,"model":"claude-fable-5-1","outputTokens":48577,"runtime":"claude","turns":45,"wallClockMs":1015068}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"c4617da5f1fd5ce8","findings":[{"citation":"resolved","description":"The manifest rule this launch is checked against says every address in launch.json is written in lowercase (the supplied reference: 'a string for every uint256, address and notes ... addresses in lowercase', and its example manifest writes every address in lowercase). The accepted launch.json lowercased economics.remainderTo and pool.pairedCurrency but copied the brief's checksum-cased addresses verbatim into constructorArgs: the token's gate (line 10) and project wallet (line 11), the DevPrices owner (line 20) and the ParamsRegistry owner and treasury (lines 39 and 45); every other address string in the file is already lowercase. A schema that validates address strings with a lowercase pattern (^0x[0-9a-f]{40}$) refuses the whole file, exactly as an extra key such as chainId does, and the launch is never admitted. The values themselves are correct (they match script/LaunchPlan.sol byte for byte once case-folded), so the fix is a case fold of the strings only, which changes no constructor argument. The schema is not in this tree, so whether the deployer's parser is case-strict could not be executed here; the finding rests on the written rule.","line":10,"path":"launch.json","reproduction":"State: launch.json as accepted. Input: validate token.constructorArgs[1] = \"0x97C8Fe82527F1a65A147bB0b425C717E4EC547C2\" (and contracts[0].constructorArgs[0] = \"0x8Ad18E99F4C8d8406f9Ba8899CF308000518A981\", contracts[2].constructorArgs[0..7]) against the manifest rule 'addresses in lowercase'. Expected: every address string matches ^0x[0-9a-f]{40}$ as economics.remainderTo (\"0xf165884070b1a1e571f4a3b50fd727fe8380bee4\") and pool.pairedCurrency already do. Actual: the strings contain uppercase hex digits (C8Fe82...E4EC547C2), so a case-strict schema check refuses the manifest and no launch is submitted. Case-folding the strings yields identical ABI words.","severity":"medium","snippet":"      \"0x97C8Fe82527F1a65A147bB0b425C717E4EC547C2\",","title":"launch.json writes checksum-cased addresses in constructorArgs; the manifest rule asks for lowercase"},{"citation":"resolved","description":"Economic-security note on a fixed input (the brief fixes every price, so this is recorded, not changed). The launch economics open the pool at initialMarketCapWei = 15,000 IMD for 1,000,000,000 YOLO; at the fixed IMD price of $5.5 that is 15,000 x 5.5 / 1e9 = $0.0000825 per YOLO. DevPrices starts yoloPriceUsd at 1e15 = $0.001, 12.12x above the opening valuation. The only consumer is CaseDesk._stakeBps (src/desks/CaseDesk.sol:532, yoloValue(t.currency, t.pot)), which converts the task pot into YOLO at the dev price and pays the doer up to MAX_STAKE_BONUS_BPS (400 bps of the reward) when the lock power covers it. With the dev price a 100 USDC pot is worth 100,000 YOLO, so a 52-week lock of 100,000 YOLO (about $8.25 at the pool's opening price, before the pool's 1.25% fee and slippage) earns the full 4 USDC bonus on every task of that size, whereas at the pool-implied price the same lock would earn 33 bps (0.33 USDC). Who pays: the bonus comes out of the 10% fee (the stakers' share), so the treasury's and the burn's share shrink by up to 400 bps of each staked doer's reward; nobody outside the protocol loses, and the bonus is capped at 4%, so the impact is bounded and non-compounding. The owner can only move the price 10x per call (DevPrices._check), so correcting it to 8.25e13 takes two transactions (1e15 -> 1e14 -> 8.25e13). This duplicates ADAPTATION.md disposition 3 and is restated here with the launch's numbers because it is the one place the launch economics and the protocol's price disagree.","line":74,"path":"script/LaunchPlan.sol","reproduction":"State: DevPrices as launched (yoloPriceUsd = 1e15, imdUsd = 5.5e18, usdc fixed at 1e18), a YoloLockHub lock of 100,000e18 YOLO for 52 weeks by the doer, a USDC task with pot 100e6 and no YOLO add-on. Call: CaseDesk.submit by the doer. Trace: _stakeBps -> DevPrices.yoloValue(usdc, 100e6) = usdValue(100e6) * 1e18 / 1e15 = 100e18 * 1e3 = 100,000e18; power = 100,000e18 x 52/52 = 100,000e18 >= r, so stakeBps = 400. Expected at the launch valuation (yoloPriceUsd = 8.25e13): r = 1,212,121e18, stakeBps = 400 x 100,000 / 1,212,121 = 33. Actual: 400 bps, i.e. a 4 USDC bonus bought with about $8-12 of YOLO locked for a year, on every task of that size the doer completes.","severity":"low","snippet":"    uint256 internal constant YOLO_PRICE_USD = 0.001e18;","title":"DevPrices opens with YOLO at $0.001 while the pool opens at $0.0000825: the doer stake bonus is sized 12.1x too cheaply"},{"citation":"resolved","description":"Not a code defect: a timing constraint the judge should keep in view. The gate 0x97C8Fe82527F1a65A147bB0b425C717E4EC547C2 has code on mainnet, so scheduled_ is true and the constructor requires block.timestamp <= openAt_ = 1792584000 (2026-10-21 12:00:00 UTC). This review ran at 1792565285 (06:48 UTC), about 5 h 12 min before the deadline. The gate was sealed at 1792560251 (05:24:11 UTC), strictly before openAt, so the first-window precondition (sealedAt < openAt, line 158) holds for any openAt the brief allows. If the factory transaction is mined at 1792584001 or later, the token constructor reverts BadOpenAt(1792584000), ProjectFactory.launchCustom reverts as a whole, and the launch gas is spent for nothing; the brief then allows moving only the openAt argument, to at most 1792594800 (15:00 UTC), after which the job must fail.","line":80,"path":"src/token/YoloToken.sol","reproduction":"Deploy YoloToken(poolManager, 0x97C8Fe82527F1a65A147bB0b425C717E4EC547C2 with code, 0x3c587Eff6c96eAcF7E3dcC2CFf6416161386E48C, 1792584000) at block.timestamp = 1792584000: succeeds. At block.timestamp = 1792584001: reverts BadOpenAt(1792584000); the existing test_OpenAtBounds covers the boundary. Expected by the brief: the launch is mined before openAt, or openAt is moved later (at most 1792594800).","severity":"info","snippet":"        if (scheduled_ && (openAt_ < block.timestamp || openAt_ > block.timestamp + MAX_OPEN_DELAY)) {","title":"Operational deadline: a launch mined after openAt (12:00 UTC today) reverts BadOpenAt and the whole factory transaction fails"}],"hash":"c91f4be26d893999008da5000a0873bf0f9edc25376a9788d26bf765e4b007a9","nodeId":"5e2a2e8c-c97b-4173-9ae9-ffc73174cbbf","outcome":"completed","summary":"The background Foundry build was stopped at its time limit before producing artifacts. Nothing in the deliverable depended on it: no finding reached a severity that requires a proof test, and the review changed no files other than the findings record.\n\nFinal state:\n\n- `.imd-findings.json` holds 3 findings (one medium on launch.json address casing, one low on the fixed DevPrices start price versus the pool's opening valuation, one informational on the 12:00 UTC openAt deadline) and a coverage row for every listed entry point plus the invariants checked.\n- The build was not completed, so the existing test suite was not rerun in this session. The accepted ADAPTATION.md records its earlier passing runs.\n- The working tree is otherwise unchanged.","treeHash":null,"usage":{"cachedInputTokens":191120,"inputTokens":4,"model":"claude-fable-5-1","outputTokens":240,"runtime":"claude","turns":1,"wallClockMs":1464572}}],"verification":[{"checks":[{"durationMs":519604,"exitCode":0,"name":"build","output":"Compiling 184 files with Solc 0.8.28\nSolc 0.8.28 finished in 519.41s\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\nWarning (2018): Function state mutability can be restricted to view\n   --> test/support/AttestationConformance.t.sol:106:5:\n    |\n106 |     function test_BothYesAndNoAreValidSignedResultsWithinCallbackGasBudget() public {\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2018): Function state mutability can be restricted to view\n   --> test/support/AttestationConformance.t.sol:128:5:\n    |\n128 |     function test_EveryAttestationFieldIsCoveredBySignature() public {\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\n","passed":true},{"durationMs":18090,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\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.00ms (369.25µs CPU time)\n\nRan 1 test for test/audit/round2/Proof_5d8c4edc729c.t.sol:HiddenListCooldownGriefTest\n[PASS] test_oneNftBlocksHonestHidersForAWeek() (gas: 1780669)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.96ms (1.30ms 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 2.51ms (1.45ms CPU time)\n\nRan 1 test for test/audit/round2/Proof_ced07852b14f.t.sol:HiddenListSnipeTest\n[PASS] test_lastSecondSnipeHidesWithoutReply() (gas: 505448)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.18ms (647.95µ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 4.98ms (2.22ms 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 5.18ms (4.32ms 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.89ms (0.00ns 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.23ms (0.00ns 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 593.00µs (481.49µs CPU time)\n\nRan 45 tests for test/HiddenList.t.sol:HiddenListTest\n[PASS] test_10Of10NftsPassesAfterRoundEnd() (gas: 1666842)\n[PASS] test_2Of3WalletsDoesNotPassEvenWith10Nfts() (gas: 825276)\n[PASS] test_3Of3WalletsWith10NftsPasses() (gas: 929019)\n[PASS] test_9Of10NftsDoesNotPass() (gas: 1505280)\n[PASS] test_AllBadTokenIdsDoesNotOpenARound() (gas: 131924)\n[PASS] test_ConstructorAllowsZeroDelegateRegistry() (gas: 7024)\n[PASS] test_ConstructorFixesOwnerNoTransferFunction() (gas: 17154)\n[PASS] test_ConstructorRejectsZeroOwnerOrNft() (gas: 9295)\n[PASS] test_DelegateXyzDelegateCanVote() (gas: 267602)\n[PASS] test_EmptyTokenIdsDoesNotOpenARound() (gas: 41527)\n[PASS] test_EthWithDataReverts() (gas: 37829)\n[PASS] test_FailedRoundCanRetryAfter7Days() (gas: 2009461)\n[PASS] test_FailedRoundCannotRetryBefore7Days() (gas: 3173626)\n[PASS] test_GasNftHolderVote1NftLaterVote() (gas: 312434)\nLogs:\n  NFT holder vote, 1 NFT (later vote): 50089\n\n[PASS] test_GasNftHolderVote1NftOpensRound() (gas: 209782)\nLogs:\n  NFT holder vote, 1 NFT (opens a round): 130352\n\n[PASS] test_GasOwnerHides1Item() (gas: 61056)\nLogs:\n  owner hides 1 item: 54438\n\n[PASS] test_GasOwnerHides20Items() (gas: 584538)\nLogs:\n  owner hides 20 items (batch): 567305\n\n[PASS] test_GasOwnerUnhides1Item() (gas: 94224)\nLogs:\n  owner unhides 1 item: 32830\n\n[PASS] test_HideVoteEventCarriesVaultKindId() (gas: 211555)\n[PASS] test_KeepVoteWithNoActiveRoundIsANoOp() (gas: 112110)\n[PASS] test_KeptBlocksNewRounds() (gas: 163090)\n[PASS] test_LocalConstantsMatchContract() (gas: 29212)\n[PASS] test_NonOwnerSetStateReverts() (gas: 32708)\n[PASS] test_NonexistentTokenIdSkippedNotReverted() (gas: 49881)\n[PASS] test_OwnerHidesAnItemNoVoteEverPassed() (gas: 62775)\n[PASS] test_OwnerHidesUnhidesKeepsABatch() (gas: 206197)\n[PASS] test_OwnerOfNftCanVote() (gas: 212441)\n[PASS] test_OwnerOverridesAPassedVoteBackToVisible() (gas: 1711534)\n[PASS] test_OwnerRestoreVisibleStartsCooldown() (gas: 1813396)\n[PASS] test_PlainEthTransferReverts() (gas: 36475)\n[PASS] test_SameIdDifferentVaultsAreIndependent() (gas: 70415)\n[PASS] test_SameWalletMoreNftsLaterAddToTallyNotWallets() (gas: 313708)\n[PASS] test_SelfContestRepeatsEvery8DaysHonestVoteStillCounts() (gas: 4120541)\n[PASS] test_SelfContestUnderQuorumDoesNotBlockHonestVoteNextDay() (gas: 2010992)\n[PASS] test_SetStateEmitsStateSetWithVaultKindId() (gas: 61729)\n[PASS] test_SetStateInstantNoTimelock() (gas: 63017)\n[PASS] test_SetStateRejectsBadStateValue() (gas: 32653)\n[PASS] test_StatusHiddenOnlyAfterRoundEndEvenIfQuorumAlreadyMet() (gas: 1690048)\n[PASS] test_StrangerCannotVoteWithSomeoneElsesNft() (gas: 132543)\n[PASS] test_TaskAndProofKindsAreIndependent() (gas: 69865)\n[PASS] test_TieHideEqualsKeepDoesNotPass() (gas: 3042275)\n[PASS] test_TokenIdCountsOnceInARound() (gas: 243556)\n[PASS] test_UncontestedFailedRoundRetriesAtOnce() (gas: 570419)\n[PASS] test_VotePassingCannotUnhideAnOwnerHiddenItem() (gas: 1036389)\n[PASS] test_WalletKeepsOneSidePerRoundOtherSideSkipped() (gas: 295427)\nSuite result: ok. 45 passed; 0 failed; 0 skipped; finished in 10.87ms (10.18ms 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 3.99ms (944.97µs CPU time)\n\nRan 9 tests for test/support/AttestationConformance.t.sol:SupportAttestationConformanceTest\n[PASS] test_BothYesAndNoAreValidSignedResultsWithinCallbackGasBudget() (gas: 67613)\n[PASS] test_CoreCallbackUsesTheCanonicalFifteenFieldStruct() (gas: 499)\n[PASS] test_DigestAndSignatureMatchIndependentProtocolVector() (gas: 21048)\n[PASS] test_EveryAttestationFieldIsCoveredBySignature() (gas: 370178)\n[PASS] test_GlobalSignerRotationRejectsPreviouslyValidUnexpiredSignature() (gas: 250527)\n[PASS] test_NoncanonicalBoolEncodingAndLengthAreRejected() (gas: 72343)\n[PASS] test_PositiveExpiryBoundaryAndMalformedSignatures() (gas: 69654)\n[PASS] test_SignatureIsBoundToConsumerAndConsumerChain() (gas: 84989)\n[PASS] test_SignedButInvalidPanelCountsAreRefused() (gas: 100321)\nSuite result: ok. 9 passed; 0 failed; 0 skipped; finished in 12.60ms (8.33ms 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: 37693459)\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 4546 runtime, margin 20030\n  HiddenList 3789 runtime, margin 20787\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: 684503)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 13.80ms (11.18ms 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 21.30ms (920.97µs CPU time)\n\nRan 2 tests for test/audit/PredictZeroPoints.t.sol:PredictZeroPointsWinnerTest\n[PASS] test_ZeroPointWinner_TakesTheLosingPool() (gas: 1898347)\n[PASS] test_ZeroPointWinners_SplitByPosition() (gas: 2071515)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 25.52ms (2.65ms 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 861.94µs (296.41µ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 27.61ms (6.74ms CPU time)\n\nRan 6 tests for test/Directory.t.sol:DirectoryTest\n[PASS] test_ConstructorChecks() (gas: 6526)\n[PASS] test_CurrentMayGoBack() (gas: 596813)\n[PASS] test_OnlySafeProposesAndCancels() (gas: 587161)\n[PASS] test_ProposalChecks() (gas: 215319)\n[PASS] test_V2SideBySide_AfterTimelock() (gas: 7803685)\n[PASS] test_Version1FromConstructor() (gas: 66747)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 27.45ms (12.69ms 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 30.30ms (1.57ms 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 32.59ms (9.38ms 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 34.45ms (12.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: 1296364)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 25.52ms (7.76ms 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 38.96ms (10.16ms 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.81ms (9.15ms 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 40.29ms (12.75ms 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 41.09ms (16.36ms 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.43ms (1.28ms 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 41.97ms (27.33ms 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 39.85ms (3.15ms 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 41.68ms (23.27ms 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.73ms (2.69ms 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: 16554919)\nLogs:\n  claimVoterRewards x1 exec: 181234\n  claimVoterRewards x1 tx: 176199\n  claimVoterRewards x4 exec: 394503\n  claimVoterRewards x4 tx: 393204\n  claimVoterRewards x5 exec: 466932\n  claimVoterRewards x5 tx: 465544\n\n[PASS] test_VoteGas_Delegate25_noDecide() (gas: 3983324)\nLogs:\n  vote 25 NFT as delegate (first vote, no decision) exec: 269898\n  vote 25 NFT as delegate (first vote, no decision) tx: 266929\n\n[PASS] test_VoteGas_First1() (gas: 159633)\nLogs:\n  vote 1 NFT (first vote) exec: 143875\n  vote 1 NFT (first vote) tx: 136349\n\n[PASS] test_VoteGas_First100() (gas: 818488)\nLogs:\n  vote 100 NFT (first vote, decides) exec: 585532\n  vote 100 NFT (first vote, decides) tx: 569723\n\n[PASS] test_VoteGas_First100_noDecide() (gas: 4366443)\nLogs:\n  vote 100 NFT (first vote, no decision) exec: 538581\n  vote 100 NFT (first vote, no decision) tx: 529228\n\n[PASS] test_VoteGas_First25() (gas: 350160)\nLogs:\n  vote 25 NFT (first vote, decides) exec: 281545\n  vote 25 NFT (first vote, decides) tx: 272021\n\n[PASS] test_VoteGas_First25_noDecide() (gas: 3898096)\nLogs:\n  vote 25 NFT (first vote, no decision) exec: 234562\n  vote 25 NFT (first vote, no decision) tx: 231526\n\n[PASS] test_VoteGas_Profile() (gas: 674688)\nLogs:\n  vote 1 NFT (first vote) exec: 143875\n  vote 1 NFT (first vote) tx: 136349\n  vote 10 NFT (later vote) exec: 139672\n  vote 10 NFT (later vote) tx: 137900\n  vote 15 NFT (later vote) exec: 159861\n  vote 15 NFT (later vote) tx: 157667\n  vote 2 NFT (later vote) exec: 124328\n  vote 2 NFT (later vote) tx: 123216\n\nSuite result: ok. 9 passed; 0 failed; 0 skipped; finished in 39.86ms (15.98ms 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 46.63ms (25.56ms 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 59.66ms (42.15ms 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 25.88ms (8.34ms 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 17.06ms (1.12ms 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 67.93ms (39.34ms 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.91ms (7.79ms 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 27.66ms (6.36ms CPU time)\n\nRan 5 tests for test/support/YoloTokenStateful.t.sol:YoloTokenAtomicityTest\n[PASS] testFuzz_SellQuoteIsMonotoneAndRoundingBounded(uint256,uint256) (runs: 1000, μ: 27791, ~: 27861)\n[PASS] test_BareChainDecisionCannotBeActivatedByLaterGateDeployment() (gas: 174542)\n[PASS] test_FailedTaxedTransferFromRollsBackTaxAndAllowance() (gas: 166294)\n[PASS] test_InsufficientPoolBalanceRollsBackGateConsumption() (gas: 254439)\n[PASS] test_ZeroTransferDoesNotConsumeQuotaOrChargeTaxAtEveryBoundary() (gas: 601468)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 35.04ms (34.18ms CPU time)\n\nRan 6 tests for test/audit/AuditC.t.sol:AuditCTest\n[PASS] testFuzz_ValidTextMatchesReference(bytes,uint8,uint8) (runs: 256, μ: 260563, ~: 259971)\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 76.08ms (86.12ms 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 687.87µs (370.49µs 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 77.00ms (49.20ms 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 33.65ms (8.18ms 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 24.21ms (555.02µs 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 79.69ms (51.61ms 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 29.18ms (11.66ms 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 25.71ms (1.96ms 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 90.99ms (61.46ms CPU time)\n\nRan 1 test for test/review/ReviewSplitAccess.t.sol:ReviewSplitAccessIsolated\n[PASS] test_Guard_WireClosesWithTheDeployTx() (gas: 69322)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.41ms (1.25ms CPU time)\n\nRan 9 tests for test/support/SwapAdapterFailures.t.sol:SwapAdapterFailuresTest\n[PASS] testFuzz_MalformedPathLengthRejectsBeforePayment(uint256) (runs: 1000, μ: 83921, ~: 83910)\n[PASS] test_Erc20InputRefusesUnexpectedEth() (gas: 102075)\n[PASS] test_EthInputRefusesBothUnderpaymentAndOverpayment() (gas: 124642)\n[PASS] test_ExactDeadlinePassesAndOnlySpecifiedRecipientReceivesOutput() (gas: 388038)\n[PASS] test_ExpiredCallDoesNotTouchTokensOrRouter() (gas: 90047)\n[PASS] test_MultihopEthForwardsExactValueAndMinimum() (gas: 335571)\n[PASS] test_PausedInputLeavesNoStrandedBalanceOrApproval() (gas: 481739)\n[PASS] test_RouteEndpointsMustMatchBothDeclaredAssets() (gas: 152951)\n[PASS] test_SlippageFailureRestoresUserFundsAndApprovalsThenRetryWorks() (gas: 681965)\nSuite result: ok. 9 passed; 0 failed; 0 skipped; finished in 47.21ms (47.38ms CPU time)\n\nRan 6 tests for test/support/VotePowerFailures.t.sol:VotePowerFailuresTest\n[PASS] testFuzz_FirstNotHeldReportsTheFirstFailingIndex(uint8,uint8) (runs: 1000, μ: 51303, ~: 44532)\n[PASS] test_DisabledRegistryAllowsOwnerOnly() (gas: 86064)\n[PASS] test_MissingNftAndRevertingOwnerLookupFailClosed() (gas: 37267)\n[PASS] test_RevertingDelegationLookupDoesNotBlockActualOwner() (gas: 33094)\n[PASS] test_TokenDelegationCannotAuthorizeAnotherIdOrCollection() (gas: 1000323)\n[PASS] test_TransferAndRevocationTakeEffectImmediatelyWithoutRegistration() (gas: 323515)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 75.59ms (75.13ms 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 48.13ms (25.49ms 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 476.97µs (344.06µs 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 156.94ms (110.47ms 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 143.71ms (109.27ms CPU time)\n\nRan 5 tests for test/support/SupportParameterFailures.t.sol:SupportPricePropertiesTest\n[PASS] testFuzz_ConversionsRespectWholeTokenPricesAndDecimalScales(uint256) (runs: 1000, μ: 41494, ~: 41409)\n[PASS] testFuzz_PriceChangeCannotAffectOtherCurrencies(uint256,uint8) (runs: 1000, μ: 57233, ~: 57287)\n[PASS] test_NonDivisibleDownwardStepUsesCeiling() (gas: 193375)\n[PASS] test_UnauthorizedSettersLeaveAllPricesIntact() (gas: 96280)\n[PASS] test_UnknownAssetIsRefusedEvenForZeroAndSupportedZeroConversionsAreZero() (gas: 134779)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 110.13ms (109.69ms 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 63.58ms (43.75ms 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 31.77ms (8.46ms 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 32.21ms (14.61ms 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 755.94µs (580.12µ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 102.39ms (101.48ms 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 18.88ms (1.36ms CPU time)\n\nRan 21 tests for test/Swarm.t.sol:SwarmTest\n[PASS] testFuzz_NoMandatoryCheck_AnyRewardSize(uint256,uint8) (runs: 256, μ: 796828, ~: 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 201.10ms (277.52ms 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, μ: 346966, ~: 346550)\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 138.54ms (118.56ms CPU time)\n\nRan 22 tests for test/YoloLockHub.t.sol:YoloLockHubTest\n[PASS] testFuzz_LockThenWithdrawReturnsExactAmount(uint256,uint256) (runs: 256, μ: 272102, ~: 271878)\n[PASS] testFuzz_PowerConstantThroughTheTerm(uint256,uint256,uint256) (runs: 256, μ: 150908, ~: 150975)\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 114.82ms (98.14ms 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 74.47ms (58.80ms CPU time)\n\nRan 14 tests for test/Trophy.t.sol:TrophyTest\n[PASS] test_BadgesPerCategory() (gas: 4942870)\n[PASS] test_Catalog_DisableKeepsMinted() (gas: 4215406)\n[PASS] test_Catalog_Guards() (gas: 8986832)\nLogs:\n  addDesign gas, 8192-byte SVG: 7465885\n\n[PASS] test_Catalog_Launch3Gas() (gas: 9161558)\nLogs:\n  YoloSweetener 6748 runtime bytes\n  TrophyCatalog 4228 runtime bytes\n  DareTrophy 11777 runtime bytes\n  ProtocolDirectory 4546 runtime bytes\n  HiddenList 3789 runtime bytes\n  YoloPredict 6385 runtime bytes\n  launch 3 execution gas 8668683\n  launch 3 calldata bytes 42884\n  launch 3 total gas (upper bound) 9375827\n\n[PASS] test_Catalog_NeedsAddress() (gas: 6203)\n[PASS] test_Catalog_OwnerAddsDesign() (gas: 7681558)\n[PASS] test_Catalog_StrangerCannotEdit() (gas: 468134)\n[PASS] test_Catalog_UpdateThenMint() (gas: 7832757)\n[PASS] test_DoerMintsOnceBurningYolo() (gas: 1665316)\n[PASS] test_FixedPrice_IgnoresTheDevPrice() (gas: 166897)\n[PASS] test_MetadataOnChain() (gas: 4576380)\n[PASS] test_OnlyTheDoerOfAnAcceptedSubmission() (gas: 12589976)\n[PASS] test_RewardFormatting() (gas: 11024502)\n[PASS] test_TitleGuards() (gas: 1310117)\nSuite result: ok. 14 passed; 0 failed; 0 skipped; finished in 100.59ms (83.30ms 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.49µs (36.06µ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 465.18µs (137.77µ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 483.81µs (337.95µ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 39.53ms (18.72ms 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 55.35ms (40.94ms 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 131.13µs (21.61µs CPU time)\n\nRan 4 tests for test/TextRule.t.sol:TextRuleTest\n[PASS] testFuzz_AsciiWithOneByte(uint16,uint16,uint8,uint256) (runs: 256, μ: 212077, ~: 153595)\n[PASS] testFuzz_MixedUtf8(uint256,uint16) (runs: 256, μ: 63496, ~: 55869)\n[PASS] testFuzz_RandomBytes(bytes) (runs: 256, μ: 14071, ~: 13631)\n[PASS] test_Examples() (gas: 562950)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 141.27ms (196.66ms 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 144.37ms (192.84ms 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 508.62ms (54.22ms CPU time)\n\nRan 7 tests for test/support/SupportParameterFailures.t.sol:SupportRegistryFailuresTest\n[PASS] testFuzz_OutOfBoundsFeeCannotReplacePendingValidProposal(uint16) (runs: 1000, μ: 1701204, ~: 1701185)\n[PASS] test_AllProposalCancellationAndPauseEntrypointsRequireOwner() (gas: 1607276)\n[PASS] test_CancellationIsSpecificToSignerAndDirection() (gas: 197570)\n[PASS] test_CancelledProposalCannotBeRevivedOrCancelAnActivatedVersion() (gas: 2993196)\n[PASS] test_DuplicateSignerAdditionCannotInflateCount() (gas: 353414)\n[PASS] test_FailedLastRemovalKeepsProposalExecutableAfterAddition() (gas: 323017)\n[PASS] test_ReplacementRestartsFullDelayAndVersionsNeverChange() (gas: 3342413)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 453.96ms (456.34ms 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, μ: 2484967, ~: 2478871)\n[PASS] testFuzz_Invariant_BurnedPaidHeldEqualsDeposited(uint256,uint8,uint8) (runs: 256, μ: 3089682, ~: 2840223)\n[PASS] testFuzz_Invariant_NeverPaysOutMoreThanDeposited(uint256,uint256,uint256,bool) (runs: 256, μ: 1942040, ~: 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 593.02ms (747.82ms CPU time)\n\nRan 1 test for test/review/ReviewQueue.t.sol:ReviewQueue\n[PASS] testFuzz_QueueContributorsGetExactlyTheirs((uint8,uint256)) (runs: 256, μ: 8977704, ~: 7861842)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 839.40ms (819.57ms 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, μ: 9209469, ~: 9356271)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.19s (1.17s 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.31s (29.69ms CPU time)\n\nRan 8 tests for test/audit/AuditB.t.sol:AuditBTest\n[PASS] testFuzz_Guard_ModeAPaymentsBookExactly(uint256,uint96,uint96,bool) (runs: 256, μ: 7307811, ~: 7283221)\n[PASS] testFuzz_Guard_PinnedVersionNeverChanges(uint16,uint32) (runs: 256, μ: 3173287, ~: 3173227)\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 1.35s (1.95s 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 1.50s (295.26ms 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 1.43s (162.64ms 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, μ: 10942270, ~: 10021012)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.46s (1.45s 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 1.53s (181.39ms CPU time)\n\nRan 2 tests for test/support/YoloTokenStateful.t.sol:YoloTokenStatefulTest\n[PASS]\nYoloTokenStatefulTest invariants:\n[PASS] invariant_FixedSupplyEqualsEveryTrackedBalance\n[PASS] invariant_SnapshotUsageEqualsOnlySuccessfulWindowBuys\n YoloTokenStatefulTest invariants (runs: 128, calls: 16384, reverts: 0)\n\n╭---------------------+------------------+-------+---------+----------╮\n| Contract            | Selector         | Calls | Reverts | Discards |\n+=====================================================================+\n| YoloScheduleHandler | advance          | 2371  | 0       | 0        |\n|---------------------+------------------+-------+---------+----------|\n| YoloScheduleHandler | buy              | 2364  | 0       | 0        |\n|---------------------+------------------+-------+---------+----------|\n| YoloScheduleHandler | factoryRoundTrip | 2287  | 0       | 0        |\n|---------------------+------------------+-------+---------+----------|\n| YoloScheduleHandler | nextBoundary     | 2344  | 0       | 0        |\n|---------------------+------------------+-------+---------+----------|\n| YoloScheduleHandler | outsiderConsumes | 2325  | 0       | 0        |\n|---------------------+------------------+-------+---------+----------|\n| YoloScheduleHandler | sell             | 2296  | 0       | 0        |\n|---------------------+------------------+-------+---------+----------|\n| YoloScheduleHandler | walletTransfer   | 2397  | 0       | 0        |\n╰---------------------+------------------+-------+---------+----------╯\n\n[PASS] test_HandlerExercisesAllPhasesIncludingRejections() (gas: 1027477)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 2.10s (2.09s 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 2.17s (4.81ms CPU time)\n\nRan 2 tests for test/support/GenesisCustodyStateful.t.sol:GenesisCustodyStatefulTest\n[PASS]\nGenesisCustodyStatefulTest invariants:\n[PASS] invariant_EveryRemainderTokenIsAccountedFor\n[PASS] invariant_SplitAndClocksCannotBeResetByLaterFundingOrRelease\n GenesisCustodyStatefulTest invariants (runs: 128, calls: 12288, reverts: 0)\n\n╭-----------------------+---------------+-------+---------+----------╮\n| Contract              | Selector      | Calls | Reverts | Discards |\n+====================================================================+\n| GenesisCustodyHandler | advance       | 2510  | 0       | 0        |\n|-----------------------+---------------+-------+---------+----------|\n| GenesisCustodyHandler | attemptRebind | 2429  | 0       | 0        |\n|-----------------------+---------------+-------+---------+----------|\n| GenesisCustodyHandler | fund          | 2531  | 0       | 0        |\n|-----------------------+---------------+-------+---------+----------|\n| GenesisCustodyHandler | release       | 2410  | 0       | 0        |\n|-----------------------+---------------+-------+---------+----------|\n| GenesisCustodyHandler | split         | 2408  | 0       | 0        |\n╰-----------------------+---------------+-------+---------+----------╯\n\n[PASS] test_ThresholdDustLateFundingAndEndOfVesting() (gas: 1826453)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 2.85s (2.85s CPU time)\n\nRan 4 tests for test/support/BuybackBurnerStateful.t.sol:BuybackBurnerStatefulTest\n[PASS]\nBuybackBurnerStatefulTest invariants:\n[PASS] invariant_ReservesAreHeldCreditedOrPaidOnlyToBuybackWallets\n[PASS] invariant_YoloCanOnlyWaitOrReachDeadWithoutChangingSupply\n BuybackBurnerStatefulTest invariants (runs: 128, calls: 16384, reverts: 0)\n\n╭---------------+----------------------+-------+---------+----------╮\n| Contract      | Selector             | Calls | Reverts | Discards |\n+===================================================================+\n| BurnerHandler | burn                 | 2092  | 0       | 0        |\n|---------------+----------------------+-------+---------+----------|\n| BurnerHandler | deposit              | 4080  | 0       | 0        |\n|---------------+----------------------+-------+---------+----------|\n| BurnerHandler | forbiddenYoloForward | 2026  | 0       | 0        |\n|---------------+----------------------+-------+---------+----------|\n| BurnerHandler | forward              | 2123  | 0       | 0        |\n|---------------+----------------------+-------+---------+----------|\n| BurnerHandler | pull                 | 1987  | 0       | 0        |\n|---------------+----------------------+-------+---------+----------|\n| BurnerHandler | rotateWallet         | 2031  | 0       | 0        |\n|---------------+----------------------+-------+---------+----------|\n| BurnerHandler | unauthorizedRotation | 2045  | 0       | 0        |\n╰---------------+----------------------+-------+---------+----------╯\n\n[PASS] test_BlockedReserveTransferRestoresForwardedAndCanBeRetried() (gas: 318775)\n[PASS] test_ChangingDevRequiresAcceptedOwnershipAndRevokesOldDev() (gas: 186948)\n[PASS] test_HandlerRecoveryAfterFailedPushAndPull() (gas: 1653396)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 3.31s (3.30s 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 3.87s (435.42ms CPU time)\n\nRan 23 tests for test/YoloPredict.t.sol:YoloPredictTest\n[PASS] testFuzz_BurnedPlusPaidEqualsDeposited(uint256,uint256,uint256,bool) (runs: 256, μ: 1970607, ~: 1629323)\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 3.86s (3.87s 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 3.90s (64.37ms CPU time)\n\nRan 24 tests for test/Votes.t.sol:VotesTest\n[PASS] testFuzz_EachIdOnce(uint8,uint8) (runs: 256, μ: 3918379, ~: 3944030)\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 3.85s (3.88s CPU time)\n\nRan 2 tests for test/VotePowerFuzz.t.sol:VotePowerFuzzTest\n[PASS] testFuzz_OneVotePerNft(uint256) (runs: 256, μ: 93745746, ~: 96130487)\n[PASS] test_OneVotePerNft_Fixed() (gas: 387092570)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 3.82s (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               | 529   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | appeal               | 519   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | askAppealSwarm       | 556   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | breakIntake          | 534   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | callSwarm            | 544   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | claim                | 558   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | createTask           | 546   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | dispute              | 570   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | expireAndWithdraw    | 566   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | lock                 | 550   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | mintTrophy           | 553   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | payoutBonus          | 536   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | poke                 | 557   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progress             | 522   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressA            | 527   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressB            | 531   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressC            | 526   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressD            | 538   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | setIntakePrice       | 535   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | submit               | 493   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | sweep                | 517   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | sweeten              | 537   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | topUp                | 516   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | vote                 | 531   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | warp                 | 522   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawBonus        | 526   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawContribution | 526   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawLock         | 535   | 0       | 0        |\n╰----------+----------------------+-------+---------+----------╯\n\nLogs:\n  createTask: 5\n  topUp: 0\n  submit: 0\n  dispute: 0\n  vote: 0\n  appeal: 0\n  breakIntake: 5\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: 1\n  withdrawBonus: 0\n  payoutBonus: 0\n  mintTrophy: 0\n  lock: 3\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.91s (17.88s CPU time)\n\nRan 97 test suites in 17.92s (62.99s CPU time): 737 tests passed, 0 failed, 3 skipped (740 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\":205,\"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\":91,\"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\":221,\"src/DevPrices.sol\":129,\"src/HiddenList.sol\":297,\"src/OracleAttestation.sol\":57,\"src/ParamsRegistry.sol\":216,\"src/ProtocolDirectory.sol\":169,\"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\":304,\"src/YoloSweetener.sol\":176,\"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\":186,\"test/DisputeLinkOptional.t.sol\":82,\"test/Disputes.t.sol\":1309,\"test/Emergency.t.sol\":76,\"test/Evidence.t.sol\":338,\"test/Gas.t.sol\":183,\"test/GasTextSize.t.sol\":108,\"test/HiddenList.t.sol\":671,\"test/Hosts.t.sol\":112,\"test/Invariant.t.sol\":674,\"test/LogReconstruction.t.sol\":70,\"test/MoneyRules.t.sol\":937,\"test/OptionalFields.t.sol\":103,\"test/Payments.t.sol\":295,\"test/Scenarios.t.sol\":217,\"test/SideCalls.t.sol\":388,\"test/Swarm.t.sol\":435,\"test/Sweetener.t.sol\":379,\"test/TaskFields.t.sol\":391,\"test/TaskRules.t.sol\":201,\"test/Tasks.t.sol\":619,\"test/TextRule.t.sol\":105,\"test/Trophy.t.sol\":402,\"test/VoteBatch.t.sol\":155,\"test/VoteCountWidth.t.sol\":31,\"test/VoteGas.t.sol\":150,\"test/VotePowerFuzz.t.sol\":122,\"test/Votes.t.sol\":418,\"test/Yolo.t.sol\":138,\"test/YoloLockHub.t.sol\":487,\"test/YoloPredict.t.sol\":641,\"test/YoloPredictScenarios.t.sol\":951,\"test/YoloToken.t.sol\":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/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\":624,\"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,\"test/support/AttestationConformance.t.sol\":200,\"test/support/BuybackBurnerStateful.t.sol\":286,\"test/support/GenesisCustodyStateful.t.sol\":207,\"test/support/README.md\":27,\"test/support/SupportParameterFailures.t.sol\":276,\"test/support/SwapAdapterFailures.t.sol\":180,\"test/support/VotePowerFailures.t.sol\":97,\"test/support/YoloTokenStateful.t.sol\":341},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":true}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"03da5aca44bf7351558b362983daa6a453f0c7347af7cdc863bdb9e4ba6d0fae","verifiedTreeHash":"b0e6dd0decb8b4ead23d97cfd3374b4688d962b4","verifierVersion":"0.1.0+560ab6a2"},{"checks":[{"durationMs":493181,"exitCode":0,"name":"build","output":"Compiling 177 files with Solc 0.8.28\nSolc 0.8.28 finished in 493.01s\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":17220,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\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 184.49µs (50.89µ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 659.06µs (458.51µs 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 715.82µs (274.21µ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 710.79µs (247.96µ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 808.40µs (632.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 515.36µs (352.00µ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.35ms (347.90µ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.59ms (924.70µs CPU time)\n\nRan 45 tests for test/HiddenList.t.sol:HiddenListTest\n[PASS] test_10Of10NftsPassesAfterRoundEnd() (gas: 1666842)\n[PASS] test_2Of3WalletsDoesNotPassEvenWith10Nfts() (gas: 825276)\n[PASS] test_3Of3WalletsWith10NftsPasses() (gas: 929019)\n[PASS] test_9Of10NftsDoesNotPass() (gas: 1505280)\n[PASS] test_AllBadTokenIdsDoesNotOpenARound() (gas: 131924)\n[PASS] test_ConstructorAllowsZeroDelegateRegistry() (gas: 7024)\n[PASS] test_ConstructorFixesOwnerNoTransferFunction() (gas: 17154)\n[PASS] test_ConstructorRejectsZeroOwnerOrNft() (gas: 9295)\n[PASS] test_DelegateXyzDelegateCanVote() (gas: 267602)\n[PASS] test_EmptyTokenIdsDoesNotOpenARound() (gas: 41527)\n[PASS] test_EthWithDataReverts() (gas: 37829)\n[PASS] test_FailedRoundCanRetryAfter7Days() (gas: 2009461)\n[PASS] test_FailedRoundCannotRetryBefore7Days() (gas: 3173626)\n[PASS] test_GasNftHolderVote1NftLaterVote() (gas: 312434)\nLogs:\n  NFT holder vote, 1 NFT (later vote): 50089\n\n[PASS] test_GasNftHolderVote1NftOpensRound() (gas: 209782)\nLogs:\n  NFT holder vote, 1 NFT (opens a round): 130352\n\n[PASS] test_GasOwnerHides1Item() (gas: 61056)\nLogs:\n  owner hides 1 item: 54438\n\n[PASS] test_GasOwnerHides20Items() (gas: 584538)\nLogs:\n  owner hides 20 items (batch): 567305\n\n[PASS] test_GasOwnerUnhides1Item() (gas: 94224)\nLogs:\n  owner unhides 1 item: 32830\n\n[PASS] test_HideVoteEventCarriesVaultKindId() (gas: 211555)\n[PASS] test_KeepVoteWithNoActiveRoundIsANoOp() (gas: 112110)\n[PASS] test_KeptBlocksNewRounds() (gas: 163090)\n[PASS] test_LocalConstantsMatchContract() (gas: 29212)\n[PASS] test_NonOwnerSetStateReverts() (gas: 32708)\n[PASS] test_NonexistentTokenIdSkippedNotReverted() (gas: 49881)\n[PASS] test_OwnerHidesAnItemNoVoteEverPassed() (gas: 62775)\n[PASS] test_OwnerHidesUnhidesKeepsABatch() (gas: 206197)\n[PASS] test_OwnerOfNftCanVote() (gas: 212441)\n[PASS] test_OwnerOverridesAPassedVoteBackToVisible() (gas: 1711534)\n[PASS] test_OwnerRestoreVisibleStartsCooldown() (gas: 1813396)\n[PASS] test_PlainEthTransferReverts() (gas: 36475)\n[PASS] test_SameIdDifferentVaultsAreIndependent() (gas: 70415)\n[PASS] test_SameWalletMoreNftsLaterAddToTallyNotWallets() (gas: 313708)\n[PASS] test_SelfContestRepeatsEvery8DaysHonestVoteStillCounts() (gas: 4120541)\n[PASS] test_SelfContestUnderQuorumDoesNotBlockHonestVoteNextDay() (gas: 2010992)\n[PASS] test_SetStateEmitsStateSetWithVaultKindId() (gas: 61729)\n[PASS] test_SetStateInstantNoTimelock() (gas: 63017)\n[PASS] test_SetStateRejectsBadStateValue() (gas: 32653)\n[PASS] test_StatusHiddenOnlyAfterRoundEndEvenIfQuorumAlreadyMet() (gas: 1690048)\n[PASS] test_StrangerCannotVoteWithSomeoneElsesNft() (gas: 132543)\n[PASS] test_TaskAndProofKindsAreIndependent() (gas: 69865)\n[PASS] test_TieHideEqualsKeepDoesNotPass() (gas: 3042275)\n[PASS] test_TokenIdCountsOnceInARound() (gas: 243556)\n[PASS] test_UncontestedFailedRoundRetriesAtOnce() (gas: 570419)\n[PASS] test_VotePassingCannotUnhideAnOwnerHiddenItem() (gas: 1036389)\n[PASS] test_WalletKeepsOneSidePerRoundOtherSideSkipped() (gas: 295427)\nSuite result: ok. 45 passed; 0 failed; 0 skipped; finished in 15.65ms (15.07ms 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 17.05ms (16.91ms 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 18.37ms (1.07ms CPU time)\n\nRan 1 test for test/audit/StepDeadlineAppealed.t.sol:StepDeadlineAppealedTest\n[PASS] test_StepDeadlineAppealed_IsVoidMoment() (gas: 2222975)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 21.92ms (1.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.55ms (2.99ms 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 28.10ms (10.30ms 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 30.03ms (8.85ms 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 31.23ms (597.72µ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.57ms (2.16ms CPU time)\n\nRan 6 tests for test/Directory.t.sol:DirectoryTest\n[PASS] test_ConstructorChecks() (gas: 6526)\n[PASS] test_CurrentMayGoBack() (gas: 596813)\n[PASS] test_OnlySafeProposesAndCancels() (gas: 587161)\n[PASS] test_ProposalChecks() (gas: 215319)\n[PASS] test_V2SideBySide_AfterTimelock() (gas: 7803685)\n[PASS] test_Version1FromConstructor() (gas: 66747)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 33.53ms (11.56ms 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 36.64ms (1.28ms 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: 16554919)\nLogs:\n  claimVoterRewards x1 exec: 181234\n  claimVoterRewards x1 tx: 176199\n  claimVoterRewards x4 exec: 394503\n  claimVoterRewards x4 tx: 393204\n  claimVoterRewards x5 exec: 466932\n  claimVoterRewards x5 tx: 465544\n\n[PASS] test_VoteGas_Delegate25_noDecide() (gas: 3983324)\nLogs:\n  vote 25 NFT as delegate (first vote, no decision) exec: 269898\n  vote 25 NFT as delegate (first vote, no decision) tx: 266929\n\n[PASS] test_VoteGas_First1() (gas: 159633)\nLogs:\n  vote 1 NFT (first vote) exec: 143875\n  vote 1 NFT (first vote) tx: 136349\n\n[PASS] test_VoteGas_First100() (gas: 818488)\nLogs:\n  vote 100 NFT (first vote, decides) exec: 585532\n  vote 100 NFT (first vote, decides) tx: 569723\n\n[PASS] test_VoteGas_First100_noDecide() (gas: 4366443)\nLogs:\n  vote 100 NFT (first vote, no decision) exec: 538581\n  vote 100 NFT (first vote, no decision) tx: 529228\n\n[PASS] test_VoteGas_First25() (gas: 350160)\nLogs:\n  vote 25 NFT (first vote, decides) exec: 281545\n  vote 25 NFT (first vote, decides) tx: 272021\n\n[PASS] test_VoteGas_First25_noDecide() (gas: 3898096)\nLogs:\n  vote 25 NFT (first vote, no decision) exec: 234562\n  vote 25 NFT (first vote, no decision) tx: 231526\n\n[PASS] test_VoteGas_Profile() (gas: 674688)\nLogs:\n  vote 1 NFT (first vote) exec: 143875\n  vote 1 NFT (first vote) tx: 136349\n  vote 10 NFT (later vote) exec: 139672\n  vote 10 NFT (later vote) tx: 137900\n  vote 15 NFT (later vote) exec: 159861\n  vote 15 NFT (later vote) tx: 157667\n  vote 2 NFT (later vote) exec: 124328\n  vote 2 NFT (later vote) tx: 123216\n\nSuite result: ok. 9 passed; 0 failed; 0 skipped; finished in 39.50ms (14.30ms 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 21.82ms (1.33ms 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 40.56ms (9.31ms 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.04ms (0.00ns CPU time)\n\nRan 3 tests for test/audit/YoloModulesAudit.t.sol:YoloModulesAuditTest\n[PASS] test_ContributorCanPredict() (gas: 1382579)\n[PASS] test_Guard_PostExpiryWithdrawalChangesNothing() (gas: 1548325)\n[PASS] test_ResidualGone_NoWithdrawalWhileOpen() (gas: 1529594)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 19.99ms (1.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 9.22ms (7.82ms 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.20ms (1.09ms 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 34.08ms (11.19ms 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 25.27ms (3.86ms 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 56.72ms (35.52ms 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 63.15ms (44.94ms 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 23.26ms (2.66ms 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 801.85µs (284.63µs 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.46ms (16.44ms CPU time)\n\nRan 1 test for test/audit/round2/Proof_5d8c4edc729c.t.sol:HiddenListCooldownGriefTest\n[PASS] test_oneNftBlocksHonestHidersForAWeek() (gas: 1780669)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.32ms (1.00ms 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 879.23µs (366.47µs 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 69.01ms (44.60ms 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 70.56ms (49.86ms 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 22.26ms (823.79µs 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 35.90ms (10.22ms 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 4.84ms (939.50µs 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 78.22ms (16.03ms 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 80.27ms (53.56ms 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 45.56ms (28.54ms 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 21.57ms (4.43ms 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: 37693459)\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 4546 runtime, margin 20030\n  HiddenList 3789 runtime, margin 20787\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: 684503)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 5.92ms (4.77ms 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 34.87ms (16.27ms 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 602.11µs (478.16µ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 136.98µs (35.29µs 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 114.60ms (90.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 116.08ms (97.84ms 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 120.66ms (103.36ms CPU time)\n\nRan 6 tests for test/audit/AuditC.t.sol:AuditCTest\n[PASS] testFuzz_ValidTextMatchesReference(bytes,uint8,uint8) (runs: 256, μ: 260133, ~: 260249)\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 126.98ms (85.06ms CPU time)\n\nRan 22 tests for test/YoloLockHub.t.sol:YoloLockHubTest\n[PASS] testFuzz_LockThenWithdrawReturnsExactAmount(uint256,uint256) (runs: 256, μ: 272053, ~: 271878)\n[PASS] testFuzz_PowerConstantThroughTheTerm(uint256,uint256,uint256) (runs: 256, μ: 150910, ~: 150975)\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 130.71ms (118.93ms CPU time)\n\nRan 2 tests for test/audit/LateAppealAsk.t.sol:LateAppealAskTest\n[PASS] test_LateAppealAskReverts() (gas: 2108484)\n[PASS] test_TimelyAppealAskIsAsked() (gas: 2279994)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 7.07ms (2.79ms 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.02ms (0.00ns CPU time)\n\nRan 4 tests for test/TextRule.t.sol:TextRuleTest\n[PASS] testFuzz_AsciiWithOneByte(uint16,uint16,uint8,uint256) (runs: 256, μ: 213309, ~: 155066)\n[PASS] testFuzz_MixedUtf8(uint256,uint16) (runs: 256, μ: 65960, ~: 59653)\n[PASS] testFuzz_RandomBytes(bytes) (runs: 256, μ: 14238, ~: 13633)\n[PASS] test_Examples() (gas: 562950)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 146.03ms (152.40ms CPU time)\n\nRan 1 test for test/review/ReviewSplitAccess.t.sol:ReviewSplitAccessIsolated\n[PASS] test_Guard_WireClosesWithTheDeployTx() (gas: 69322)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.11ms (1.01ms 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 76.54ms (58.50ms 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 27.12ms (7.37ms 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 44.34ms (20.18ms 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 58.12ms (40.31ms 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 34.05ms (10.53ms 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 48.01ms (30.67ms 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 53.58ms (36.20ms 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 76.84ms (54.03ms 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 28.90ms (6.75ms CPU time)\n\nRan 14 tests for test/Trophy.t.sol:TrophyTest\n[PASS] test_BadgesPerCategory() (gas: 4942870)\n[PASS] test_Catalog_DisableKeepsMinted() (gas: 4215406)\n[PASS] test_Catalog_Guards() (gas: 8986832)\nLogs:\n  addDesign gas, 8192-byte SVG: 7465885\n\n[PASS] test_Catalog_Launch3Gas() (gas: 9161558)\nLogs:\n  YoloSweetener 6748 runtime bytes\n  TrophyCatalog 4228 runtime bytes\n  DareTrophy 11777 runtime bytes\n  ProtocolDirectory 4546 runtime bytes\n  HiddenList 3789 runtime bytes\n  YoloPredict 6385 runtime bytes\n  launch 3 execution gas 8668683\n  launch 3 calldata bytes 42884\n  launch 3 total gas (upper bound) 9375827\n\n[PASS] test_Catalog_NeedsAddress() (gas: 6203)\n[PASS] test_Catalog_OwnerAddsDesign() (gas: 7681558)\n[PASS] test_Catalog_StrangerCannotEdit() (gas: 468134)\n[PASS] test_Catalog_UpdateThenMint() (gas: 7832757)\n[PASS] test_DoerMintsOnceBurningYolo() (gas: 1665316)\n[PASS] test_FixedPrice_IgnoresTheDevPrice() (gas: 166897)\n[PASS] test_MetadataOnChain() (gas: 4576380)\n[PASS] test_OnlyTheDoerOfAnAcceptedSubmission() (gas: 12589976)\n[PASS] test_RewardFormatting() (gas: 11024502)\n[PASS] test_TitleGuards() (gas: 1310117)\nSuite result: ok. 14 passed; 0 failed; 0 skipped; finished in 128.14ms (104.85ms 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, μ: 346917, ~: 346550)\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 108.57ms (138.85ms CPU time)\n\nRan 23 tests for test/YoloPredict.t.sol:YoloPredictTest\n[PASS] testFuzz_BurnedPlusPaidEqualsDeposited(uint256,uint256,uint256,bool) (runs: 256, μ: 1970611, ~: 1629323)\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 244.04ms (246.69ms 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 261.09ms (276.04ms 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 623.75ms (182.80ms 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 680.70ms (16.00ms CPU time)\n\nRan 1 test for test/review/ReviewQueue.t.sol:ReviewQueue\n[PASS] testFuzz_QueueContributorsGetExactlyTheirs((uint8,uint256)) (runs: 256, μ: 9034680, ~: 7908586)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 662.78ms (638.49ms CPU time)\n\nRan 24 tests for test/Votes.t.sol:VotesTest\n[PASS] testFuzz_EachIdOnce(uint8,uint8) (runs: 256, μ: 3921372, ~: 3943185)\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 630.26ms (660.40ms CPU time)\n\nRan 8 tests for test/audit/AuditB.t.sol:AuditBTest\n[PASS] testFuzz_Guard_ModeAPaymentsBookExactly(uint256,uint96,uint96,bool) (runs: 256, μ: 7307812, ~: 7283221)\n[PASS] testFuzz_Guard_PinnedVersionNeverChanges(uint16,uint32) (runs: 256, μ: 3173284, ~: 3173215)\n[PASS] test_Guard_BankOnlyForDesks() (gas: 132520)\n[PASS] test_Guard_FailedPushesBecomeCreditsAndBooksClose() (gas: 9658237)\n[PASS] test_Guard_LeakedAttesterKeyAloneCannotDecideDuringTheRemovalTimelock() (gas: 2884860)\n[PASS] test_Guard_LongestDueChainFitsOneCall() (gas: 10895594)\n[PASS] test_Guard_RevertingPinnedDevPricesNeverBlocksWithdrawals() (gas: 3992617)\n[PASS] test_Guard_ThirdPartyAnswerToACopiedQuestionCannotDecideOurCase() (gas: 9436443)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 695.99ms (790.67ms 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 648.48ms (82.95ms 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 655.40ms (485.16ms 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, μ: 2485059, ~: 2478893)\n[PASS] testFuzz_Invariant_BurnedPaidHeldEqualsDeposited(uint256,uint8,uint8) (runs: 256, μ: 3118150, ~: 2860286)\n[PASS] testFuzz_Invariant_NeverPaysOutMoreThanDeposited(uint256,uint256,uint256,bool) (runs: 256, μ: 1942049, ~: 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 697.22ms (1.40s 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 1.03s (195.03ms CPU time)\n\nRan 21 tests for test/Swarm.t.sol:SwarmTest\n[PASS] testFuzz_NoMandatoryCheck_AnyRewardSize(uint256,uint8) (runs: 256, μ: 797030, ~: 780947)\n[PASS] test_ActionNotSold_LargeSubmitStillWorks() (gas: 11068463)\n[PASS] test_AnswerAfterSilenceIgnored() (gas: 6385369)\n[PASS] test_AnswerSignedEarly_DeliveredLate_Counts() (gas: 6117856)\n[PASS] test_AttesterRotationTimelocked() (gas: 2407774)\n[PASS] test_CallSwarm_IntakeBroken_Reverts_NothingTaken() (gas: 1713608)\n[PASS] test_CallbackGasUnder100k() (gas: 215841)\nLogs:\n  callback gas: 40971\n\n[PASS] test_CallbackSelectorMatchesDocs() (gas: 734)\n[PASS] test_DuplicateAnswerIgnored_FirstWins() (gas: 6128882)\n[PASS] test_IntakeBroken_LargeSubmitUnaffected() (gas: 10580110)\n[PASS] test_LargeTask_DisputedAtOnce_Rejected() (gas: 11212370)\n[PASS] test_LargeTask_DisputedNftAccepts_Fee5To5() (gas: 11338738)\n[PASS] test_LargeTask_QueuedSubmission_ActivatedWithoutQuestion() (gas: 14304618)\n[PASS] test_LateAnswerIgnored_Timeout() (gas: 6339449)\n[PASS] test_LostCallback_IsSilence_NoPublicFallback() (gas: 6460570)\n[PASS] test_NoMandatoryCheck_ImdTask_NoDispute_AcceptedBondBack() (gas: 10546770)\n[PASS] test_NoMandatoryCheck_MaxReward_NothingAsked_AcceptedByTimer() (gas: 10505102)\n[PASS] test_NoPublicFallback_ForAnyAttestation() (gas: 314829)\n[PASS] test_RefusedBody_Status1_IsSilence() (gas: 6208832)\n[PASS] test_RequestShapeAndBody() (gas: 4786337)\n[PASS] test_SpoofedCallbackIgnored() (gas: 494441)\nSuite result: ok. 21 passed; 0 failed; 0 skipped; finished in 1.16s (267.37ms 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 1.04s (20.03ms 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 1.14s (144.64ms 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 1.15s (23.16ms 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, μ: 9216550, ~: 9375946)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.18s (1.15s 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 1.18s (9.09ms 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, μ: 11003795, ~: 10625226)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.33s (1.31s CPU time)\n\nRan 2 tests for test/VotePowerFuzz.t.sol:VotePowerFuzzTest\n[PASS] testFuzz_OneVotePerNft(uint256) (runs: 256, μ: 94713454, ~: 98489394)\n[PASS] test_OneVotePerNft_Fixed() (gas: 387092570)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 3.70s (3.90s 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               | 529   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | appeal               | 519   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | askAppealSwarm       | 556   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | breakIntake          | 534   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | callSwarm            | 544   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | claim                | 558   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | createTask           | 546   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | dispute              | 570   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | expireAndWithdraw    | 566   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | lock                 | 550   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | mintTrophy           | 553   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | payoutBonus          | 536   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | poke                 | 557   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progress             | 522   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressA            | 527   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressB            | 531   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressC            | 526   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressD            | 538   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | setIntakePrice       | 535   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | submit               | 493   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | sweep                | 517   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | sweeten              | 537   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | topUp                | 516   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | vote                 | 531   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | warp                 | 522   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawBonus        | 526   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawContribution | 526   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawLock         | 535   | 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: 5\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: 3\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.02s (16.99s CPU time)\n\nRan 88 test suites in 17.07s (38.29s CPU time): 688 tests passed, 0 failed, 3 skipped (691 total tests)\n","passed":true},{"durationMs":209,"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\":205,\"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\":91,\"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\":221,\"src/DevPrices.sol\":129,\"src/HiddenList.sol\":297,\"src/OracleAttestation.sol\":57,\"src/ParamsRegistry.sol\":216,\"src/ProtocolDirectory.sol\":169,\"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\":304,\"src/YoloSweetener.sol\":176,\"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\":186,\"test/DisputeLinkOptional.t.sol\":82,\"test/Disputes.t.sol\":1309,\"test/Emergency.t.sol\":76,\"test/Evidence.t.sol\":338,\"test/Gas.t.sol\":183,\"test/GasTextSize.t.sol\":108,\"test/HiddenList.t.sol\":671,\"test/Hosts.t.sol\":112,\"test/Invariant.t.sol\":674,\"test/LogReconstruction.t.sol\":70,\"test/MoneyRules.t.sol\":937,\"test/OptionalFields.t.sol\":103,\"test/Payments.t.sol\":295,\"test/Scenarios.t.sol\":217,\"test/SideCalls.t.sol\":388,\"test/Swarm.t.sol\":435,\"test/Sweetener.t.sol\":379,\"test/TaskFields.t.sol\":391,\"test/TaskRules.t.sol\":201,\"test/Tasks.t.sol\":619,\"test/TextRule.t.sol\":105,\"test/Trophy.t.sol\":402,\"test/VoteBatch.t.sol\":155,\"test/VoteCountWidth.t.sol\":31,\"test/VoteGas.t.sol\":150,\"test/VotePowerFuzz.t.sol\":122,\"test/Votes.t.sol\":418,\"test/Yolo.t.sol\":138,\"test/YoloLockHub.t.sol\":487,\"test/YoloPredict.t.sol\":641,\"test/YoloPredictScenarios.t.sol\":951,\"test/YoloToken.t.sol\":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/LaunchForkBase.sol\":193,\"test/fork/LaunchRehearsal.fork.t.sol\":1173,\"test/fork/UniswapV3AdapterFork.t.sol\":37,\"test/mocks/MockDelegateRegistry.sol\":26,\"test/mocks/MockERC20.sol\":31,\"test/mocks/MockIntake.sol\":120,\"test/mocks/MockNFT.sol\":17,\"test/mocks/MockPriceOracle.sol\":74,\"test/mocks/MockStarter.sol\":28,\"test/mocks/MockSwapAdapter.sol\":32,\"test/mocks/TaskRulesFixture.sol\":32,\"test/review/ReviewAttestation.t.sol\":218,\"test/review/ReviewGas.t.sol\":93,\"test/review/ReviewGasGrief.t.sol\":76,\"test/review/ReviewLaunch.t.sol\":601,\"test/review/ReviewProofFormat.t.sol\":54,\"test/review/ReviewProofLabel.t.sol\":123,\"test/review/ReviewProofs.t.sol\":166,\"test/review/ReviewQuestionSize.t.sol\":100,\"test/review/ReviewQueue.t.sol\":95,\"test/review/ReviewRoles.t.sol\":127,\"test/review/ReviewSplitAccess.t.sol\":522,\"test/review/ReviewSplitRegression.t.sol\":402,\"test/review/ReviewSwarmOrders.t.sol\":88,\"test/review/ReviewSweetener.t.sol\":304,\"test/review/ReviewYolo.t.sol\":96},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":true}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"098227d9b2a9637922d127aa30ff7dc07cf03c73f6b9a655c0e9aec9c72d333b","verifiedTreeHash":"6f1bdae90dd9fd0a6c38174094b8dd4f04f84dfd","verifierVersion":"0.1.0+560ab6a2"},{"checks":[{"durationMs":492188,"exitCode":0,"name":"build","output":"Compiling 177 files with Solc 0.8.28\nSolc 0.8.28 finished in 492.00s\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":17530,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\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 267.43µs (62.55µ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 697.60µs (504.54µ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.51ms (1.31ms 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.82ms (1.06ms 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 2.61ms (285.21µ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 3.16ms (2.58ms 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 938.90µs (334.72µ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 186.93µs (61.63µ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 685.32µs (223.35µs CPU time)\n\nRan 1 test for test/audit/round2/Proof_5d8c4edc729c.t.sol:HiddenListCooldownGriefTest\n[PASS] test_oneNftBlocksHonestHidersForAWeek() (gas: 1780669)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.18ms (857.22µ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 861.96µs (406.00µs CPU time)\n\nRan 45 tests for test/HiddenList.t.sol:HiddenListTest\n[PASS] test_10Of10NftsPassesAfterRoundEnd() (gas: 1666842)\n[PASS] test_2Of3WalletsDoesNotPassEvenWith10Nfts() (gas: 825276)\n[PASS] test_3Of3WalletsWith10NftsPasses() (gas: 929019)\n[PASS] test_9Of10NftsDoesNotPass() (gas: 1505280)\n[PASS] test_AllBadTokenIdsDoesNotOpenARound() (gas: 131924)\n[PASS] test_ConstructorAllowsZeroDelegateRegistry() (gas: 7024)\n[PASS] test_ConstructorFixesOwnerNoTransferFunction() (gas: 17154)\n[PASS] test_ConstructorRejectsZeroOwnerOrNft() (gas: 9295)\n[PASS] test_DelegateXyzDelegateCanVote() (gas: 267602)\n[PASS] test_EmptyTokenIdsDoesNotOpenARound() (gas: 41527)\n[PASS] test_EthWithDataReverts() (gas: 37829)\n[PASS] test_FailedRoundCanRetryAfter7Days() (gas: 2009461)\n[PASS] test_FailedRoundCannotRetryBefore7Days() (gas: 3173626)\n[PASS] test_GasNftHolderVote1NftLaterVote() (gas: 312434)\nLogs:\n  NFT holder vote, 1 NFT (later vote): 50089\n\n[PASS] test_GasNftHolderVote1NftOpensRound() (gas: 209782)\nLogs:\n  NFT holder vote, 1 NFT (opens a round): 130352\n\n[PASS] test_GasOwnerHides1Item() (gas: 61056)\nLogs:\n  owner hides 1 item: 54438\n\n[PASS] test_GasOwnerHides20Items() (gas: 584538)\nLogs:\n  owner hides 20 items (batch): 567305\n\n[PASS] test_GasOwnerUnhides1Item() (gas: 94224)\nLogs:\n  owner unhides 1 item: 32830\n\n[PASS] test_HideVoteEventCarriesVaultKindId() (gas: 211555)\n[PASS] test_KeepVoteWithNoActiveRoundIsANoOp() (gas: 112110)\n[PASS] test_KeptBlocksNewRounds() (gas: 163090)\n[PASS] test_LocalConstantsMatchContract() (gas: 29212)\n[PASS] test_NonOwnerSetStateReverts() (gas: 32708)\n[PASS] test_NonexistentTokenIdSkippedNotReverted() (gas: 49881)\n[PASS] test_OwnerHidesAnItemNoVoteEverPassed() (gas: 62775)\n[PASS] test_OwnerHidesUnhidesKeepsABatch() (gas: 206197)\n[PASS] test_OwnerOfNftCanVote() (gas: 212441)\n[PASS] test_OwnerOverridesAPassedVoteBackToVisible() (gas: 1711534)\n[PASS] test_OwnerRestoreVisibleStartsCooldown() (gas: 1813396)\n[PASS] test_PlainEthTransferReverts() (gas: 36475)\n[PASS] test_SameIdDifferentVaultsAreIndependent() (gas: 70415)\n[PASS] test_SameWalletMoreNftsLaterAddToTallyNotWallets() (gas: 313708)\n[PASS] test_SelfContestRepeatsEvery8DaysHonestVoteStillCounts() (gas: 4120541)\n[PASS] test_SelfContestUnderQuorumDoesNotBlockHonestVoteNextDay() (gas: 2010992)\n[PASS] test_SetStateEmitsStateSetWithVaultKindId() (gas: 61729)\n[PASS] test_SetStateInstantNoTimelock() (gas: 63017)\n[PASS] test_SetStateRejectsBadStateValue() (gas: 32653)\n[PASS] test_StatusHiddenOnlyAfterRoundEndEvenIfQuorumAlreadyMet() (gas: 1690048)\n[PASS] test_StrangerCannotVoteWithSomeoneElsesNft() (gas: 132543)\n[PASS] test_TaskAndProofKindsAreIndependent() (gas: 69865)\n[PASS] test_TieHideEqualsKeepDoesNotPass() (gas: 3042275)\n[PASS] test_TokenIdCountsOnceInARound() (gas: 243556)\n[PASS] test_UncontestedFailedRoundRetriesAtOnce() (gas: 570419)\n[PASS] test_VotePassingCannotUnhideAnOwnerHiddenItem() (gas: 1036389)\n[PASS] test_WalletKeepsOneSidePerRoundOtherSideSkipped() (gas: 295427)\nSuite result: ok. 45 passed; 0 failed; 0 skipped; finished in 15.51ms (14.79ms 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 17.54ms (1.09ms 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 21.87ms (5.80ms 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 26.11ms (9.60ms 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 27.51ms (1.97ms 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 27.89ms (2.35ms 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 30.50ms (11.68ms 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 417.74µs (207.08µs 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 32.80ms (5.50ms 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 16.58ms (892.16µ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 36.57ms (12.79ms 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 4.30ms (937.00µs 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 38.77ms (18.48ms 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 43.59ms (7.49ms 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 30.02ms (10.07ms 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 16.34ms (1.20ms 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\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 47.66ms (16.29ms 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.05ms (0.00ns CPU time)\nWarning: the following cheatcode(s) are deprecated and will be removed in future versions:\n  lastCallGas(): replaced by `lastFrameGas`\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 25.39ms (7.55ms 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 53.76ms (609.01µ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 7.76ms (6.57ms 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.07ms (948.96µs CPU time)\n\nRan 2 tests for test/audit/PredictZeroPoints.t.sol:PredictZeroPointsWinnerTest\n[PASS] test_ZeroPointWinner_TakesTheLosingPool() (gas: 1898347)\n[PASS] test_ZeroPointWinners_SplitByPosition() (gas: 2071515)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 29.43ms (2.71ms 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.21ms (7.11ms 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 32.33ms (11.43ms 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 929.78µs (433.06µs 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 61.29ms (41.51ms CPU time)\n\nRan 2 tests for test/audit/LateAppealAsk.t.sol:LateAppealAskTest\n[PASS] test_LateAppealAskReverts() (gas: 2108484)\n[PASS] test_TimelyAppealAskIsAsked() (gas: 2279994)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 6.11ms (2.77ms 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.90ms (0.00ns CPU time)\n\nRan 5 tests for test/review/ReviewLaunch.t.sol:ReviewLaunchStatic\n[PASS] test_L0_docLaunch0Args_matchPlan() (gas: 524751)\n[PASS] test_L1_perContractCodeMargin_matchesDoc() (gas: 37693459)\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 4546 runtime, margin 20030\n  HiddenList 3789 runtime, margin 20787\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: 684503)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 6.58ms (5.39ms 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 72.31ms (26.64ms 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 77.98ms (40.22ms 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 79.42ms (10.13ms 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 80.56ms (64.50ms 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 26.49ms (2.31ms 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 83.73ms (48.81ms 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 43.42ms (27.19ms CPU time)\n\nRan 6 tests for test/Directory.t.sol:DirectoryTest\n[PASS] test_ConstructorChecks() (gas: 6526)\n[PASS] test_CurrentMayGoBack() (gas: 596813)\n[PASS] test_OnlySafeProposesAndCancels() (gas: 587161)\n[PASS] test_ProposalChecks() (gas: 215319)\n[PASS] test_V2SideBySide_AfterTimelock() (gas: 7803685)\n[PASS] test_Version1FromConstructor() (gas: 66747)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 35.27ms (14.31ms 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 40.96ms (20.85ms 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 103.55ms (85.38ms 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 34.07ms (15.76ms 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 107.42ms (153.90ms 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 33.45ms (7.57ms 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 27.81ms (10.24ms 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 78.73ms (56.26ms 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 21.41ms (4.35ms CPU time)\n\nRan 22 tests for test/YoloLockHub.t.sol:YoloLockHubTest\n[PASS] testFuzz_LockThenWithdrawReturnsExactAmount(uint256,uint256) (runs: 256, μ: 272053, ~: 271878)\n[PASS] testFuzz_PowerConstantThroughTheTerm(uint256,uint256,uint256) (runs: 256, μ: 150910, ~: 150975)\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 123.56ms (105.02ms 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 39.63ms (46.74ms 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 96.67ms (36.06ms 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 23.65ms (6.35ms 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.82µs (852.37µs CPU time)\n\nRan 4 tests for test/TextRule.t.sol:TextRuleTest\n[PASS] testFuzz_AsciiWithOneByte(uint16,uint16,uint8,uint256) (runs: 256, μ: 213309, ~: 155066)\n[PASS] testFuzz_MixedUtf8(uint256,uint16) (runs: 256, μ: 65960, ~: 59653)\n[PASS] testFuzz_RandomBytes(bytes) (runs: 256, μ: 14238, ~: 13633)\n[PASS] test_Examples() (gas: 562950)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 159.54ms (192.25ms 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 47.18ms (19.98ms CPU time)\n\nRan 14 tests for test/Trophy.t.sol:TrophyTest\n[PASS] test_BadgesPerCategory() (gas: 4942870)\n[PASS] test_Catalog_DisableKeepsMinted() (gas: 4215406)\n[PASS] test_Catalog_Guards() (gas: 8986832)\nLogs:\n  addDesign gas, 8192-byte SVG: 7465885\n\n[PASS] test_Catalog_Launch3Gas() (gas: 9161558)\nLogs:\n  YoloSweetener 6748 runtime bytes\n  TrophyCatalog 4228 runtime bytes\n  DareTrophy 11777 runtime bytes\n  ProtocolDirectory 4546 runtime bytes\n  HiddenList 3789 runtime bytes\n  YoloPredict 6385 runtime bytes\n  launch 3 execution gas 8668683\n  launch 3 calldata bytes 42884\n  launch 3 total gas (upper bound) 9375827\n\n[PASS] test_Catalog_NeedsAddress() (gas: 6203)\n[PASS] test_Catalog_OwnerAddsDesign() (gas: 7681558)\n[PASS] test_Catalog_StrangerCannotEdit() (gas: 468134)\n[PASS] test_Catalog_UpdateThenMint() (gas: 7832757)\n[PASS] test_DoerMintsOnceBurningYolo() (gas: 1665316)\n[PASS] test_FixedPrice_IgnoresTheDevPrice() (gas: 166897)\n[PASS] test_MetadataOnChain() (gas: 4576380)\n[PASS] test_OnlyTheDoerOfAnAcceptedSubmission() (gas: 12589976)\n[PASS] test_RewardFormatting() (gas: 11024502)\n[PASS] test_TitleGuards() (gas: 1310117)\nSuite result: ok. 14 passed; 0 failed; 0 skipped; finished in 196.62ms (109.03ms 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 62.10ms (39.68ms 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 199.54ms (130.05ms CPU time)\n\nRan 6 tests for test/audit/AuditC.t.sol:AuditCTest\n[PASS] testFuzz_ValidTextMatchesReference(bytes,uint8,uint8) (runs: 256, μ: 260133, ~: 260249)\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 87.01ms (62.83ms 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 110.63ms (89.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 613.04µs (488.25µs 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 110.22ms (39.38ms 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 352.17ms (113.14ms 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 494.63ms (275.26ms CPU time)\n\nRan 23 tests for test/YoloPredict.t.sol:YoloPredictTest\n[PASS] testFuzz_BurnedPlusPaidEqualsDeposited(uint256,uint256,uint256,bool) (runs: 256, μ: 1970611, ~: 1629323)\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 544.88ms (554.17ms 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, μ: 2485059, ~: 2478893)\n[PASS] testFuzz_Invariant_BurnedPaidHeldEqualsDeposited(uint256,uint8,uint8) (runs: 256, μ: 3118150, ~: 2860286)\n[PASS] testFuzz_Invariant_NeverPaysOutMoreThanDeposited(uint256,uint256,uint256,bool) (runs: 256, μ: 1942049, ~: 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 604.83ms (1.01s CPU time)\n\nRan 1 test for test/review/ReviewQueue.t.sol:ReviewQueue\n[PASS] testFuzz_QueueContributorsGetExactlyTheirs((uint8,uint256)) (runs: 256, μ: 9034680, ~: 7908586)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 620.68ms (603.04ms CPU time)\n\nRan 24 tests for test/Votes.t.sol:VotesTest\n[PASS] testFuzz_EachIdOnce(uint8,uint8) (runs: 256, μ: 3921372, ~: 3943185)\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 1.16s (283.17ms CPU time)\n\nRan 8 tests for test/audit/AuditB.t.sol:AuditBTest\n[PASS] testFuzz_Guard_ModeAPaymentsBookExactly(uint256,uint96,uint96,bool) (runs: 256, μ: 7307812, ~: 7283221)\n[PASS] testFuzz_Guard_PinnedVersionNeverChanges(uint16,uint32) (runs: 256, μ: 3173284, ~: 3173215)\n[PASS] test_Guard_BankOnlyForDesks() (gas: 132520)\n[PASS] test_Guard_FailedPushesBecomeCreditsAndBooksClose() (gas: 9658237)\n[PASS] test_Guard_LeakedAttesterKeyAloneCannotDecideDuringTheRemovalTimelock() (gas: 2884860)\n[PASS] test_Guard_LongestDueChainFitsOneCall() (gas: 10895594)\n[PASS] test_Guard_RevertingPinnedDevPricesNeverBlocksWithdrawals() (gas: 3992617)\n[PASS] test_Guard_ThirdPartyAnswerToACopiedQuestionCannotDecideOurCase() (gas: 9436443)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 1.29s (1.74s 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, μ: 9216550, ~: 9375946)\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: 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 1.28s (198.33ms 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, μ: 346917, ~: 346550)\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 1.41s (133.51ms 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, μ: 11003795, ~: 10625226)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.41s (1.39s CPU time)\n\nRan 21 tests for test/Swarm.t.sol:SwarmTest\n[PASS] testFuzz_NoMandatoryCheck_AnyRewardSize(uint256,uint8) (runs: 256, μ: 797030, ~: 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 3.67s (253.73ms 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 3.64s (387.04ms 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 3.90s (226.36ms CPU time)\n\nRan 2 tests for test/VotePowerFuzz.t.sol:VotePowerFuzzTest\n[PASS] testFuzz_OneVotePerNft(uint256) (runs: 256, μ: 94713454, ~: 98489394)\n[PASS] test_OneVotePerNft_Fixed() (gas: 387092570)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 3.88s (4.25s 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 3.91s (44.93ms 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               | 529   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | appeal               | 519   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | askAppealSwarm       | 556   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | breakIntake          | 534   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | callSwarm            | 544   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | claim                | 558   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | createTask           | 546   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | dispute              | 570   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | expireAndWithdraw    | 566   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | lock                 | 550   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | mintTrophy           | 553   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | payoutBonus          | 536   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | poke                 | 557   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progress             | 522   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressA            | 527   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressB            | 531   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressC            | 526   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressD            | 538   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | setIntakePrice       | 535   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | submit               | 493   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | sweep                | 517   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | sweeten              | 537   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | topUp                | 516   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | vote                 | 531   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | warp                 | 522   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawBonus        | 526   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawContribution | 526   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawLock         | 535   | 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: 5\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: 3\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.32s (17.30s CPU time)\n\nRan 88 test suites in 17.37s (49.61s CPU time): 688 tests passed, 0 failed, 3 skipped (691 total tests)\n","passed":true},{"durationMs":234,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"BuybackBurner.burnYolo()\",\"BuybackBurner.forward(address)\",\"BuybackBurner.pull(address,address)\",\"BuybackBurner.receive()\",\"BuybackBurner.setBuybackWallet(address)\",\"CaseDesk.advanced(uint256)\",\"CaseDesk.askAppeal(uint256,uint256,(string,string,string,string,string))\",\"CaseDesk.askEscalation(uint256,uint256,(string,string,string,string,string))\",\"CaseDesk.claimVoidSubmission(uint256)\",\"CaseDesk.markAppealed(uint256)\",\"CaseDesk.startVote(uint256,uint32)\",\"CaseDesk.step(uint256)\",\"CaseDesk.submit(uint256,string,(string,string),uint256,uint256,(address,uint256,uint256,uint64,bytes))\",\"CaseDesk.tryInstantDecision(uint256,(uint256,uint256,uint256,uint256))\",\"CaseDesk.unwind(uint256)\",\"CaseDesk.wire(address,address,address,address,address)\",\"DareTrophy.approve(address,uint256)\",\"DareTrophy.mint(uint256,string)\",\"DareTrophy.safeTransferFrom(address,address,uint256)\",\"DareTrophy.safeTransferFrom(address,address,uint256,bytes)\",\"DareTrophy.setApprovalForAll(address,bool)\",\"DareTrophy.transferFrom(address,address,uint256)\",\"DevPrices.acceptOwnership()\",\"DevPrices.renounceOwnership()\",\"DevPrices.setEthUsd(uint256)\",\"DevPrices.setImdUsd(uint256)\",\"DevPrices.setYoloPriceUsd(uint256)\",\"DevPrices.transferOwnership(address)\",\"DevVesting.bindStarter()\",\"DevVesting.release(address)\",\"DisputeDesk.appeal(uint256,uint256,(address,uint256,uint256,uint64,bytes))\",\"DisputeDesk.appealAsked(uint256,uint256)\",\"DisputeDesk.askAppealSwarm(uint256,(string,string,string,string,string))\",\"DisputeDesk.callSwarm(uint256,bool,uint256,(address,uint256,uint256,uint64,bytes),(string,string,string,string,string))\",\"DisputeDesk.claimDisputer(uint256)\",\"DisputeDesk.claimVoterReward(uint256,address)\",\"DisputeDesk.claimVoterRewards(uint256[],address)\",\"DisputeDesk.dispute(uint256,string,string,(address,uint256,uint256,uint64,bytes))\",\"DisputeDesk.dropCaller(uint256)\",\"DisputeDesk.settle(uint256,uint8,(uint64,uint32,address,address,uint8,uint256,(uint256,uint256),uint64,uint16,bool))\",\"DisputeDesk.vote(uint256,uint8,address,uint256[])\",\"DisputeDesk.wire(address,address,address,address,address)\",\"HiddenList.setState((address,uint8,uint256)[],uint8)\",\"HiddenList.vote(address,uint8,uint256,bool,uint256[])\",\"IncentivesVesting.bindStarter()\",\"IncentivesVesting.release(address)\",\"NftGate.consume(address,uint256)\",\"NftGate.record(address[],uint256[])\",\"NftGate.seal(uint256)\",\"ParamsRegistry.acceptOwnership()\",\"ParamsRegistry.activateParams()\",\"ParamsRegistry.cancelAttester(address,bool)\",\"ParamsRegistry.cancelParams()\",\"ParamsRegistry.executeAttester(address,bool)\",\"ParamsRegistry.proposeAttester(address,bool)\",\"ParamsRegistry.renounceOwnership()\",\"ParamsRegistry.setNewTasksPaused(bool)\",\"ParamsRegistry.transferOwnership(address)\",\"ProjectVesting.bindStarter()\",\"ProjectVesting.release(address)\",\"ProtocolDirectory.addVersion()\",\"ProtocolDirectory.cancelCurrent()\",\"ProtocolDirectory.cancelVersion()\",\"ProtocolDirectory.proposeCurrent(uint256)\",\"ProtocolDirectory.proposeVersion((address,address,address,uint64,uint64,string))\",\"ProtocolDirectory.setCurrent()\",\"TaskVault.addTreasury(address,uint256)\",\"TaskVault.advance(uint256)\",\"TaskVault.ask((uint64,uint8,uint16,uint16,address,bytes32,bytes32,uint256),bytes)\",\"TaskVault.bindSweetener(address)\",\"TaskVault.burn(address,uint256)\",\"TaskVault.cancelTask(uint256)\",\"TaskVault.closeSubmission(uint256,uint8,uint256)\",\"TaskVault.collectBondPart(address,uint256,address,uint256)\",\"TaskVault.collectImd(address,uint256,uint256,address,(address,uint256,uint256,uint64,bytes))\",\"TaskVault.createTask(address,uint256,uint64,string,(string,string,string),uint8,uint8,string,(address,uint256,uint256,uint64,bytes))\",\"TaskVault.credit(address,address,uint256)\",\"TaskVault.fallback()\",\"TaskVault.onOracleResult(bytes32,(bytes32,uint256,bytes32,uint8,bytes,uint256,uint64,uint64,bytes32,bytes32,uint16,uint16,uint16,uint64,uint64),bytes)\",\"TaskVault.pay(address,address,uint256)\",\"TaskVault.place(uint256,uint256,bool)\",\"TaskVault.poke(uint256)\",\"TaskVault.settleValue(address,uint256,uint256)\",\"TaskVault.sweepTreasury(address)\",\"TaskVault.topUp(uint256,uint256,(address,uint256,uint256,uint64,bytes))\",\"TaskVault.withdraw(address)\",\"TaskVault.withdrawContribution(uint256)\",\"TaskVault.withdrawTo(address,address)\",\"TeamVesting.bindStarter()\",\"TeamVesting.release(address)\",\"TreasuryVesting.bindStarter()\",\"TreasuryVesting.release(address)\",\"TrophyCatalog.acceptOwnership()\",\"TrophyCatalog.addDesign(string,bytes)\",\"TrophyCatalog.renounceOwnership()\",\"TrophyCatalog.setCategoryDesign(uint8,uint256)\",\"TrophyCatalog.setDefaultDesign(uint256)\",\"TrophyCatalog.setDesignEnabled(uint256,bool)\",\"TrophyCatalog.transferOwnership(address)\",\"UniswapV3SwapAdapter.swapExactIn(address,address,uint256,uint256,uint256,bytes,address)\",\"YoloLockHub.lock(uint256,uint256)\",\"YoloLockHub.withdraw()\",\"YoloPredict.claim(uint256)\",\"YoloPredict.predict(uint256,bool,uint256)\",\"YoloPredict.settle(uint256)\",\"YoloSplitter.split(address)\",\"YoloSweetener.claimVoter(uint256,address)\",\"YoloSweetener.payout(uint256)\",\"YoloSweetener.sweeten(uint256,uint256)\",\"YoloSweetener.withdraw(uint256)\",\"YoloToken.approve(address,uint256)\",\"YoloToken.transfer(address,uint256)\",\"YoloToken.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":5,\".gitmodules\":9,\"ADAPTATION.md\":205,\"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\":93,\"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\":221,\"src/DevPrices.sol\":129,\"src/HiddenList.sol\":297,\"src/OracleAttestation.sol\":57,\"src/ParamsRegistry.sol\":216,\"src/ProtocolDirectory.sol\":169,\"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\":304,\"src/YoloSweetener.sol\":176,\"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\":186,\"test/DisputeLinkOptional.t.sol\":82,\"test/Disputes.t.sol\":1309,\"test/Emergency.t.sol\":76,\"test/Evidence.t.sol\":338,\"test/Gas.t.sol\":183,\"test/GasTextSize.t.sol\":108,\"test/HiddenList.t.sol\":671,\"test/Hosts.t.sol\":112,\"test/Invariant.t.sol\":674,\"test/LogReconstruction.t.sol\":70,\"test/MoneyRules.t.sol\":937,\"test/OptionalFields.t.sol\":103,\"test/Payments.t.sol\":295,\"test/Scenarios.t.sol\":217,\"test/SideCalls.t.sol\":388,\"test/Swarm.t.sol\":435,\"test/Sweetener.t.sol\":379,\"test/TaskFields.t.sol\":391,\"test/TaskRules.t.sol\":201,\"test/Tasks.t.sol\":619,\"test/TextRule.t.sol\":105,\"test/Trophy.t.sol\":402,\"test/VoteBatch.t.sol\":155,\"test/VoteCountWidth.t.sol\":31,\"test/VoteGas.t.sol\":150,\"test/VotePowerFuzz.t.sol\":122,\"test/Votes.t.sol\":418,\"test/Yolo.t.sol\":138,\"test/YoloLockHub.t.sol\":487,\"test/YoloPredict.t.sol\":641,\"test/YoloPredictScenarios.t.sol\":951,\"test/YoloToken.t.sol\":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/LaunchForkBase.sol\":193,\"test/fork/LaunchRehearsal.fork.t.sol\":1173,\"test/fork/UniswapV3AdapterFork.t.sol\":37,\"test/mocks/MockDelegateRegistry.sol\":26,\"test/mocks/MockERC20.sol\":31,\"test/mocks/MockIntake.sol\":120,\"test/mocks/MockNFT.sol\":17,\"test/mocks/MockPriceOracle.sol\":74,\"test/mocks/MockStarter.sol\":28,\"test/mocks/MockSwapAdapter.sol\":32,\"test/mocks/TaskRulesFixture.sol\":32,\"test/review/ReviewAttestation.t.sol\":218,\"test/review/ReviewGas.t.sol\":93,\"test/review/ReviewGasGrief.t.sol\":76,\"test/review/ReviewLaunch.t.sol\":601,\"test/review/ReviewProofFormat.t.sol\":54,\"test/review/ReviewProofLabel.t.sol\":123,\"test/review/ReviewProofs.t.sol\":166,\"test/review/ReviewQuestionSize.t.sol\":100,\"test/review/ReviewQueue.t.sol\":95,\"test/review/ReviewRoles.t.sol\":127,\"test/review/ReviewSplitAccess.t.sol\":522,\"test/review/ReviewSplitRegression.t.sol\":402,\"test/review/ReviewSwarmOrders.t.sol\":88,\"test/review/ReviewSweetener.t.sol\":304,\"test/review/ReviewYolo.t.sol\":96},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":true}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"41f34c4f0ae5868024e0b220106bc51a462704caeab74e74c4c2cce5dbb9602c","verifiedTreeHash":"eb38d4267e19639e5865063176abfd61cc76dccb","verifierVersion":"0.1.0+560ab6a2"}]}