{"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":"3ecec030-b2ed-4059-8ebf-38a09626e73c","kind":"shape:chain","nodes":[{"acceptedSubmissionHash":"e3fdf4b9e5883b341adb5c5d0bb95a983ac9a64144ab75c94b3f856a7b21ceac","dependsOn":["audit_imported_code"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"15128eeb8da9fb5ec13c7964e80f936ddc40e718cc0d455d200435c3dc43d6a7","skillId":"adapt-contract-project","tools":[]},"key":"adapt_contract_project","kind":"code","role":"implement","skillHash":"15128eeb8da9fb5ec13c7964e80f936ddc40e718cc0d455d200435c3dc43d6a7","skillId":"adapt-contract-project","state":"accepted"},{"acceptedSubmissionHash":"d2858cf9b372a263ae68177982f8d6b63ba2a56f5483250cfac24c1642d525e7","dependsOn":["adapt_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"bc5bfc8455464381f2db18badb2b55cf8bec1e535c019349a0378fa990741171","skillId":"audit-specialist","subagents":3,"tools":[]},"key":"audit_economics","kind":"code","role":"review","skillHash":"bc5bfc8455464381f2db18badb2b55cf8bec1e535c019349a0378fa990741171","skillId":"audit-specialist","state":"accepted"},{"acceptedSubmissionHash":"84a1321e711613ae404bc0d03535f19d92268e399bf1134d8706337d4bdafa11","dependsOn":["adapt_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"bc5bfc8455464381f2db18badb2b55cf8bec1e535c019349a0378fa990741171","skillId":"audit-specialist","subagents":3,"tools":[]},"key":"audit_flow","kind":"code","role":"review","skillHash":"bc5bfc8455464381f2db18badb2b55cf8bec1e535c019349a0378fa990741171","skillId":"audit-specialist","state":"accepted"},{"acceptedSubmissionHash":"aa596a1b465c0873a08536a894533810f17cead782a6c21832a0dc4bb7046553","dependsOn":[],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"b72293c3366fff3f0b93151bca72cc6cbd189dad31d1ccd1d34dd483f2165a36","skillId":"audit-imported-code","subagents":4,"tools":[]},"key":"audit_imported_code","kind":"code","role":"review","skillHash":"b72293c3366fff3f0b93151bca72cc6cbd189dad31d1ccd1d34dd483f2165a36","skillId":"audit-imported-code","state":"accepted"},{"acceptedSubmissionHash":"f2ca542ebc5e7b8720e1520f415b2722e49a8801742eccc680162492f7fbc45e","dependsOn":["adapt_contract_project","write_foundry_tests","manifest","audit_math","audit_permissions","audit_economics","audit_flow"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"b89279670f5a00f5d26286edee00c97dd158b997031350a01cafe6e0329ad227","skillId":"audit-judge","subagents":4,"tools":[]},"key":"audit_judge","kind":"code","role":"review","skillHash":"b89279670f5a00f5d26286edee00c97dd158b997031350a01cafe6e0329ad227","skillId":"audit-judge","state":"accepted"},{"acceptedSubmissionHash":"5473e9785f865ad9fea699aa630e504b1e6c284206e40a6fbea3c36fbf47cb09","dependsOn":["adapt_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"bc5bfc8455464381f2db18badb2b55cf8bec1e535c019349a0378fa990741171","skillId":"audit-specialist","subagents":3,"tools":[]},"key":"audit_math","kind":"code","role":"review","skillHash":"bc5bfc8455464381f2db18badb2b55cf8bec1e535c019349a0378fa990741171","skillId":"audit-specialist","state":"accepted"},{"acceptedSubmissionHash":"72a4fde257f42e797e7323f41a35015130261fa542a6806af14d75bdeaa435b2","dependsOn":["adapt_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"bc5bfc8455464381f2db18badb2b55cf8bec1e535c019349a0378fa990741171","skillId":"audit-specialist","subagents":3,"tools":[]},"key":"audit_permissions","kind":"code","role":"review","skillHash":"bc5bfc8455464381f2db18badb2b55cf8bec1e535c019349a0378fa990741171","skillId":"audit-specialist","state":"accepted"},{"acceptedSubmissionHash":"43d56945acbd4f081e13a35ff0ad973f672a370ba3bab9c4282d86847dd2f8df","dependsOn":["adapt_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"tools":[]},"key":"manifest","kind":"code","role":"integrate","skillHash":null,"skillId":null,"state":"accepted"},{"acceptedSubmissionHash":"ae0b079c63b07182389f8e4713edbb36c84a6632bfa12a23c61c9ef25a8764f9","dependsOn":["adapt_contract_project"],"execution":{"forkChains":[4663],"network":false,"profile":"foundry","requires":[],"skillHash":"606842ccca0e7c5d3017a54684625438eab9b351eb51dcf0cf88c43d1ea41464","skillId":"write-foundry-tests","subagents":4,"tools":[]},"key":"write_foundry_tests","kind":"code","role":"tests","skillHash":"606842ccca0e7c5d3017a54684625438eab9b351eb51dcf0cf88c43d1ea41464","skillId":"write-foundry-tests","state":"accepted"}],"objective":"Launch two contracts in this repository on Robinhood Chain, in this order, without changing their logic. 1) src/ConditionalsV2.sol:ConditionalsV2, constructor (address owner = $owner, IERC20 imd = 0x5f7bb59365ce557c26dbcaa4ee9d39a4b95b7127, IIntake intake = 0xa43e6f75ee006411f79ac1c84120606c2330de82, address oracleSigner = 0x5598aa9146215bc13eb26f2c692ad1461fd32982, address feeRecipient = 0x63bcf2d1483c7628d7d53704ff9c8199dc28d907). 2) src/ConditionalsZap.sol:ConditionalsZap, constructor (ConditionalsV2 conditionals = $contract:ConditionalsV2, IPoolManager poolManager = 0x8366a39cc670b4001a1121b8f6a443a643e40951, IERC20 imd = 0x5f7bb59365ce557c26dbcaa4ee9d39a4b95b7127, IERC20 usdg = 0x5fc5360d0400a0fd4f2af552add042d716f1d168). Neither constructor makes external calls. ConditionalsV2 is a conditional prediction market in IMD settled by the IdentityMD oracle. A market asks 'if CONDITION, will OUTCOME?' with four outcomes (index 2*world+side). A share of the outcome that happens pays 1 IMD. The creator deposits two 0.5 IMD oracle questions plus a neutral seed of b ln 4 that funds an LMSR maker (0.5 to 100 IMD b, Solady expWad and lnWad, log-sum-exp, rounding margins that keep makerBalance >= C(q) >= every q[i]); the seed is the creator's maximum loss. Until closeTime: stakeConditional (and stakeFor, paid by the caller and credited to an account) mints a complete set, sells the opposite side to the maker and buys more of the chosen side, so the stake is paid in its world on its side and refunded in the other world; buy, sell and exit trade with the maker with slippage bounds. Every maker trade pays 2%: half accrues to the creator in owed, 67/200 is sent to 0x000000000000000000000000000000000000dEaD because IMD reverts on transfers to zero, and the rest accrues to feeRecipient in owed. When the maker is short of every outcome it turns those complete sets back into IMD (_absorb). The oracle flow is unchanged from Conditionals v1, IMD launch 2278, audited: after resolveTime anyone calls requestResolution, the contract pays the Intake with requestWithFailure for oracle.request@oracle-1 questions (panel 5, quorum 4, bool, panel evidence, window pinned to one Ethereum block, block.number - 10, since block.number on Robinhood Chain is the Ethereum block number) and stores keccak256 of each canonical question document. onOracleResult (selector 0x510379c7) accepts an answer only from the Intake for its own pending request, with the stored questionHash, answerType bool, panelSize and quorum at least the market's, agreed >= quorum, not expired, and an EIP-712 signature (domain IdentityMD Oracle, version 2) from the market's oracle signer. onFailure (0x5a0df71e) only clears the ask. Settlement pays 1 IMD per share of the outcome that happened and gives the creator the maker's residual and unspent budget. With no usable answer 30 days after resolveTime anyone can void. Each account is refunded what it paid, excluding fees, for the shares it still holds; gains and losses it already realised are not refunded. If the market holds less than that total (a short void), each account is paid between its position's value at the final prices and its cost, never above its cost, and the creator is paid last. Those capped refunds can add up to less than the pool, so sweepVoid pays the creator what is left from 365 days after the void, and refunds still unclaimed at the sweep lapse; a void that was not short leaves nothing over and its refunds never lapse. The owner can only propose an oracle configuration for future markets behind a 3 day delay and set the fee recipient; it cannot touch trades, answers or open markets. No token, no proxy, no pause. ConditionalsZap has no owner and holds nothing between calls. stakeWithEth and stakeWithUsdg swap exact input through two hookless Uniswap v4 pools (USDG to ETH, fee 500, spacing 10; ETH to IMD, fee 10000, spacing 100) inside one PoolManager unlock, revert on a partial fill or below the caller's minImd, and call stakeFor for the caller. All positions, exits and payouts are in IMD in ConditionalsV2. ConditionalsV2's runtime is 24,269 bytes with optimizer_runs 1, so any fix must keep it under 24,576. This code already went through IMD launch 2765, which parked on one last finding that sweepVoid now settles; ADAPTATION.md records every finding and fix from that audit, including the buy() cast overflow, void dilution by cooperating accounts and refunds above cost. Deliberate design, documented there: each ask is paid from the budget while it lasts and the caller pays only the shortfall; createMarket binds only the price, and an oracle rotation is protected by its 3 day delay and event; sell and exit will not push an outcome more than 20b below the top, so exit can leave shares worth under about 2e-9 IMD each; the conditionals view, the pendingOracleConfig getter and several constants are not public, to fit the size limit. legacy/ holds the deployed v1 for reference and is not built. The test suite (unit, fuzz, invariant, oracle conformance vector and a live-API question-hash vector; fork tests with ROBINHOOD_RPC_URL) must keep passing.","parentJobId":null,"planHash":"f78ff71444dc69abc343190ba34c263f6a6ac9c91a2c5be79074074c7c7997e3","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"3ecec030-b2ed-4059-8ebf-38a09626e73c","publication":{"commit":null,"deliveredAt":null,"repoUrl":"https://github.com/identity-md-launches/launch-2786-launch-two-contracts-repository"},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[{"agentId":"53934","feedbackHash":"0882a7e30bf5258c7f8b33b4677227e9a8117c1cf243407dc3edd8c16d26385d","nodeKey":"adapt_contract_project","submissionHash":"e3fdf4b9e5883b341adb5c5d0bb95a983ac9a64144ab75c94b3f856a7b21ceac","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"51538","feedbackHash":"c4c4491ac451fa95eb10f09d9ae269419f0469068519ab770b1817fb8a59d932","nodeKey":"audit_economics","submissionHash":"d2858cf9b372a263ae68177982f8d6b63ba2a56f5483250cfac24c1642d525e7","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51315","feedbackHash":"e45f52cd7af997102897c1eaadf5adb1f736ead5632578e1e0e089685c574e60","nodeKey":"audit_flow","submissionHash":"84a1321e711613ae404bc0d03535f19d92268e399bf1134d8706337d4bdafa11","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52252","feedbackHash":"4bea52a37253778475ac312663a432dabdff1a69a3110e6aa2b3e42f8e890880","nodeKey":"audit_imported_code","submissionHash":"aa596a1b465c0873a08536a894533810f17cead782a6c21832a0dc4bb7046553","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51510","feedbackHash":"7ee7eee036ede1eb2479df00c45a9d4e15b3fd86f25e41f31e8a84979cbe1f6b","nodeKey":"audit_judge","submissionHash":"f2ca542ebc5e7b8720e1520f415b2722e49a8801742eccc680162492f7fbc45e","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52164","feedbackHash":"a4c40c27ea2236a19f79d702f942fa2fa84929f6b8d2cb0b4aecfa37d5bad3ab","nodeKey":"audit_math","submissionHash":"5473e9785f865ad9fea699aa630e504b1e6c284206e40a6fbea3c36fbf47cb09","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52611","feedbackHash":"29ce51db9759a7848746090f81c860e3a28917fe22fab0c5a62594140d336091","nodeKey":"audit_permissions","submissionHash":"72a4fde257f42e797e7323f41a35015130261fa542a6806af14d75bdeaa435b2","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51072","feedbackHash":"a48c831caf931c48dac68a3ad6bedd5bf0b9cb12e86150ed094cbef55b3aa53c","nodeKey":"manifest","submissionHash":"43d56945acbd4f081e13a35ff0ad973f672a370ba3bab9c4282d86847dd2f8df","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"52647","feedbackHash":"9accec2f6ef0e68ece87263de6d27871177cce8b2e5bc55116ccaf23963dd74d","nodeKey":"write_foundry_tests","submissionHash":"ae0b079c63b07182389f8e4713edbb36c84a6632bfa12a23c61c9ef25a8764f9","tag1":"verification:checks","tag2":"acceptance-v2","value":1}],"site":null,"snapshotHash":"a6ceec49cfe2a0c8a74b9cd7dc2d441bbf9715e33b99f26416717819cb21373f","state":"completed","submissions":[{"artifacts":[],"attempt":1,"bundleHash":"6c70f916c44769335e4106a3ffae7ae76e1fbd45f8b7d79102f3c48be69f69ce","device":"85f8921773f3e9b5","findings":[],"hash":"43d56945acbd4f081e13a35ff0ad973f672a370ba3bab9c4282d86847dd2f8df","nodeId":"561f03f3-9e20-463b-9a16-f1edf12902ab","outcome":"completed","summary":"Created [launch.json](/home/imdworker/.identitymd-nft1/work/3ecec030-b2ed-4059-8ebf-38a09626e73c/561f03f3-9e20-463b-9a16-f1edf12902ab/launch.json) with the exact contract order, addresses, and placeholders. Manifest structure and compiled constructor ABI checks passed.\n\n`forge build` passed. `forge test` with the supplied seed: **130 passed, 0 failed, 1 skipped** (fork tests require an RPC URL).\n\nOnly `launch.json` changed outside permitted scratch artifacts.","treeHash":"0f82274efff680581e25b948246e5f7d1b7850b4","usage":{"cachedInputTokens":1552000,"inputTokens":93971,"model":"gpt-6-astra","outputTokens":5767,"runtime":"codex","turns":5,"wallClockMs":208295}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"63458a1bd2b2d376","findings":[],"hash":"5473e9785f865ad9fea699aa630e504b1e6c284206e40a6fbea3c36fbf47cb09","nodeId":"2376c457-0ebb-4634-a10c-530beb277ff5","outcome":"completed","summary":"The review is complete and the findings file is written.\n\n**Result: no reproducible math, boundary or numerical-gap defect found.** The findings file at the repository root holds an empty list and a coverage record for all 23 entry points plus 4 invariant rows, every row marked `holds` with its reason.\n\n**What I checked in the assigned area**\n\n- **Fixed-point margin.** I logged the contract's LMSR cost function for 360 random states inside the spread bound at six values of b and compared them against an 80-digit decimal evaluation. The worst error was about one fifth of `_margin(b)` at every b, so `makerBalance >= C(q) >= every q[i]` holds numerically, and the settlement residual and exit redemption cannot wrap.\n- **Rounding directions.** Buys round cost up, sells round proceeds down, fees round up against the trader, the fee split sums exactly, and the per-account cost basis moves by the identical amount as `refundBase` in every path, so the void refund math never pays above cost or above the pool.\n- **Casts and intermediates.** The `buy` cast guard holds; an oversized `sell` reverts in `_release`; every `a * b / c` in the stake split and the void payout stays far below uint256; the Zap's int128 delta decode matches the v4 layout and only wraps above 2^127 wei, which real pools refuse anyway.\n- **Boundaries.** A 512-run fuzz of small stakes on saturated markets across the full b range never reverted `TradeTooSmall` or `InsufficientMaker`. Zero and minimum inputs, the sweep-after-void path, and the Zap's payable and USDG branches all behave as intended.\n- **Spread pinning probe.** I tried to pin one world shut at the 20b bound with b = 0.5. The attacker ran out of shares at a 9.3 IMD spread and stakes in that world still went through, and the bound is documented design, so it is not reported.\n\n**Verification.** The full unit, fuzz, invariant and lifecycle suites pass on this tree (130 tests). The scratch probes under `test/scratch/` were removed; no repository file was changed apart from `.imd-findings.json`.","treeHash":null,"usage":{"cachedInputTokens":1644715,"inputTokens":482,"model":"claude-fable-5-1","outputTokens":42759,"runtime":"claude","turns":23,"wallClockMs":834710}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"2a4ad9be53991100","findings":[],"hash":"72a4fde257f42e797e7323f41a35015130261fa542a6806af14d75bdeaa435b2","nodeId":"2ba013ac-35d4-4426-a9ed-fa43b387838c","outcome":"completed","summary":"I found no defects in the permissions area, so `.imd-findings.json` has an empty findings list. Its coverage record has 25 rows: all 23 entry points are marked `holds`, plus two invariants I checked. No repository files were changed, and the full test suite passes on this tree (130 passed, 1 skipped — the fork suite, which needs `ROBINHOOD_RPC_URL`).\n\nI read the Senior Auditor's Mindset and made three passes over both contracts, one each for the Access Control, Trust Gap and Asymmetry guides:\n\n- **Owner powers:** the owner can propose and activate an oracle configuration, set the fee recipient, and transfer or renounce ownership. None of this reaches an open market. Each market copies the oracle configuration when it is created and uses only that copy afterwards. Fees go into `owed[feeRecipient]` at the moment of each trade, so changing the recipient never moves fees already earned.\n- **A malicious oracle configuration** (for future markets only): it can take at most 10 IMD per ask, through an approval that is reset to zero right after. It cannot answer another market's request, because each request is stored under the Intake that took it. It cannot drain other markets, because every payment is booked against its own market.\n- **Oracle callbacks:** only the Intake that took a request can answer or clear it, and each request can be used once. An answer must match the stored question hash and the market's panel size and quorum, must not be expired, and must be signed by the market's oracle signer. The failure callback moves no money.\n- **Paired functions:** I compared buy with sell, sell with exit, the two stake functions, settle with void and claim, and void with `sweepVoid`. Writes to storage and cost basis mirror each other. `stakeFor` can credit an account, but a gifted stake only adds shares with matching cost basis, so it cannot hurt that account.\n- **Zap:** it has no owner, and only the PoolManager can call its callback. Both swaps are exact input and revert on a partial fill. It stakes only for the caller, and nothing is left in the contract afterwards.\n- **Manifest:** `launch/2765-manifest.json` matches the brief's constructor arguments exactly, in order, with `$owner` as the owner.\n\nThese behaviours are deliberate and documented, so I did not report them:\n- the caller of `requestResolution` pays any shortfall beyond the budget;\n- `createMarket` binds only the price;\n- once a market is created under a rotated configuration, its owner-chosen signer can settle it;\n- unclaimed refunds from a short void lapse when it is swept after a year;\n- the 20b spread limit leaves tiny unsellable leftovers after an exit.\n\nThe LMSR maths and void refunds belong to other specialists, and earlier audits covered them. I didn't re-check them beyond what my three guides needed.","treeHash":null,"usage":{"cachedInputTokens":677516,"inputTokens":20,"model":"claude-opus-5-5","outputTokens":24979,"runtime":"claude","turns":11,"wallClockMs":358480}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"e3a598aae0640402","findings":[],"hash":"84a1321e711613ae404bc0d03535f19d92268e399bf1134d8706337d4bdafa11","nodeId":"ffcacbfd-1759-4d39-ab93-82783fa6eae8","outcome":"completed","summary":"Review complete. The findings file is valid JSON with an empty findings list and 26 coverage rows, and the working tree has no other changes (scratch tests removed).\n\n**Result: no reproducible defect in the control-flow area.** I traced every state-changing entry point of ConditionalsV2 and ConditionalsZap against the Execution Trace, Periphery and First Principles checklists, and every path I could break on paper held when run.\n\nWhat I checked and how:\n\n- **Within-transaction flow.** Every value-moving function (buy, sell, exit, stake, ask, settle, void, sweep, claim) updates q, makerBalance, sets, shares, basis and refundBase together, and the IMD pulled or pushed equals the bookkeeping delta. Approvals to the Intake and from the zap are exact and reset. The stake's pre-trade price read is intentional and consistent with the quote view.\n- **Cross-transaction flow.** Ask at the void deadline, void after the one-day grace, then a late answer: the answer is consumed and ignored, refunds pay cost. Two live asks of one question: the older answer settles, the newer is consumed and ignored. Config rotation never reaches open markets because each market snapshots its config. A reverting attestation leaves the ask live for retry.\n- **Periphery.** The v4 interface matches the live PoolManager ABI, the balance-delta decoding is correct, the price limits sit one step inside TickMath, and the USDG path's ETH credit exactly offsets the second swap's debit. The question document's keys are in sorted order and the text validator excludes everything that would need escaping.\n- **Experiments.** A scratch fuzz over random buy, sell, stake, exit and complete-set sequences showed the contract holds exactly the sum of owed balances after settlement and all claims, and that void refunds never exceed cost and fit the pool. An ERC-1271 registry signer verified within the 200k stipend. The existing unit, fuzz, zap, question-hash, conformance and launch suites pass.\n\nNot re-run for time: the two invariant suites and the fork suite. Deliberate designs the brief already documents (caller pays the ask shortfall, exit dust at the spread bound, lapsing refunds after a short void's sweep, unchecked attestation chainId) were confirmed as implemented, not reported.","treeHash":null,"usage":{"cachedInputTokens":1246160,"inputTokens":354,"model":"claude-fable-5-1","outputTokens":50247,"runtime":"claude","turns":20,"wallClockMs":877061}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"c0fc4ea4f50e3380","findings":[{"citation":"resolved","description":"Read in full: src/ConditionalsV2.sol (1231 lines), src/ConditionalsZap.sol (138 lines), src/interfaces/IIntake.sol, src/interfaces/IOracleAttestation.sol, src/interfaces/IPoolManager.sol, test/utils/Mocks.sol, test/utils/Fixture.sol, test/ConditionalsV2Question.t.sol, test/ConditionalsV2Invariant.t.sol, ADAPTATION.md, and the supplied oracle-consumer reference (OracleAttestation struct, type string, domain, OracleQuestion canonical document). Not reached: legacy/ (deployed v1, not built, reference only) and the live Robinhood Chain IMD, Intake and PoolManager contracts (no RPC used; the repository's fork tests were not run). Every state-changing external function was traced for caller, value moved and trust: createMarket, stakeConditional, stakeFor, buy, sell, exit, requestResolution, onOracleResult, onFailure, settle, voidMarket, claim, sweepVoid, withdrawOwed, proposeOracleConfig, activateOracleConfig, setFeeRecipient; and stakeWithEth, stakeWithUsdg, unlockCallback on the zap. Checked and confirmed: callback selectors 0x510379c7 and 0x5a0df71e match the ABI; the EIP-712 type string and 15-field struct match the protocol reference; asks are keyed by (intake, requestId) so only the market's own intake can answer or fail an ask, and only a live ask of this contract; answers require the pinned questionHash, bool type, panel/quorum at least the market's, agreed >= quorum, not expired, and the market's pinned signer; share conservation (held = q[i] + sets) holds through stake, buy, sell, exit (sets redeemed from the maker shift every q equally so C(q) moves by exactly the redeemed amount), and _absorb; fee split 100/67/33 of 200 bps; settlement pays q[winner] + sets to holders and makerBalance - q[winner] to the creator, which the solvency margin keeps non-negative; short-void payouts are each at most the account's cost and sum to at most the pool; the owner can only rotate oracle configuration for future markets behind a 3 day delay and change the fee recipient; no mint, pause, blacklist, proxy, initializer, DELEGATECALL, CALLCODE or SELFDESTRUCT; the zap holds nothing between calls, reverts on partial fill and below minImd, and stakes for the original caller. The repository suite passes (123 tests, 1 skipped fork suite). Scratch probes run and removed: a 512-run fuzz over random stakes, buys, sells and exits with b in [0.5, 100] IMD asserting makerBalance >= the true LMSR cost C(q) (not only >= each q[i]) after every call, which held; a short-void scenario (two pump-and-dumps across outcomes 0 and 1 with b = 20, plus a 5 IMD stake) confirming the staker is refunded exactly its cost, the pumped holder less than cost, sweepVoid after 365 days pays the creator pool - refundPaid once, a claim after the sweep returns 0 without reverting, and a second sweep reverts NotVoidable.","line":46,"path":"src/ConditionalsV2.sol","reproduction":"No failing input found. Deliberate behaviours documented in ADAPTATION.md and the brief were verified as implemented and are not reported as defects: the caller of requestResolution pays the shortfall of a live Intake price above the budget (up to 10 IMD per ask, no caller-side cap); createMarket binds only the price of a pending oracle rotation; sell and exit stop at 20 b below the top so exit can leave unsellable dust; sweepVoid lapses unclaimed refunds of a short void to the creator after 365 days; onOracleResult does not check a.chainId (the protocol reference states this is intended) and does not consume a.requestId (two live asks of one question never share a questionHash because retries are at least RETRY_DELAY apart and the window block differs).","severity":"info","snippet":"contract ConditionalsV2 is Ownable2Step, ReentrancyGuard, EIP712, IOracleAttestation {","title":"Coverage note (not a defect): contracts read, checks run, no reproducible defect found"}],"hash":"aa596a1b465c0873a08536a894533810f17cead782a6c21832a0dc4bb7046553","nodeId":"8e94580c-9333-49d1-81d7-5380a3850d24","outcome":"completed","summary":"The review is complete. The findings file holds one informational coverage entry and no defects; the tree is otherwise unchanged.\n\n**Outcome.** I found no reproducible defect in `src/ConditionalsV2.sol` or `src/ConditionalsZap.sol` as they arrived. The full suite passes (123 tests, the fork suite skipped without an RPC), and two scratch probes I wrote and then removed confirmed the two properties the earlier audit rounds leaned on hardest:\n\n- Across 512 fuzz runs of random stakes, buys, sells and exits with b from 0.5 to 100 IMD, the maker balance stayed at or above the true LMSR cost function after every call, not just above each outcome's q.\n- In a short void built from two pump-and-dumps plus an honest stake, the staker was refunded exactly its cost, the pumped holder less than cost, the sweep paid the creator the leftover once after 365 days, a claim after the sweep returned zero without reverting, and a second sweep reverted.\n\n**What was read.** Both source contracts in full, the three interfaces, the test mocks and fixture, the question-hash and invariant tests, ADAPTATION.md, and the supplied oracle reference. I traced every state-changing external function for caller, value moved and trust, and checked the callback selectors, the 15-field attestation struct and type string, the ask keying by intake and request id, the share conservation through exit's maker-side redemption, the fee split, settlement and void payout bounds, the owner's surface, and the launch-forbidden features (none present). The zap holds nothing between calls, reverts on partial fills and below the caller's minimum, and stakes for the original caller.\n\n**Not reached.** The `legacy/` v1 tree (reference only, not built) and the live Robinhood Chain IMD, Intake and PoolManager contracts, since I used no RPC.\n\n**Deliberate behaviours verified but not reported as defects,** because the brief and ADAPTATION.md document them: the resolution caller pays any Intake price shortfall up to 10 IMD per ask with no caller-side cap, market creation binds only the price of a pending oracle rotation, exits can leave unsellable dust at the 20 b spread bound, and a short void's unclaimed refunds lapse to the creator after a year.","treeHash":null,"usage":{"cachedInputTokens":1464714,"inputTokens":322,"model":"claude-fable-5-1","outputTokens":53044,"runtime":"claude","turns":23,"wallClockMs":991241}},{"artifacts":[],"attempt":1,"bundleHash":"513947b5fc8f52cde6df8e2a0dec7214336efd7bf58e571430a24527992cd2c8","device":"db7554a772b3fbf3","findings":[],"hash":"ae0b079c63b07182389f8e4713edbb36c84a6632bfa12a23c61c9ef25a8764f9","nodeId":"33eda429-3f7d-4565-b99b-d1288a143071","outcome":"completed","summary":"`forge build` passed. Full seeded suite: **161 passed, 0 failed, 0 skipped**, including all 13 pinned fork tests with storage caching disabled.\n\nPreserved the tests and documented evidence in [ADDED_COVERAGE.md](/home/seat/.identitymd/work/3ecec030-b2ed-4059-8ebf-38a09626e73c/33eda429-3f7d-4565-b99b-d1288a143071/test/ADDED_COVERAGE.md).\n\nThe reported `eth_getAccountInfo` rejection requires an external RPC-checker correction; it cannot be repaired within the permitted test paths.","treeHash":"bcb8359b5c3c342393fcd23ce545df3f2d6f5835","usage":{"cachedInputTokens":6269184,"inputTokens":245666,"model":"gpt-6-astra","outputTokens":41154,"runtime":"codex","turns":14,"wallClockMs":1543157}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"b57ae3a96321a0e1","findings":[],"hash":"d2858cf9b372a263ae68177982f8d6b63ba2a56f5483250cfac24c1642d525e7","nodeId":"9f1bdf9c-ba9c-461e-80f5-b7364cc46def","outcome":"completed","summary":"The review is complete. The findings file is written and validated, with an empty findings list and a full coverage record.\n\n**Result: no reproducible defect in the economic area.** I checked ConditionalsV2 and ConditionalsZap against the Pashov Economic Security, Invariant and Flow Gap guides, after the Senior Auditor's Mindset, and traced every entry point the verifier listed.\n\nWhat I verified, by tracing and by probe:\n- **Maker solvency.** Every trade prices C_up(after) minus C_down(before) with rounding margins, so makerBalance stays at or above C(q) and above every q[i]. Absorb and exit's maker redemption shift all q and the balance by the same amount, so settlement's residual cannot underflow.\n- **Share and cost books.** Account shares per outcome always equal q[i] plus sets, and refundBase always equals the sum of per-account basis, across buy, sell, stake, exit and the stake's three-way basis split, which sums exactly to amount minus fee.\n- **Void economics.** A non-short void refunds each cost exactly and pays the creator the rest. A short void pays between min(value, cost) and cost, sums to at most the pool, and the sweep after a year pays exactly pool minus refundPaid once. I checked the post-sweep and division-by-zero branches of the payout.\n- **Contract-level IMD conservation.** Traced every transfer, including the ask shortfall path, the fee split and deferred pushes.\n- **Probe results.** A sandwich on an honest 100 IMD stake followed by a void left the attacker with 16.4 IMD taken from the 27.7 IMD seed, the staker refunded in full and the void not short, which matches the stated design that the seed is the creator's maximum loss. A 29 IMD stake on a b of 0.5 market reverts with PriceLimit, which is the documented spread bound.\n- **Zap.** Both swap paths fill exactly or revert, the unlock callback is reachable only through the zap's own unlock, and nothing stays in the zap.\n\nNot reached in depth: the numeric accuracy of Solady's expWad and lnWad against the chosen 16-wei-per-b margin, which is the Math Precision area, and the live Uniswap v4 pool parameters, which only the fork tests can confirm. The existing suite of 130 tests passes on this tree. My scratch probes were deleted, and no repository file was changed.","treeHash":null,"usage":{"cachedInputTokens":1056515,"inputTokens":322,"model":"claude-fable-5-1","outputTokens":45529,"runtime":"claude","turns":20,"wallClockMs":736388}},{"artifacts":[],"attempt":1,"bundleHash":"b471307138615ea29a1241bcf75c63b4a4e9de415a856184f6c6867853ebc040","device":"5dd3af20ad7ac0c2","findings":[],"hash":"e3fdf4b9e5883b341adb5c5d0bb95a983ac9a64144ab75c94b3f856a7b21ceac","nodeId":"0c5b3ab5-d015-4de1-bd32-ee490a39f0ab","outcome":"completed","summary":"The work is done and verified. The project was already launchable; no source change was needed, so this task adds tests and the record the acceptance criteria ask for.\n\n**What I found**\n\n- Both constructors already fit the factory: nonpayable, static address arguments, no external calls, owner from the `owner_` argument rather than the factory. No proxy, pause, mint, DELEGATECALL or SELFDESTRUCT. ConditionalsV2's runtime is 24,269 bytes, the zap's 3,646, both under the EIP-170 limit.\n- The audit of this run reported no defect, and I confirmed its reading of the one unaudited change, the requester's `sweepVoid` fix for the finding that parked launch 2765. Its guards, the lapse of unclaimed refunds after the sweep, and the refusal of a void that was not short all behave as the brief describes.\n- The ADAPTATION.md I received claimed a launch rehearsal test that no longer existed in the tree, and its size and check sections were stale.\n\n**What I changed**\n\n- `test/ConditionalsV2Launch.t.sol` (new): rehearses the launch as its floor does. A factory stand-in deploys both contracts by CREATE2 in one call on an empty chain 4663 with the brief's arguments, the zap pointing at the ConditionalsV2 deployed before it. It checks every constructor value, that the owner is the requester's address and not the factory, the callback selectors, the zero-address refusals, and scans both runtimes for forbidden opcodes.\n- `test/ConditionalsV2Lifecycle.t.sol`: the invariant handler can now sweep a void and jump a year ahead, with ghosts for the pool a void set aside and what a sweep took. A new invariant checks a sweep is exact, happens once, only after a year, only on a short void, is never refused when allowed, and that no refund is paid afterwards. A reach test drives the handler through a short void and its sweep.\n- `ADAPTATION.md`: a section for the parked finding and its `sweepVoid` fix with files and tests, the size trims that made room, this run's audit result, and corrected size and check sections.\n- `README.md`: the void lifecycle and the void-refunds limit now describe the sweep; the two test files are listed.\n\n**Results**\n\n| Check | Result |\n|---|---|\n| `forge build` | clean |\n| `forge test` with the verifier's seed, empty environment | 130 passed, 1 skipped (fork suite, needs an RPC) |\n\nNo `launch.json` or blocked file was written, and no protected path was touched. The changes are uncommitted in the working tree.","treeHash":"ab53940f4b0399498900a51c44ef163f0e2a09c3","usage":{"cachedInputTokens":1537069,"inputTokens":418,"model":"claude-fable-5-1","outputTokens":30457,"runtime":"claude","turns":45,"wallClockMs":750288}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"8d428b115b0ebd64","findings":[],"hash":"f2ca542ebc5e7b8720e1520f415b2722e49a8801742eccc680162492f7fbc45e","nodeId":"730f5a15-67cd-4367-a916-6fb0828bef5a","outcome":"completed","summary":"The review is complete. The findings file is written and valid, and no source or test file was changed.\n\n**Outcome: no reproducible defect.** All five earlier reports (permissions, math, economics, flow, and the independent tester) came back empty, so there was nothing to merge or drop. I re-read both contracts in full against the Pashov, eth-security and oracle-consumer checklists and traced all 23 entry points myself.\n\n**What I verified by trace and by running the suite**\n\n- The suite passes: 148 tests across unit, fuzz, two invariant suites, the oracle conformance vector, the question-hash vectors and the launch rehearsal. The fork suite was skipped since it needs an RPC.\n- The share-accounting invariant (accounts' total of outcome i equals q[i] plus sets) holds through buy, sell with absorb, stake and exit. It is what makes exit's maker-side redemption and the absorb path safe.\n- Settlement conserves exactly: residual plus the winners' claims equals makerBalance plus sets. A short void's capped refunds sum to at most the pool, and sweepVoid only reaches a short void a year old.\n- The oracle callback checks the Intake as sender, a live ask of its own, the pinned question hash, the panel and quorum floors, expiry and the market's snapshot signer under the correct EIP-712 domain. The mock delivers it under the 200,000-gas stipend.\n- Both Zap paths check full fills and the caller's minimum IMD, settle exactly what they swapped and hold nothing afterwards.\n- The manifest matches the brief's constructor arguments, and the runtimes are 24,269 and 3,646 bytes with no forbidden opcode.\n\n**Coverage record:** 23 entry points plus three invariant rows, all marked holds with a one-line reason, in `.imd-findings.json`.\n\n**Documented design limits, not defects:** the caller of requestResolution pays any shortfall above the budget, createMarket binds only the price, exit can leave shares worth under about 2e-9 IMD each, and refunds of a short void lapse after the sweep. These match the brief and ADAPTATION.md.","treeHash":null,"usage":{"cachedInputTokens":703840,"inputTokens":258,"model":"claude-fable-5-1","outputTokens":24990,"runtime":"claude","turns":17,"wallClockMs":436187}}],"verification":[{"checks":[{"durationMs":62226,"exitCode":0,"name":"build","output":"Compiling 65 files with Solc 0.8.26\nSolc 0.8.26 finished in 62.10s\nCompiler run successful!\n","passed":true},{"durationMs":8992,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 1 test for test/ConditionalsV2Fork.t.sol:ConditionalsV2ForkTest\n[SKIP: skipped] setUp() (gas: 0)\nSuite result: ok. 0 passed; 0 failed; 1 skipped; finished in 915.12µs (0.00ns CPU time)\n\nRan 4 tests for test/OracleConformance.t.sol:OracleConformanceTest\n[PASS] test_acceptsAFreshSignatureFromTheVectorKeyAsDelivered() (gas: 2515609)\n[PASS] test_callbackSelectorIsCanonical() (gas: 708)\n[PASS] test_digestMatchesTheProtocol() (gas: 9988)\n[PASS] test_protocolSignatureVerifiesAgainstTheContractsDigest() (gas: 20137)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 315.25ms (1.91ms CPU time)\n\nRan 36 tests for test/ConditionalsV2FailurePaths.t.sol:ConditionalsV2FailurePathsTest\n[PASS] testFuzz_buy_neverCreditsMoreThanItChargesFor(uint256,uint8) (runs: 1000, μ: 747614, ~: 711278)\nLogs:\n  Bound result 57896044618658097711785492504343953926634992332820282019728791003958290360736\n\n[PASS] test_buy_hugeSizesInsideInt256AreRefused() (gas: 773000)\n[PASS] test_claim_blockedAccountRevertsAndKeepsItsClaim() (gas: 3320678)\n[PASS] test_claim_loserGetsNothingAndWinnerOnce() (gas: 3607261)\n[PASS] test_claim_openMarketAndUnknownMarketAreRefused() (gas: 1153649)\n[PASS] test_claim_voidRefundIsPaidOnce() (gas: 1458587)\n[PASS] test_constructor_refusesZeroAddresses() (gas: 13075)\n[PASS] test_create_refusesBadText() (gas: 2322157)\n[PASS] test_create_refusesBadTimes() (gas: 1441659)\n[PASS] test_create_withoutFundsReverts() (gas: 587677)\n[PASS] test_oracle_answerIsConsumedOnce() (gas: 2466576)\n[PASS] test_oracle_boundaryValuesAreAccepted() (gas: 2479494)\n[PASS] test_oracle_eachTamperedFieldIsRefused() (gas: 3937712)\n[PASS] test_oracle_erc1271SignerRegistry() (gas: 3078338)\n[PASS] test_oracle_failureOnlyClearsTheAsk() (gas: 3073310)\n[PASS] test_oracle_retryBeforeDelayIsRefusedAndLateAnswerIgnored() (gas: 4873863)\n[PASS] test_oracle_wrongSenderAndUnknownIdAreRefused() (gas: 3358150)\n[PASS] test_owner_configDelayAndWindow() (gas: 401499)\n[PASS] test_owner_invalidConfigsRefused() (gas: 271405)\n[PASS] test_owner_newConfigAppliesOnlyToNewMarkets() (gas: 2869427)\n[PASS] test_owner_onlyOwnerConfigures() (gas: 122885)\n[PASS] test_owner_twoStepTransfer() (gas: 139504)\n[PASS] test_request_boundsAndUnknownMarkets() (gas: 757586)\n[PASS] test_request_retryCallerWithoutFundsReverts() (gas: 2367566)\n[PASS] test_sell_moreThanHeldReverts() (gas: 1049544)\n[PASS] test_settle_blockedCreatorIsCreditedNotBlocking() (gas: 3261191)\n[PASS] test_settle_needsBothAnswers() (gas: 3142308)\n[PASS] test_settledMarketCannotBeVoidedOrTraded() (gas: 3287752)\n[PASS] test_stake_tooLargeForTheMakerReverts() (gas: 705463)\n[PASS] test_trade_invalidChoicesAndSizes() (gas: 1025229)\n[PASS] test_trade_withoutApprovalOrBalanceReverts() (gas: 1103817)\n[PASS] test_void_beforeDeadlineRefused() (gas: 696659)\n[PASS] test_void_isFinal() (gas: 2161248)\n[PASS] test_void_nobodyTradedReturnsEverythingToTheCreator() (gas: 778378)\n[PASS] test_void_shortPoolIsSharedWithinItself() (gas: 3098168)\nLogs:\n  left in the pool after every claim: 22420097455077652127\n\n[PASS] test_withdrawOwed_paysOnceAndRefusesNothing() (gas: 1236024)\nSuite result: ok. 36 passed; 0 failed; 0 skipped; finished in 395.64ms (439.73ms CPU time)\n\nRan 9 tests for test/ConditionalsZap.t.sol:ConditionalsZapTest\n[PASS] testFuzz_ethZapLeavesNothingBehind(uint96,uint8,uint8) (runs: 256, μ: 619278, ~: 619209)\nLogs:\n  Bound result 64194855079491019\n\n[PASS] test_constructorRefusesZeroAddresses() (gas: 10962)\n[PASS] test_eth_stakesForTheCallerThroughTheEthImdPool() (gas: 687246)\n[PASS] test_marketRefusalRevertsTheWholeZap() (gas: 478729)\n[PASS] test_partialFillReverts() (gas: 407320)\n[PASS] test_slippageBoundsRevert() (gas: 488286)\n[PASS] test_tinySwapBelowMinTradeReverts() (gas: 245951)\n[PASS] test_usdg_stakesForTheCaller() (gas: 822711)\n[PASS] test_zeroAmountsAndCallerChecks() (gas: 117404)\nSuite result: ok. 9 passed; 0 failed; 0 skipped; finished in 450.92ms (452.01ms CPU time)\n\nRan 5 tests for test/ConditionalsV2Launch.t.sol:ConditionalsV2LaunchTest\n[PASS] test_launch_callbackSelectorsAreTheProtocolOnes() (gas: 448)\n[PASS] test_launch_constructorsConfigureEverything() (gas: 71855)\n[PASS] test_launch_constructorsRefuseZeroAddresses() (gas: 4577)\n[PASS] test_launch_runtimesFitAndHaveNoEscapeOpcodes() (gas: 12153897)\n[PASS] test_launch_zapHasNoOwnerAndHoldsNothing() (gas: 54403)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 2.93s (34.03ms CPU time)\n\nRan 59 tests for test/ConditionalsV2.t.sol:ConditionalsV2Test\n[PASS] testFuzz_audit_exitAnyCompleteSet(uint96,uint96,uint96,uint8) (runs: 512, μ: 3906825, ~: 3779307)\nLogs:\n  Bound result 79768302286798227004\n  Bound result 95931\n  Bound result 239303906860394696330\n\n[PASS] testFuzz_exitNeverProfits(uint96,uint96,uint8,uint8) (runs: 512, μ: 1436250, ~: 1429326)\nLogs:\n  Bound result 99500000000000020562\n  Bound result 249476014393716434824\n\n[PASS] testFuzz_pricesSumToOne(int64[4],uint96) (runs: 512, μ: 1599002, ~: 1599100)\nLogs:\n  Bound result 99500000000000000007\n  Bound result 21422885895974921\n  Bound result 397999000000000065547\n  Bound result 397999000067329081600\n  Bound result 397999000000005676995\n\n[PASS] testFuzz_review_partialSellKeepsAShareOfTheCost(uint96,uint96,uint96) (runs: 512, μ: 1375566, ~: 1375731)\nLogs:\n  Bound result 99998000000000000994\n  Bound result 499999999999999999\n  Bound result 99999000000000021456\n\n[PASS] testFuzz_review_voidPaysEveryClaimWithinThePool(uint96[6],uint8[6]) (runs: 512, μ: 3078970, ~: 3073412)\nLogs:\n  Bound result 90463374172053756545\n  Bound result 149999000011884987794\n  Bound result 29300292685843744514\n  Bound result 119396585738169726646\n  Bound result 32706574779801625626\n  Bound result 211654398588979091\n\n[PASS] testFuzz_roundTripNeverProfits(uint96,uint96,uint8) (runs: 512, μ: 1195322, ~: 1195415)\nLogs:\n  Bound result 19403822925477203201\n  Bound result 107399176633283845732\n\n[PASS] testFuzz_stakeNeverBreaksSolvency(uint96,uint96,uint8,uint8,uint8) (runs: 512, μ: 3312195, ~: 3332251)\nLogs:\n  Bound result 99500000000000003526\n  Bound result 1492499000000000061955\n\n[PASS] test_audit_askNeverPaysAboveMaxPrice() (gas: 2413661)\n[PASS] test_audit_askPaysALivePriceAboveTheSnapshot() (gas: 3366626)\n[PASS] test_audit_exitRedeemsSetsBoughtFromTheMaker() (gas: 2871614)\n[PASS] test_audit_exitSellsWhatFitsTheSpread() (gas: 2165746)\n[PASS] test_audit_sellCannotPriceAWorldAtZero() (gas: 5902967)\n[PASS] test_buySell_roundTripLoses() (gas: 1149009)\n[PASS] test_buySell_slippage() (gas: 1065259)\n[PASS] test_claim_settlesAndOnlyOnce() (gas: 3144437)\n[PASS] test_closedMarketRefusesTrades() (gas: 1221917)\n[PASS] test_create_boundsB() (gas: 449621)\n[PASS] test_create_takesBudgetAndSeed() (gas: 757616)\n[PASS] test_creatorLossIsBoundedByTheSeed() (gas: 3114719)\n[PASS] test_exit_closesThePositionAtQuote() (gas: 1466896)\n[PASS] test_exit_largeStakeOnThinMarketAbsorbsSets() (gas: 1467087)\n[PASS] test_exit_slippage() (gas: 1266213)\n[PASS] test_fees_blockedRecipientsDoNotBlockTrades() (gas: 1183944)\n[PASS] test_fees_splitAndAccrue() (gas: 1011781)\n[PASS] test_oracle_badSignatureIsRefused() (gas: 2532996)\n[PASS] test_oracle_budgetSpentThenReturned() (gas: 2752966)\n[PASS] test_oracle_callbackFitsTheIntakeGasLimit() (gas: 2869949)\n[PASS] test_oracle_failureAllowsAPaidRetry() (gas: 3151577)\n[PASS] test_oracle_wrongQuestionHashIsRefused() (gas: 2390100)\n[PASS] test_owner_cannotChangeAnOpenMarket() (gas: 941122)\n[PASS] test_priceLimitRefusesASaturatedMarket() (gas: 1245633)\n[PASS] test_review_askDrawsTheBudgetDownThenChargesTheCaller() (gas: 2428522)\n[PASS] test_review_buyAboveInt256MaxReverts() (gas: 1015960)\n[PASS] test_review_claimableCountsASettleableMarket() (gas: 3245542)\n[PASS] test_review_claimableIsZeroWhileAnAnswerIsMissing() (gas: 2883510)\n[PASS] test_review_exitReleasesTheSetsCost() (gas: 1566510)\n[PASS] test_review_retryIsPaidFromTheBudgetWhileItLasts() (gas: 3327500)\n[PASS] test_review_shortVoidNeverPaysAboveCost() (gas: 2561089)\n[PASS] test_review_smallStakeOnASaturatedMarket() (gas: 2065717)\n[PASS] test_review_stakeCostFollowsPrices() (gas: 2122853)\n[PASS] test_review_voidDoesNotRefundRealisedLosses() (gas: 7873477)\n[PASS] test_review_voidRefundsTheCostOfSharesStillHeld() (gas: 1689404)\n[PASS] test_review_voidShortfallFallsOnUnbackedCost() (gas: 2694522)\n[PASS] test_seedFor_isbln4() (gas: 26131)\n[PASS] test_settle_allFourOutcomes() (gas: 14016312)\n[PASS] test_settle_creatorGetsResidualAndBudget() (gas: 2814846)\n[PASS] test_stakeFor_creditsTheAccountAndChargesTheCaller() (gas: 1187246)\n[PASS] test_stake_losingSideLosesTheStake() (gas: 3102074)\n[PASS] test_stake_matchesTheDesignExample() (gas: 1301603)\n[PASS] test_stake_otherWorldRefundsTheStake() (gas: 3132159)\n[PASS] test_stake_slippageAndBounds() (gas: 814496)\n[PASS] test_stake_winningWorldPays() (gas: 3131362)\n[PASS] test_sweep_blockedCreatorIsOwed() (gas: 2351000)\n[PASS] test_sweep_onlyAfterAShortVoid() (gas: 1371520)\n[PASS] test_sweep_paysTheCreatorWhatTheCappedRefundsLeave() (gas: 3064481)\n[PASS] test_sweep_unclaimedRefundsLapse() (gas: 2784998)\n[PASS] test_void_paysTheCreatorLastAndProRataWhenShort() (gas: 1709471)\n[PASS] test_void_refundsCostLessFees() (gas: 1788923)\n[PASS] test_void_waitsForALiveAsk() (gas: 2271265)\nSuite result: ok. 59 passed; 0 failed; 0 skipped; finished in 2.93s (5.56s CPU time)\n\nRan 6 tests for test/ConditionalsV2Question.t.sol:ConditionalsQuestionTest\n[PASS] testFuzz_acceptedTextNeedsNoEscaping(bytes) (runs: 1000, μ: 84035, ~: 59417)\n[PASS] testFuzz_askPinsTheDocumentOfTheWindowItAsked(uint32) (runs: 256, μ: 2763691, ~: 2760730)\nLogs:\n  Bound result 1800000000\n\n[PASS] testFuzz_bodyCarriesTheDocumentAndThePanelTerms(bytes,uint32) (runs: 256, μ: 2381208, ~: 2356029)\n[PASS] testFuzz_documentMatchesTheReferenceLibrary(bytes,bytes,bytes,uint32,uint32) (runs: 512, μ: 1084479, ~: 1078886)\nLogs:\n  Bound result 3305\n\n[PASS] test_liveApiVectorAgreesWithTheReferenceLibrary() (gas: 982383)\n[PASS] test_referenceLibraryReproducesTheProtocolVector() (gas: 37813)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 4.21s (5.16s CPU time)\n\nRan 10 tests for test/ConditionalsV2Lifecycle.t.sol:ConditionalsV2LifecycleInvariantTest\n[PASS] invariant_claimsAreExact() (runs: 128, calls: 8192, reverts: 0)\n\n╭------------------+---------------+-------+---------+----------╮\n| Contract         | Selector      | Calls | Reverts | Discards |\n+===============================================================+\n| LifecycleHandler | advance       | 601   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | buy           | 640   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | claim         | 641   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | exit          | 602   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastSweep | 609   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastVoid  | 645   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | resolve       | 611   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sell          | 620   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | settle        | 662   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | stake         | 630   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sweep         | 633   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | voidIt        | 694   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | withdraw      | 604   | 0       | 0        |\n╰------------------+---------------+-------+---------+----------╯\n\nLogs:\n  Bound result 44773491322879430915\n  Bound result 1000000000000003\n  Bound result 199999000000095000001\n  Bound result 199999000000000000255\n  Bound result 205424\n  Bound result 68854369596901358714\n  Bound result 99535144442273905360\n  Bound result 199999000000000000513\n  Bound result 244\n  Bound result 100005999999999999994\n  Bound result 86400\n  Bound result 176000\n  Bound result 199999000000000000281\n  Bound result 199999000000000010239\n  Bound result 199999000000000023332\n  Bound result 3200\n  Bound result 109983033520103911575\n  Bound result 1400\n\n[PASS] invariant_creatorLossBounded() (runs: 128, calls: 8192, reverts: 0)\n\n╭------------------+---------------+-------+---------+----------╮\n| Contract         | Selector      | Calls | Reverts | Discards |\n+===============================================================+\n| LifecycleHandler | advance       | 601   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | buy           | 640   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | claim         | 641   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | exit          | 602   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastSweep | 609   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastVoid  | 645   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | resolve       | 611   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sell          | 620   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | settle        | 662   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | stake         | 630   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sweep         | 633   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | voidIt        | 694   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | withdraw      | 604   | 0       | 0        |\n╰------------------+---------------+-------+---------+----------╯\n\nLogs:\n  Bound result 44773491322879430915\n  Bound result 1000000000000003\n  Bound result 199999000000095000001\n  Bound result 199999000000000000255\n  Bound result 205424\n  Bound result 68854369596901358714\n  Bound result 99535144442273905360\n  Bound result 199999000000000000513\n  Bound result 244\n  Bound result 100005999999999999994\n  Bound result 86400\n  Bound result 176000\n  Bound result 199999000000000000281\n  Bound result 199999000000000010239\n  Bound result 199999000000000023332\n  Bound result 3200\n  Bound result 109983033520103911574\n  Bound result 1400\n\n[PASS] invariant_endStateConsistent() (runs: 128, calls: 8192, reverts: 0)\n\n╭------------------+---------------+-------+---------+----------╮\n| Contract         | Selector      | Calls | Reverts | Discards |\n+===============================================================+\n| LifecycleHandler | advance       | 601   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | buy           | 640   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | claim         | 641   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | exit          | 602   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastSweep | 609   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastVoid  | 645   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | resolve       | 611   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sell          | 620   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | settle        | 662   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | stake         | 630   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sweep         | 633   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | voidIt        | 694   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | withdraw      | 604   | 0       | 0        |\n╰------------------+---------------+-------+---------+----------╯\n\nLogs:\n  Bound result 44773491322879430915\n  Bound result 1000000000000003\n  Bound result 199999000000095000001\n  Bound result 199999000000000000255\n  Bound result 205424\n  Bound result 68854369596901358714\n  Bound result 99535144442273905360\n  Bound result 199999000000000000513\n  Bound result 244\n  Bound result 100005999999999999994\n  Bound result 86400\n  Bound result 176000\n  Bound result 199999000000000000281\n  Bound result 199999000000000010239\n  Bound result 199999000000000023332\n  Bound result 3200\n  Bound result 109983033520103911573\n  Bound result 1400\n\n[PASS] invariant_everyClaimIsPayable() (runs: 128, calls: 8192, reverts: 0)\n\n╭------------------+---------------+-------+---------+----------╮\n| Contract         | Selector      | Calls | Reverts | Discards |\n+===============================================================+\n| LifecycleHandler | advance       | 601   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | buy           | 640   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | claim         | 641   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | exit          | 602   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastSweep | 609   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastVoid  | 645   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | resolve       | 611   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sell          | 620   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | settle        | 662   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | stake         | 630   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sweep         | 633   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | voidIt        | 694   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | withdraw      | 604   | 0       | 0        |\n╰------------------+---------------+-------+---------+----------╯\n\nLogs:\n  Bound result 44773491322879430915\n  Bound result 1000000000000003\n  Bound result 199999000000095000001\n  Bound result 199999000000000000255\n  Bound result 205424\n  Bound result 68854369596901358714\n  Bound result 99535144442273905360\n  Bound result 199999000000000000513\n  Bound result 244\n  Bound result 100005999999999999994\n  Bound result 86400\n  Bound result 176000\n  Bound result 199999000000000000281\n  Bound result 199999000000000010239\n  Bound result 199999000000000023332\n  Bound result 3200\n  Bound result 109983033520103911575\n  Bound result 1400\n\n[PASS] invariant_finishedNeverReopens() (runs: 128, calls: 8192, reverts: 0)\n\n╭------------------+---------------+-------+---------+----------╮\n| Contract         | Selector      | Calls | Reverts | Discards |\n+===============================================================+\n| LifecycleHandler | advance       | 601   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | buy           | 640   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | claim         | 641   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | exit          | 602   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastSweep | 609   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastVoid  | 645   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | resolve       | 611   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sell          | 620   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | settle        | 662   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | stake         | 630   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sweep         | 633   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | voidIt        | 694   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | withdraw      | 604   | 0       | 0        |\n╰------------------+---------------+-------+---------+----------╯\n\nLogs:\n  Bound result 44773491322879430915\n  Bound result 1000000000000003\n  Bound result 199999000000095000001\n  Bound result 199999000000000000255\n  Bound result 205424\n  Bound result 68854369596901358714\n  Bound result 99535144442273905360\n  Bound result 199999000000000000513\n  Bound result 244\n  Bound result 100005999999999999994\n  Bound result 86400\n  Bound result 176000\n  Bound result 199999000000000000281\n  Bound result 199999000000000010239\n  Bound result 199999000000000023332\n  Bound result 3200\n  Bound result 109983033520103911573\n  Bound result 1400\n\n[PASS] invariant_holdsEverythingItOwes() (runs: 128, calls: 10240, reverts: 0)\n\n╭------------------+---------------+-------+---------+----------╮\n| Contract         | Selector      | Calls | Reverts | Discards |\n+===============================================================+\n| LifecycleHandler | advance       | 761   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | buy           | 789   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | claim         | 792   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | exit          | 741   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastSweep | 795   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastVoid  | 813   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | resolve       | 763   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sell          | 771   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | settle        | 813   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | stake         | 800   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sweep         | 794   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | voidIt        | 831   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | withdraw      | 777   | 0       | 0        |\n╰------------------+---------------+-------+---------+----------╯\n\nLogs:\n  Bound result 67623\n  Bound result 70313235865842966675\n  Bound result 91027\n  Bound result 17441859315089051916\n  Bound result 10798592108882856919\n  Bound result 244\n  Bound result 149999000000000013212\n  Bound result 149999000000000864001\n  Bound result 1\n  Bound result 148328\n  Bound result 124288\n  Bound result 23562\n  Bound result 16\n  Bound result 14156\n  Bound result 35200\n  Bound result 199999000000000000142\n  Bound result 33330460267268713054\n  Bound result 149999000000000000016\n  Bound result 149999000000000017649\n  Bound result 121316\n  Bound result 97694\n  Bound result 149999000000000006623\n  Bound result 149999000000095000001\n\n[PASS] invariant_refundBooksAgree() (runs: 128, calls: 8192, reverts: 0)\n\n╭------------------+---------------+-------+---------+----------╮\n| Contract         | Selector      | Calls | Reverts | Discards |\n+===============================================================+\n| LifecycleHandler | advance       | 601   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | buy           | 640   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | claim         | 641   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | exit          | 602   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastSweep | 609   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastVoid  | 645   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | resolve       | 611   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sell          | 620   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | settle        | 662   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | stake         | 630   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sweep         | 633   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | voidIt        | 694   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | withdraw      | 604   | 0       | 0        |\n╰------------------+---------------+-------+---------+----------╯\n\nLogs:\n  Bound result 44773491322879430915\n  Bound result 1000000000000003\n  Bound result 199999000000095000001\n  Bound result 199999000000000000255\n  Bound result 205424\n  Bound result 68854369596901358714\n  Bound result 99535144442273905360\n  Bound result 199999000000000000513\n  Bound result 244\n  Bound result 100005999999999999994\n  Bound result 86400\n  Bound result 176000\n  Bound result 199999000000000000281\n  Bound result 199999000000000010239\n  Bound result 199999000000000023332\n  Bound result 3200\n  Bound result 109983033520103911575\n  Bound result 1400\n\n[PASS] invariant_sweepIsExact() (runs: 128, calls: 8192, reverts: 0)\n\n╭------------------+---------------+-------+---------+----------╮\n| Contract         | Selector      | Calls | Reverts | Discards |\n+===============================================================+\n| LifecycleHandler | advance       | 601   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | buy           | 640   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | claim         | 641   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | exit          | 602   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastSweep | 609   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastVoid  | 645   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | resolve       | 611   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sell          | 620   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | settle        | 662   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | stake         | 630   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sweep         | 633   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | voidIt        | 694   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | withdraw      | 604   | 0       | 0        |\n╰------------------+---------------+-------+---------+----------╯\n\nLogs:\n  Bound result 44773491322879430915\n  Bound result 1000000000000003\n  Bound result 199999000000095000001\n  Bound result 199999000000000000255\n  Bound result 205424\n  Bound result 68854369596901358714\n  Bound result 99535144442273905360\n  Bound result 199999000000000000513\n  Bound result 244\n  Bound result 100005999999999999994\n  Bound result 86400\n  Bound result 176000\n  Bound result 199999000000000000281\n  Bound result 199999000000000010239\n  Bound result 199999000000000023332\n  Bound result 3200\n  Bound result 109983033520103911575\n  Bound result 1400\n\n[PASS] test_handlerReachesSettlementVoidAndClaims() (gas: 6672190)\nLogs:\n  Bound result 5000000000000000000\n  Bound result 3000000000000000000\n  Bound result 7000000000000000000\n\n[PASS] test_handlerSweepsAShortVoid() (gas: 4649549)\nLogs:\n  Bound result 100000000000000000000\n  Bound result 150000000000000000000\n  Bound result 49999000000000000000\n  Bound result 150000000000000000000\n  Bound result 49999000000000000000\n  Bound result 150000000000000000000\n  Bound result 49999000000000000000\n  Bound result 150000000000000000000\n  Bound result 49999000000000000000\n  Bound result 192500000000000000000\n\nSuite result: ok. 10 passed; 0 failed; 0 skipped; finished in 4.21s (18.94s CPU time)\n\nRan 1 test for test/ConditionalsV2Invariant.t.sol:ConditionalsV2InvariantTest\n[PASS]\nConditionalsV2InvariantTest invariants:\n[PASS] invariant_balanceCoversEverything\n[PASS] invariant_everyOutcomeIsPayable\n[PASS] invariant_makerSolvent\n[PASS] invariant_pricesSumToOne\n[PASS] invariant_refundBaseMatchesPositiveNets\n[PASS] invariant_sharesMatchTheBook\n[PASS] invariant_spreadBounded\n ConditionalsV2InvariantTest invariants (runs: 128, calls: 8192, reverts: 0)\n\n╭----------+----------+-------+---------+----------╮\n| Contract | Selector | Calls | Reverts | Discards |\n+==================================================+\n| Handler  | buy      | 2071  | 0       | 0        |\n|----------+----------+-------+---------+----------|\n| Handler  | exit     | 2038  | 0       | 0        |\n|----------+----------+-------+---------+----------|\n| Handler  | sell     | 2032  | 0       | 0        |\n|----------+----------+-------+---------+----------|\n| Handler  | stake    | 2051  | 0       | 0        |\n╰----------+----------+-------+---------+----------╯\n\nLogs:\n  Bound result 199999000000000000509\n  Bound result 199999000000038709267\n  Bound result 199999000000000000103\n  Bound result 199999000000026230001\n  Bound result 199999000000000000007\n  Bound result 108301931394338335134\n  Bound result 299999000000000008554\n  Bound result 199999000000002678401\n  Bound result 205069066516884773881\n  Bound result 199999000000000000014\n  Bound result 199999000001000000001\n  Bound result 57884568934182439085\n  Bound result 299999000000000000244\n  Bound result 150000000000000000000\n  Bound result 299999000000000000011\n  Bound result 199999000000000000516\n  Bound result 4000000000000000000\n  Bound result 37121968824969855134\n  Bound result 3999000000000001577\n  Bound result 199999000000000000006\n  Bound result 37873915280087672018\n  Bound result 299999000000000016064\n  Bound result 299999000000000000601\n  Bound result 299999000000000000096\n  Bound result 1000000000000001\n  Bound result 195872965921220869349\n  Bound result 200000000000000000\n  Bound result 199999000000000004521\n  Bound result 299999000000000020540\n  Bound result 1000000000000003\n  Bound result 1000000000000003\n  Bound result 50000000000000000000\n  Bound result 299999000000000000127\n  Bound result 1924119532608978\n  Bound result 199999000000002678401\n  Bound result 69833644872693078925\n  Bound result 299999000000000007343\n  Bound result 299999000000000001025\n  Bound result 238986277180024830784\n  Bound result 1000000000000003\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 8.83s (8.83s CPU time)\n\nRan 9 test suites in 8.84s (24.29s CPU time): 130 tests passed, 0 failed, 1 skipped (131 total tests)\n","passed":true},{"durationMs":101,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"ConditionalsV2.acceptOwnership()\",\"ConditionalsV2.activateOracleConfig()\",\"ConditionalsV2.buy(uint256,uint8,uint256,uint256)\",\"ConditionalsV2.claim(uint256)\",\"ConditionalsV2.createMarket(string,string,string,uint64,uint64,uint256,uint256)\",\"ConditionalsV2.exit(uint256,uint256)\",\"ConditionalsV2.onFailure(bytes32,uint8,bytes32,uint16,uint16,bytes)\",\"ConditionalsV2.onOracleResult(bytes32,(bytes32,uint256,bytes32,uint8,bytes,uint256,uint64,uint64,bytes32,bytes32,uint16,uint16,uint16,uint64,uint64),bytes)\",\"ConditionalsV2.proposeOracleConfig((address,address,uint128,uint16,uint16,bytes32))\",\"ConditionalsV2.renounceOwnership()\",\"ConditionalsV2.requestResolution(uint256)\",\"ConditionalsV2.sell(uint256,uint8,uint256,uint256)\",\"ConditionalsV2.setFeeRecipient(address)\",\"ConditionalsV2.settle(uint256)\",\"ConditionalsV2.stakeConditional(uint256,uint8,uint8,uint256,uint256)\",\"ConditionalsV2.stakeFor(address,uint256,uint8,uint8,uint256,uint256)\",\"ConditionalsV2.sweepVoid(uint256)\",\"ConditionalsV2.transferOwnership(address)\",\"ConditionalsV2.voidMarket(uint256)\",\"ConditionalsV2.withdrawOwed()\",\"ConditionalsZap.stakeWithEth(uint256,uint8,uint8,uint256,uint256)\",\"ConditionalsZap.stakeWithUsdg(uint256,uint8,uint8,uint256,uint256,uint256)\",\"ConditionalsZap.unlockCallback(bytes)\"],\"files\":{\".gitignore\":9,\".gitmodules\":9,\"ADAPTATION.md\":368,\"HANDOFF.md\":252,\"PROGRESS.md\":269,\"README.md\":149,\"foundry.lock\":20,\"foundry.toml\":32,\"frontend/.gitignore\":42,\"frontend/eslint.config.mjs\":18,\"frontend/next.config.ts\":14,\"frontend/package.json\":32,\"frontend/pnpm-lock.yaml\":4541,\"frontend/pnpm-workspace.yaml\":3,\"frontend/public/docs/conditionals-v2-liquidity.pdf\":159,\"frontend/scripts/gen-abi.mjs\":16,\"frontend/src/app/api/check/route.ts\":37,\"frontend/src/app/docs/page.tsx\":321,\"frontend/src/app/globals.css\":315,\"frontend/src/app/icon.svg\":1,\"frontend/src/app/layout.tsx\":40,\"frontend/src/app/page.tsx\":70,\"frontend/src/components/CreateModal.tsx\":373,\"frontend/src/components/Featured.tsx\":92,\"frontend/src/components/ForkCanvas.tsx\":234,\"frontend/src/components/Glyphs.tsx\":118,\"frontend/src/components/Header.tsx\":79,\"frontend/src/components/Hero.tsx\":90,\"frontend/src/components/MarketCard.tsx\":85,\"frontend/src/components/MarketDrawer.tsx\":500,\"frontend/src/components/Markets.tsx\":88,\"frontend/src/components/Providers.tsx\":45,\"frontend/src/components/Sections.tsx\":170,\"frontend/src/components/Stats.tsx\":52,\"frontend/src/hooks/useDemoMarkets.ts\":184,\"frontend/src/hooks/useLiveMarkets.ts\":367,\"frontend/src/hooks/useNow.ts\":15,\"frontend/src/lib/abi.ts\":2498,\"frontend/src/lib/config.ts\":59,\"frontend/src/lib/demo.ts\":117,\"frontend/src/lib/format.ts\":46,\"frontend/src/lib/lmsr.ts\":59,\"frontend/src/lib/market.ts\":103,\"frontend/src/lib/types.ts\":97,\"frontend/tsconfig.json\":34,\"launch.json\":25,\"launch/2278-manifest.json\":16,\"launch/2765-manifest.json\":25,\"launch/buy-imd.sh\":27,\"launch/launch.template.json\":27,\"launch/pay.sh\":52,\"legacy/v1/Conditionals.sol\":821,\"legacy/v1/test/Conditionals.t.sol\":1172,\"legacy/v1/test/ConditionalsAdversarial.t.sol\":620,\"legacy/v1/test/ConditionalsFork.t.sol\":50,\"legacy/v1/test/ConditionalsInvariant.t.sol\":200,\"legacy/v1/test/ConditionalsLifecycleInvariant.t.sol\":365,\"legacy/v1/test/Fixture.sol\":187,\"src/ConditionalsV2.sol\":1231,\"src/ConditionalsZap.sol\":138,\"src/interfaces/IIntake.sol\":26,\"src/interfaces/IOracleAttestation.sol\":24,\"src/interfaces/IPoolManager.sol\":34,\"test/ConditionalsV2.t.sol\":1091,\"test/ConditionalsV2FailurePaths.t.sol\":748,\"test/ConditionalsV2Fork.t.sol\":221,\"test/ConditionalsV2Invariant.t.sol\":157,\"test/ConditionalsV2Launch.t.sol\":146,\"test/ConditionalsV2Lifecycle.t.sol\":486,\"test/ConditionalsV2Question.t.sol\":191,\"test/ConditionalsZap.t.sol\":251,\"test/OracleConformance.t.sol\":146,\"test/utils/Fixture.sol\":189,\"test/utils/Mocks.sol\":141,\"test/utils/OracleQuestion.sol\":265},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"43d56945acbd4f081e13a35ff0ad973f672a370ba3bab9c4282d86847dd2f8df","verifiedTreeHash":"0f82274efff680581e25b948246e5f7d1b7850b4","verifierVersion":"0.1.0+a6eb4461"},{"checks":[{"durationMs":89517,"exitCode":0,"name":"build","output":"Compiling 68 files with Solc 0.8.26\nSolc 0.8.26 finished in 89.40s\nCompiler run successful!\n","passed":true},{"durationMs":28577,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 5 tests for test/ConditionalsV2Launch.t.sol:ConditionalsV2LaunchTest\n[PASS] test_launch_callbackSelectorsAreTheProtocolOnes() (gas: 448)\n[PASS] test_launch_constructorsConfigureEverything() (gas: 71855)\n[PASS] test_launch_constructorsRefuseZeroAddresses() (gas: 4577)\n[PASS] test_launch_runtimesFitAndHaveNoEscapeOpcodes() (gas: 12153897)\n[PASS] test_launch_zapHasNoOwnerAndHoldsNothing() (gas: 54403)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 542.31ms (39.76ms CPU time)\n\nRan 9 tests for test/ConditionalsV2Atomicity.t.sol:ConditionalsV2AtomicityTest\n[PASS] test_blockedSellerRetainsPositionAndCostBasis() (gas: 1886274)\n[PASS] test_duplicateIntakeIdRollsBackBothPayments() (gas: 2008007)\n[PASS] test_exitSlippageRestoresSetsSharesBasisAndFees() (gas: 2187928)\n[PASS] test_failedFeeWithdrawalKeepsTheDebtCollectible() (gas: 1733557)\n[PASS] test_oracleSignatureBindsEveryAttestationField() (gas: 6861648)\n[PASS] test_oracleSignatureCannotCrossConsumerOrChainDomains() (gas: 8160531)\n[PASS] test_requestSecondExternalFailureRollsBackFirstPaymentAndAsk() (gas: 2454176)\n[PASS] test_secondQuestionShortfallFailureRestoresBudgetAndCallerAllowance() (gas: 3828532)\n[PASS] test_stakeForFailedPullCannotCreditTheBeneficiary() (gas: 1443224)\nSuite result: ok. 9 passed; 0 failed; 0 skipped; finished in 593.25ms (29.27ms CPU time)\n\nRan 6 tests for test/ConditionalsV2Question.t.sol:ConditionalsQuestionTest\n[PASS] testFuzz_acceptedTextNeedsNoEscaping(bytes) (runs: 1000, μ: 84729, ~: 59453)\n[PASS] testFuzz_askPinsTheDocumentOfTheWindowItAsked(uint32) (runs: 256, μ: 2763701, ~: 2760730)\nLogs:\n  Bound result 1800000000\n\n[PASS] testFuzz_bodyCarriesTheDocumentAndThePanelTerms(bytes,uint32) (runs: 256, μ: 2382579, ~: 2356524)\n[PASS] testFuzz_documentMatchesTheReferenceLibrary(bytes,bytes,bytes,uint32,uint32) (runs: 512, μ: 1087003, ~: 1080539)\nLogs:\n  Bound result 3305\n\n[PASS] test_liveApiVectorAgreesWithTheReferenceLibrary() (gas: 982383)\n[PASS] test_referenceLibraryReproducesTheProtocolVector() (gas: 37813)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 613.00ms (1.63s CPU time)\n\nRan 59 tests for test/ConditionalsV2.t.sol:ConditionalsV2Test\n[PASS] testFuzz_audit_exitAnyCompleteSet(uint96,uint96,uint96,uint8) (runs: 512, μ: 3946671, ~: 3812350)\nLogs:\n  Bound result 99500000000000001178\n  Bound result 21506\n  Bound result 298499000000000007845\n\n[PASS] testFuzz_exitNeverProfits(uint96,uint96,uint8,uint8) (runs: 512, μ: 1469492, ~: 1462308)\nLogs:\n  Bound result 99500000000000001178\n  Bound result 994999000000000033287\n\n[PASS] testFuzz_pricesSumToOne(int64[4],uint96) (runs: 512, μ: 1598613, ~: 1598651)\nLogs:\n  Bound result 94651707865100755889\n  Bound result 18446744073709551615\n  Bound result 1000000000000000\n  Bound result 378605831460403040757\n  Bound result 15446744073709551616\n\n[PASS] testFuzz_review_partialSellKeepsAShareOfTheCost(uint96,uint96,uint96) (runs: 512, μ: 1375566, ~: 1375731)\nLogs:\n  Bound result 17251822925477264108\n  Bound result 8771716252506383187\n  Bound result 1937880529584093\n\n[PASS] testFuzz_review_voidPaysEveryClaimWithinThePool(uint96[6],uint8[6]) (runs: 512, μ: 3073846, ~: 3073395)\nLogs:\n  Bound result 22329696093351271\n  Bound result 100498757323847788734\n  Bound result 108814267270349905059\n  Bound result 149999006091109472280\n  Bound result 149999000271421223159\n  Bound result 75687745510986852191\n\n[PASS] testFuzz_roundTripNeverProfits(uint96,uint96,uint8) (runs: 512, μ: 1228304, ~: 1228397)\nLogs:\n  Bound result 19403822925477203201\n  Bound result 107399176633283845732\n\n[PASS] testFuzz_stakeNeverBreaksSolvency(uint96,uint96,uint8,uint8,uint8) (runs: 512, μ: 3380416, ~: 3402860)\nLogs:\n  Bound result 99500000000000007214\n  Bound result 1492499000000000113567\n\n[PASS] test_audit_askNeverPaysAboveMaxPrice() (gas: 2413661)\n[PASS] test_audit_askPaysALivePriceAboveTheSnapshot() (gas: 3366684)\n[PASS] test_audit_exitRedeemsSetsBoughtFromTheMaker() (gas: 2904599)\n[PASS] test_audit_exitSellsWhatFitsTheSpread() (gas: 2284534)\n[PASS] test_audit_sellCannotPriceAWorldAtZero() (gas: 5950935)\n[PASS] test_buySell_roundTripLoses() (gas: 1181991)\n[PASS] test_buySell_slippage() (gas: 1065259)\n[PASS] test_claim_settlesAndOnlyOnce() (gas: 3144495)\n[PASS] test_closedMarketRefusesTrades() (gas: 1221917)\n[PASS] test_create_boundsB() (gas: 449621)\n[PASS] test_create_takesBudgetAndSeed() (gas: 757616)\n[PASS] test_creatorLossIsBoundedByTheSeed() (gas: 3114777)\n[PASS] test_exit_closesThePositionAtQuote() (gas: 1499878)\n[PASS] test_exit_largeStakeOnThinMarketAbsorbsSets() (gas: 1500069)\n[PASS] test_exit_slippage() (gas: 1266213)\n[PASS] test_fees_blockedRecipientsDoNotBlockTrades() (gas: 1183944)\n[PASS] test_fees_splitAndAccrue() (gas: 1011781)\n[PASS] test_oracle_badSignatureIsRefused() (gas: 2533054)\n[PASS] test_oracle_budgetSpentThenReturned() (gas: 2753024)\n[PASS] test_oracle_callbackFitsTheIntakeGasLimit() (gas: 2870007)\n[PASS] test_oracle_failureAllowsAPaidRetry() (gas: 3151635)\n[PASS] test_oracle_wrongQuestionHashIsRefused() (gas: 2390158)\n[PASS] test_owner_cannotChangeAnOpenMarket() (gas: 941122)\n[PASS] test_priceLimitRefusesASaturatedMarket() (gas: 1307625)\n[PASS] test_review_askDrawsTheBudgetDownThenChargesTheCaller() (gas: 2428580)\n[PASS] test_review_buyAboveInt256MaxReverts() (gas: 1048942)\n[PASS] test_review_claimableCountsASettleableMarket() (gas: 3245600)\n[PASS] test_review_claimableIsZeroWhileAnAnswerIsMissing() (gas: 2883568)\n[PASS] test_review_exitReleasesTheSetsCost() (gas: 1566510)\n[PASS] test_review_retryIsPaidFromTheBudgetWhileItLasts() (gas: 3327558)\n[PASS] test_review_shortVoidNeverPaysAboveCost() (gas: 2561089)\n[PASS] test_review_smallStakeOnASaturatedMarket() (gas: 2189567)\n[PASS] test_review_stakeCostFollowsPrices() (gas: 2122853)\n[PASS] test_review_voidDoesNotRefundRealisedLosses() (gas: 7873477)\n[PASS] test_review_voidRefundsTheCostOfSharesStillHeld() (gas: 1689404)\n[PASS] test_review_voidShortfallFallsOnUnbackedCost() (gas: 2694522)\n[PASS] test_seedFor_isbln4() (gas: 26131)\n[PASS] test_settle_allFourOutcomes() (gas: 14016544)\n[PASS] test_settle_creatorGetsResidualAndBudget() (gas: 2814904)\n[PASS] test_stakeFor_creditsTheAccountAndChargesTheCaller() (gas: 1187246)\n[PASS] test_stake_losingSideLosesTheStake() (gas: 3102132)\n[PASS] test_stake_matchesTheDesignExample() (gas: 1355027)\n[PASS] test_stake_otherWorldRefundsTheStake() (gas: 3132217)\n[PASS] test_stake_slippageAndBounds() (gas: 814496)\n[PASS] test_stake_winningWorldPays() (gas: 3131420)\n[PASS] test_sweep_blockedCreatorIsOwed() (gas: 2351000)\n[PASS] test_sweep_onlyAfterAShortVoid() (gas: 1371520)\n[PASS] test_sweep_paysTheCreatorWhatTheCappedRefundsLeave() (gas: 3064481)\n[PASS] test_sweep_unclaimedRefundsLapse() (gas: 2784998)\n[PASS] test_void_paysTheCreatorLastAndProRataWhenShort() (gas: 1709471)\n[PASS] test_void_refundsCostLessFees() (gas: 1788923)\n[PASS] test_void_waitsForALiveAsk() (gas: 2271265)\nSuite result: ok. 59 passed; 0 failed; 0 skipped; finished in 613.22ms (4.08s CPU time)\n\nRan 13 tests for test/ConditionalsV2Fork.t.sol:ConditionalsV2ForkTest\n[PASS] test_fork_answersOnlyFromTheIntake() (gas: 1628257)\n[PASS] test_fork_askBeforeResolveTimeReverts() (gas: 41908)\n[PASS] test_fork_callbackOnlyFromTheManager() (gas: 33177)\n[PASS] test_fork_launchArgumentsAndDependencies() (gas: 71158)\n[PASS] test_fork_liveImdBurnAndRoundTripAccounting() (gas: 875867)\n[PASS] test_fork_realIntakeAcceptsTheAsks() (gas: 716446)\n[PASS] test_fork_usdgSlippageRollsBackBothPoolsAndFiniteAllowance() (gas: 2770727)\n[PASS] test_fork_zapHonoursMinImd() (gas: 584241)\n[PASS] test_fork_zapHonoursMinShares() (gas: 673155)\n[PASS] test_fork_zapRefusesAClosedMarketAndKeepsNothing() (gas: 179075)\n[PASS] test_fork_zapRefusesZeroAmounts() (gas: 59647)\n[PASS] test_fork_zapStakesWithEth() (gas: 599667)\nLogs:\n  imd for 0.0005 eth: 309450445948403366\n\n[PASS] test_fork_zapStakesWithUsdg() (gas: 953183)\nLogs:\n  imd for 5 usdg: 1374876114243803588\n\nSuite result: ok. 13 passed; 0 failed; 0 skipped; finished in 1.96s (4.75s CPU time)\n\nRan 4 tests for test/OracleConformance.t.sol:OracleConformanceTest\n[PASS] test_acceptsAFreshSignatureFromTheVectorKeyAsDelivered() (gas: 2515609)\n[PASS] test_callbackSelectorIsCanonical() (gas: 708)\n[PASS] test_digestMatchesTheProtocol() (gas: 9988)\n[PASS] test_protocolSignatureVerifiesAgainstTheContractsDigest() (gas: 20137)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 3.25s (2.46ms CPU time)\n\nRan 14 tests for test/ConditionalsZap.t.sol:ConditionalsZapTest\n[PASS] testFuzz_ethZapLeavesNothingBehind(uint96,uint8,uint8) (runs: 256, μ: 778232, ~: 778215)\nLogs:\n  Bound result 64194855079491019\n\n[PASS] testFuzz_usdgExactInputTwoHopAccounting(uint96,uint8,uint8) (runs: 1000, μ: 1182121, ~: 1182016)\nLogs:\n  Bound result 99000029\n\n[PASS] test_constructorRefusesZeroAddresses() (gas: 11195)\n[PASS] test_eth_stakesForTheCallerThroughTheEthImdPool() (gas: 846080)\n[PASS] test_marketRefusalRevertsTheWholeZap() (gas: 795794)\n[PASS] test_outputTokenRefusalRollsBackBothPaymentRoutes() (gas: 1721124)\n[PASS] test_partialFillReverts() (gas: 700196)\n[PASS] test_slippageBoundsRevert() (gas: 805351)\n[PASS] test_tinySwapBelowMinTradeReverts() (gas: 404544)\n[PASS] test_usdgBothSlippageBoundsAndInvalidChoiceRollBackTwoHops() (gas: 2991819)\n[PASS] test_usdgSecondLegPartialFillRestoresFirstSwapAndPayment() (gas: 2127311)\n[PASS] test_usdgSettlementFailureReturnsTheInputAndAllowance() (gas: 995308)\n[PASS] test_usdg_stakesForTheCaller() (gas: 1052123)\n[PASS] test_zeroAmountsAndCallerChecks() (gas: 117686)\nSuite result: ok. 14 passed; 0 failed; 0 skipped; finished in 3.25s (3.86s CPU time)\n\nRan 36 tests for test/ConditionalsV2FailurePaths.t.sol:ConditionalsV2FailurePathsTest\n[PASS] testFuzz_buy_neverCreditsMoreThanItChargesFor(uint256,uint8) (runs: 1000, μ: 752515, ~: 711278)\nLogs:\n  Bound result 5688083493735311618974278525210932321288951953968089\n\n[PASS] test_buy_hugeSizesInsideInt256AreRefused() (gas: 773000)\n[PASS] test_claim_blockedAccountRevertsAndKeepsItsClaim() (gas: 3320678)\n[PASS] test_claim_loserGetsNothingAndWinnerOnce() (gas: 3607261)\n[PASS] test_claim_openMarketAndUnknownMarketAreRefused() (gas: 1153649)\n[PASS] test_claim_voidRefundIsPaidOnce() (gas: 1458587)\n[PASS] test_constructor_refusesZeroAddresses() (gas: 13075)\n[PASS] test_create_refusesBadText() (gas: 2322157)\n[PASS] test_create_refusesBadTimes() (gas: 1441659)\n[PASS] test_create_withoutFundsReverts() (gas: 587677)\n[PASS] test_oracle_answerIsConsumedOnce() (gas: 2466576)\n[PASS] test_oracle_boundaryValuesAreAccepted() (gas: 2479494)\n[PASS] test_oracle_eachTamperedFieldIsRefused() (gas: 3937712)\n[PASS] test_oracle_erc1271SignerRegistry() (gas: 3078338)\n[PASS] test_oracle_failureOnlyClearsTheAsk() (gas: 3073310)\n[PASS] test_oracle_retryBeforeDelayIsRefusedAndLateAnswerIgnored() (gas: 4873863)\n[PASS] test_oracle_wrongSenderAndUnknownIdAreRefused() (gas: 3358150)\n[PASS] test_owner_configDelayAndWindow() (gas: 401499)\n[PASS] test_owner_invalidConfigsRefused() (gas: 271405)\n[PASS] test_owner_newConfigAppliesOnlyToNewMarkets() (gas: 2869427)\n[PASS] test_owner_onlyOwnerConfigures() (gas: 122885)\n[PASS] test_owner_twoStepTransfer() (gas: 139504)\n[PASS] test_request_boundsAndUnknownMarkets() (gas: 757586)\n[PASS] test_request_retryCallerWithoutFundsReverts() (gas: 2367566)\n[PASS] test_sell_moreThanHeldReverts() (gas: 1049544)\n[PASS] test_settle_blockedCreatorIsCreditedNotBlocking() (gas: 3261191)\n[PASS] test_settle_needsBothAnswers() (gas: 3142308)\n[PASS] test_settledMarketCannotBeVoidedOrTraded() (gas: 3287752)\n[PASS] test_stake_tooLargeForTheMakerReverts() (gas: 705463)\n[PASS] test_trade_invalidChoicesAndSizes() (gas: 1025229)\n[PASS] test_trade_withoutApprovalOrBalanceReverts() (gas: 1103817)\n[PASS] test_void_beforeDeadlineRefused() (gas: 696659)\n[PASS] test_void_isFinal() (gas: 2161248)\n[PASS] test_void_nobodyTradedReturnsEverythingToTheCreator() (gas: 778378)\n[PASS] test_void_shortPoolIsSharedWithinItself() (gas: 3098168)\nLogs:\n  left in the pool after every claim: 22420097455077652127\n\n[PASS] test_withdrawOwed_paysOnceAndRefusesNothing() (gas: 1236024)\nSuite result: ok. 36 passed; 0 failed; 0 skipped; finished in 4.40s (344.30ms CPU time)\n\nRan 10 tests for test/ConditionalsV2Lifecycle.t.sol:ConditionalsV2LifecycleInvariantTest\n[PASS] invariant_claimsAreExact() (runs: 128, calls: 8192, reverts: 0)\n\n╭------------------+---------------+-------+---------+----------╮\n| Contract         | Selector      | Calls | Reverts | Discards |\n+===============================================================+\n| LifecycleHandler | advance       | 601   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | buy           | 640   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | claim         | 641   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | exit          | 602   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastSweep | 609   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastVoid  | 645   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | resolve       | 611   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sell          | 620   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | settle        | 662   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | stake         | 630   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sweep         | 633   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | voidIt        | 694   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | withdraw      | 604   | 0       | 0        |\n╰------------------+---------------+-------+---------+----------╯\n\nLogs:\n  Bound result 44773491322879430915\n  Bound result 1000000000000003\n  Bound result 199999000000000000097\n  Bound result 1386294361119890618\n  Bound result 205424\n  Bound result 68854369596901358714\n  Bound result 99535144442273905360\n  Bound result 199999000000060480001\n  Bound result 86400\n  Bound result 27725887222397812376\n  Bound result 57600\n  Bound result 211200\n  Bound result 199999000000000000501\n  Bound result 199999000000000010237\n  Bound result 199999000000000023337\n  Bound result 93\n  Bound result 109983033520103911575\n  Bound result 1400\n\n[PASS] invariant_creatorLossBounded() (runs: 128, calls: 8192, reverts: 0)\n\n╭------------------+---------------+-------+---------+----------╮\n| Contract         | Selector      | Calls | Reverts | Discards |\n+===============================================================+\n| LifecycleHandler | advance       | 601   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | buy           | 640   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | claim         | 641   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | exit          | 602   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastSweep | 609   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastVoid  | 645   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | resolve       | 611   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sell          | 620   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | settle        | 662   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | stake         | 630   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sweep         | 633   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | voidIt        | 694   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | withdraw      | 604   | 0       | 0        |\n╰------------------+---------------+-------+---------+----------╯\n\nLogs:\n  Bound result 44773491322879430915\n  Bound result 1000000000000003\n  Bound result 199999000000000000097\n  Bound result 1386294361119890618\n  Bound result 205424\n  Bound result 68854369596901358714\n  Bound result 99535144442273905360\n  Bound result 199999000000060480001\n  Bound result 86400\n  Bound result 27725887222397812376\n  Bound result 57600\n  Bound result 211200\n  Bound result 199999000000000000501\n  Bound result 199999000000000010237\n  Bound result 199999000000000023337\n  Bound result 93\n  Bound result 109983033520103911576\n  Bound result 1400\n\n[PASS] invariant_endStateConsistent() (runs: 128, calls: 8192, reverts: 0)\n\n╭------------------+---------------+-------+---------+----------╮\n| Contract         | Selector      | Calls | Reverts | Discards |\n+===============================================================+\n| LifecycleHandler | advance       | 601   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | buy           | 640   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | claim         | 641   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | exit          | 602   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastSweep | 609   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastVoid  | 645   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | resolve       | 611   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sell          | 620   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | settle        | 662   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | stake         | 630   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sweep         | 633   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | voidIt        | 694   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | withdraw      | 604   | 0       | 0        |\n╰------------------+---------------+-------+---------+----------╯\n\nLogs:\n  Bound result 44773491322879430915\n  Bound result 1000000000000003\n  Bound result 199999000000000000097\n  Bound result 1386294361119890618\n  Bound result 205424\n  Bound result 68854369596901358714\n  Bound result 99535144442273905360\n  Bound result 199999000000060480001\n  Bound result 86400\n  Bound result 27725887222397812376\n  Bound result 57600\n  Bound result 211200\n  Bound result 199999000000000000501\n  Bound result 199999000000000010237\n  Bound result 199999000000000023337\n  Bound result 93\n  Bound result 109983033520103911576\n  Bound result 1400\n\n[PASS] invariant_everyClaimIsPayable() (runs: 128, calls: 8192, reverts: 0)\n\n╭------------------+---------------+-------+---------+----------╮\n| Contract         | Selector      | Calls | Reverts | Discards |\n+===============================================================+\n| LifecycleHandler | advance       | 601   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | buy           | 640   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | claim         | 641   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | exit          | 602   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastSweep | 609   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastVoid  | 645   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | resolve       | 611   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sell          | 620   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | settle        | 662   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | stake         | 630   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sweep         | 633   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | voidIt        | 694   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | withdraw      | 604   | 0       | 0        |\n╰------------------+---------------+-------+---------+----------╯\n\nLogs:\n  Bound result 44773491322879430915\n  Bound result 1000000000000003\n  Bound result 199999000000000000097\n  Bound result 1386294361119890618\n  Bound result 205424\n  Bound result 68854369596901358714\n  Bound result 99535144442273905360\n  Bound result 199999000000060480001\n  Bound result 86400\n  Bound result 27725887222397812376\n  Bound result 57600\n  Bound result 211200\n  Bound result 199999000000000000501\n  Bound result 199999000000000010237\n  Bound result 199999000000000023337\n  Bound result 93\n  Bound result 109983033520103911574\n  Bound result 1400\n\n[PASS] invariant_finishedNeverReopens() (runs: 128, calls: 8192, reverts: 0)\n\n╭------------------+---------------+-------+---------+----------╮\n| Contract         | Selector      | Calls | Reverts | Discards |\n+===============================================================+\n| LifecycleHandler | advance       | 601   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | buy           | 640   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | claim         | 641   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | exit          | 602   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastSweep | 609   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastVoid  | 645   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | resolve       | 611   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sell          | 620   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | settle        | 662   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | stake         | 630   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sweep         | 633   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | voidIt        | 694   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | withdraw      | 604   | 0       | 0        |\n╰------------------+---------------+-------+---------+----------╯\n\nLogs:\n  Bound result 44773491322879430915\n  Bound result 1000000000000003\n  Bound result 199999000000000000097\n  Bound result 1386294361119890618\n  Bound result 205424\n  Bound result 68854369596901358714\n  Bound result 99535144442273905360\n  Bound result 199999000000060480001\n  Bound result 86400\n  Bound result 27725887222397812376\n  Bound result 57600\n  Bound result 211200\n  Bound result 199999000000000000501\n  Bound result 199999000000000010237\n  Bound result 199999000000000023337\n  Bound result 93\n  Bound result 109983033520103911575\n  Bound result 1400\n\n[PASS] invariant_holdsEverythingItOwes() (runs: 128, calls: 10240, reverts: 0)\n\n╭------------------+---------------+-------+---------+----------╮\n| Contract         | Selector      | Calls | Reverts | Discards |\n+===============================================================+\n| LifecycleHandler | advance       | 761   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | buy           | 789   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | claim         | 792   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | exit          | 741   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastSweep | 795   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastVoid  | 813   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | resolve       | 763   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sell          | 771   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | settle        | 813   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | stake         | 800   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sweep         | 794   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | voidIt        | 831   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | withdraw      | 777   | 0       | 0        |\n╰------------------+---------------+-------+---------+----------╯\n\nLogs:\n  Bound result 67623\n  Bound result 70313235865842966675\n  Bound result 91027\n  Bound result 17441859315089051916\n  Bound result 149999000000001000001\n  Bound result 86400\n  Bound result 149999000000000013212\n  Bound result 149999000000000003601\n  Bound result 1\n  Bound result 209853\n  Bound result 124287\n  Bound result 23561\n  Bound result 34\n  Bound result 14156\n  Bound result 12\n  Bound result 199999000000000000251\n  Bound result 33330460267268713054\n  Bound result 1200000000000000000\n  Bound result 149999000000000017649\n  Bound result 121316\n  Bound result 97694\n  Bound result 149999000000000006519\n  Bound result 149999000000000000097\n\n[PASS] invariant_refundBooksAgree() (runs: 128, calls: 8192, reverts: 0)\n\n╭------------------+---------------+-------+---------+----------╮\n| Contract         | Selector      | Calls | Reverts | Discards |\n+===============================================================+\n| LifecycleHandler | advance       | 601   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | buy           | 640   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | claim         | 641   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | exit          | 602   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastSweep | 609   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastVoid  | 645   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | resolve       | 611   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sell          | 620   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | settle        | 662   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | stake         | 630   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sweep         | 633   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | voidIt        | 694   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | withdraw      | 604   | 0       | 0        |\n╰------------------+---------------+-------+---------+----------╯\n\nLogs:\n  Bound result 44773491322879430915\n  Bound result 1000000000000003\n  Bound result 199999000000000000097\n  Bound result 1386294361119890618\n  Bound result 205424\n  Bound result 68854369596901358714\n  Bound result 99535144442273905360\n  Bound result 199999000000060480001\n  Bound result 86400\n  Bound result 27725887222397812376\n  Bound result 57600\n  Bound result 211200\n  Bound result 199999000000000000501\n  Bound result 199999000000000010237\n  Bound result 199999000000000023337\n  Bound result 93\n  Bound result 109983033520103911574\n  Bound result 1400\n\n[PASS] invariant_sweepIsExact() (runs: 128, calls: 8192, reverts: 0)\n\n╭------------------+---------------+-------+---------+----------╮\n| Contract         | Selector      | Calls | Reverts | Discards |\n+===============================================================+\n| LifecycleHandler | advance       | 601   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | buy           | 640   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | claim         | 641   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | exit          | 602   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastSweep | 609   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastVoid  | 645   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | resolve       | 611   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sell          | 620   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | settle        | 662   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | stake         | 630   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sweep         | 633   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | voidIt        | 694   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | withdraw      | 604   | 0       | 0        |\n╰------------------+---------------+-------+---------+----------╯\n\nLogs:\n  Bound result 44773491322879430915\n  Bound result 1000000000000003\n  Bound result 199999000000000000097\n  Bound result 1386294361119890618\n  Bound result 205424\n  Bound result 68854369596901358714\n  Bound result 99535144442273905360\n  Bound result 199999000000060480001\n  Bound result 86400\n  Bound result 27725887222397812376\n  Bound result 57600\n  Bound result 211200\n  Bound result 199999000000000000501\n  Bound result 199999000000000010237\n  Bound result 199999000000000023337\n  Bound result 93\n  Bound result 109983033520103911574\n  Bound result 1400\n\n[PASS] test_handlerReachesSettlementVoidAndClaims() (gas: 6672190)\nLogs:\n  Bound result 5000000000000000000\n  Bound result 3000000000000000000\n  Bound result 7000000000000000000\n\n[PASS] test_handlerSweepsAShortVoid() (gas: 4649549)\nLogs:\n  Bound result 100000000000000000000\n  Bound result 150000000000000000000\n  Bound result 49999000000000000000\n  Bound result 150000000000000000000\n  Bound result 49999000000000000000\n  Bound result 150000000000000000000\n  Bound result 49999000000000000000\n  Bound result 150000000000000000000\n  Bound result 49999000000000000000\n  Bound result 192500000000000000000\n\nSuite result: ok. 10 passed; 0 failed; 0 skipped; finished in 4.40s (21.13s CPU time)\n\nRan 1 test for test/ConditionalsV2Invariant.t.sol:ConditionalsV2InvariantTest\n[PASS]\nConditionalsV2InvariantTest invariants:\n[PASS] invariant_balanceCoversEverything\n[PASS] invariant_everyOutcomeIsPayable\n[PASS] invariant_makerSolvent\n[PASS] invariant_pricesSumToOne\n[PASS] invariant_refundBaseMatchesPositiveNets\n[PASS] invariant_sharesMatchTheBook\n[PASS] invariant_spreadBounded\n ConditionalsV2InvariantTest invariants (runs: 128, calls: 8192, reverts: 0)\n\n╭----------+----------+-------+---------+----------╮\n| Contract | Selector | Calls | Reverts | Discards |\n+==================================================+\n| Handler  | buy      | 2071  | 0       | 0        |\n|----------+----------+-------+---------+----------|\n| Handler  | exit     | 2038  | 0       | 0        |\n|----------+----------+-------+---------+----------|\n| Handler  | sell     | 2032  | 0       | 0        |\n|----------+----------+-------+---------+----------|\n| Handler  | stake    | 2051  | 0       | 0        |\n╰----------+----------+-------+---------+----------╯\n\nLogs:\n  Bound result 199999000000000000509\n  Bound result 199999000000038709267\n  Bound result 9007199254740991\n  Bound result 199999000000000000103\n  Bound result 199999000000000000514\n  Bound result 108301931394338335134\n  Bound result 299999000000000008670\n  Bound result 100003999999999999996\n  Bound result 205069066516884773881\n  Bound result 199999000000000000043\n  Bound result 199999000004295128741\n  Bound result 57884568934182439085\n  Bound result 299999000000000000100\n  Bound result 600000000000000000\n  Bound result 1000000000000003\n  Bound result 1000000000000000\n  Bound result 199999000000000002855\n  Bound result 299999000000000000009\n  Bound result 1500000000000000000\n  Bound result 2592064469306854094\n  Bound result 1000000000000001\n  Bound result 199999000000000015946\n  Bound result 299999000000000017063\n  Bound result 299999010000000000001\n  Bound result 1500000000000000826\n  Bound result 299999000000000000255\n  Bound result 1000000000000002\n  Bound result 195872965921220869349\n  Bound result 100005999999999999994\n  Bound result 199999000000000005312\n  Bound result 299999000000000021352\n  Bound result 1000000000000003\n  Bound result 199999000000000000017\n  Bound result 2687530692428656219\n  Bound result 299999000000000000129\n  Bound result 1924119535972058\n  Bound result 100003999999999999996\n  Bound result 69833644872693078925\n  Bound result 299999000000000000933\n  Bound result 299999000001760000201\n  Bound result 238986277180024830784\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 9.65s (9.64s CPU time)\n\nRan 4 tests for test/ConditionalsV2PortfolioInvariant.t.sol:ConditionalsV2PortfolioInvariantTest\n[PASS] invariant_portfolioConservesAssetsAndFundsTheFullLmsrCost() (runs: 256, calls: 20480, reverts: 0)\n\n╭------------------+------------+-------+---------+----------╮\n| Contract         | Selector   | Calls | Reverts | Discards |\n+============================================================+\n| PortfolioHandler | blockBurn  | 2928  | 0       | 0        |\n|------------------+------------+-------+---------+----------|\n| PortfolioHandler | buy        | 2909  | 0       | 0        |\n|------------------+------------+-------+---------+----------|\n| PortfolioHandler | exit       | 2897  | 0       | 0        |\n|------------------+------------+-------+---------+----------|\n| PortfolioHandler | rotateFees | 2945  | 0       | 0        |\n|------------------+------------+-------+---------+----------|\n| PortfolioHandler | sell       | 2922  | 0       | 0        |\n|------------------+------------+-------+---------+----------|\n| PortfolioHandler | stake      | 2960  | 0       | 0        |\n|------------------+------------+-------+---------+----------|\n| PortfolioHandler | withdraw   | 2919  | 0       | 0        |\n╰------------------+------------+-------+---------+----------╯\n\nLogs:\n  Bound result 50000000000000000\n  Bound result 2000000000000000000\n  Bound result 10000000000000000000\n  Bound result 16997827021259125610\n  Bound result 59999000000000001082\n  Bound result 399999000000000000265\n  Bound result 59999000000000004758\n  Bound result 502999999999999997\n  Bound result 299999000001760000201\n  Bound result 183306880611365508128\n  Bound result 1499000000000023041\n  Bound result 1499000003261820945\n  Bound result 63334074928779254825\n  Bound result 1999000000000003931\n  Bound result 59999000000000000254\n  Bound result 18364298390076006128\n  Bound result 299999000000000020488\n  Bound result 59999000000000003179\n  Bound result 170000000000000000\n  Bound result 299999000000000004692\n  Bound result 79999000000000013221\n  Bound result 25468126167783171501\n  Bound result 3747994433091015049\n  Bound result 40000999999999999998\n  Bound result 1999000003331093667\n  Bound result 9195525976334923985\n  Bound result 399999000000000000257\n  Bound result 1999000001510864671\n  Bound result 79999000000000227917\n  Bound result 497666443439189306\n  Bound result 772599670953912507\n  Bound result 694208884588832712\n  Bound result 1999000000000000068\n  Bound result 79999000000140529423\n  Bound result 2092724862338139622\n  Bound result 299999000000000864001\n\n[PASS] test_handlerExercisesAllTradeAndFeePaths() (gas: 6358681)\nLogs:\n  Bound result 50000000000000000\n  Bound result 2000000000000000000\n  Bound result 10000000000000000000\n  Bound result 100000000000000000\n  Bound result 50000000000000000\n  Bound result 2000000000000000000\n\n[PASS] test_referenceNeutralAndTranslationVectors() (gas: 65324)\nLogs:\n  Bound result 50000000000000000\n  Bound result 2000000000000000000\n  Bound result 10000000000000000000\n\n[PASS] test_referenceSaturatedFractionalAndSubWeiVectors() (gas: 558368)\nLogs:\n  Bound result 50000000000000000\n  Bound result 2000000000000000000\n  Bound result 10000000000000000000\n\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 28.41s (28.42s CPU time)\n\nRan 11 test suites in 28.42s (57.67s CPU time): 161 tests passed, 0 failed, 0 skipped (161 total tests)\n","passed":true},{"durationMs":106,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"ConditionalsV2.acceptOwnership()\",\"ConditionalsV2.activateOracleConfig()\",\"ConditionalsV2.buy(uint256,uint8,uint256,uint256)\",\"ConditionalsV2.claim(uint256)\",\"ConditionalsV2.createMarket(string,string,string,uint64,uint64,uint256,uint256)\",\"ConditionalsV2.exit(uint256,uint256)\",\"ConditionalsV2.onFailure(bytes32,uint8,bytes32,uint16,uint16,bytes)\",\"ConditionalsV2.onOracleResult(bytes32,(bytes32,uint256,bytes32,uint8,bytes,uint256,uint64,uint64,bytes32,bytes32,uint16,uint16,uint16,uint64,uint64),bytes)\",\"ConditionalsV2.proposeOracleConfig((address,address,uint128,uint16,uint16,bytes32))\",\"ConditionalsV2.renounceOwnership()\",\"ConditionalsV2.requestResolution(uint256)\",\"ConditionalsV2.sell(uint256,uint8,uint256,uint256)\",\"ConditionalsV2.setFeeRecipient(address)\",\"ConditionalsV2.settle(uint256)\",\"ConditionalsV2.stakeConditional(uint256,uint8,uint8,uint256,uint256)\",\"ConditionalsV2.stakeFor(address,uint256,uint8,uint8,uint256,uint256)\",\"ConditionalsV2.sweepVoid(uint256)\",\"ConditionalsV2.transferOwnership(address)\",\"ConditionalsV2.voidMarket(uint256)\",\"ConditionalsV2.withdrawOwed()\",\"ConditionalsZap.stakeWithEth(uint256,uint8,uint8,uint256,uint256)\",\"ConditionalsZap.stakeWithUsdg(uint256,uint8,uint8,uint256,uint256,uint256)\",\"ConditionalsZap.unlockCallback(bytes)\"],\"files\":{\".gitignore\":9,\".gitmodules\":9,\"ADAPTATION.md\":368,\"HANDOFF.md\":252,\"PROGRESS.md\":269,\"README.md\":149,\"foundry.lock\":20,\"foundry.toml\":32,\"frontend/.gitignore\":42,\"frontend/eslint.config.mjs\":18,\"frontend/next.config.ts\":14,\"frontend/package.json\":32,\"frontend/pnpm-lock.yaml\":4541,\"frontend/pnpm-workspace.yaml\":3,\"frontend/public/docs/conditionals-v2-liquidity.pdf\":159,\"frontend/scripts/gen-abi.mjs\":16,\"frontend/src/app/api/check/route.ts\":37,\"frontend/src/app/docs/page.tsx\":321,\"frontend/src/app/globals.css\":315,\"frontend/src/app/icon.svg\":1,\"frontend/src/app/layout.tsx\":40,\"frontend/src/app/page.tsx\":70,\"frontend/src/components/CreateModal.tsx\":373,\"frontend/src/components/Featured.tsx\":92,\"frontend/src/components/ForkCanvas.tsx\":234,\"frontend/src/components/Glyphs.tsx\":118,\"frontend/src/components/Header.tsx\":79,\"frontend/src/components/Hero.tsx\":90,\"frontend/src/components/MarketCard.tsx\":85,\"frontend/src/components/MarketDrawer.tsx\":500,\"frontend/src/components/Markets.tsx\":88,\"frontend/src/components/Providers.tsx\":45,\"frontend/src/components/Sections.tsx\":170,\"frontend/src/components/Stats.tsx\":52,\"frontend/src/hooks/useDemoMarkets.ts\":184,\"frontend/src/hooks/useLiveMarkets.ts\":367,\"frontend/src/hooks/useNow.ts\":15,\"frontend/src/lib/abi.ts\":2498,\"frontend/src/lib/config.ts\":59,\"frontend/src/lib/demo.ts\":117,\"frontend/src/lib/format.ts\":46,\"frontend/src/lib/lmsr.ts\":59,\"frontend/src/lib/market.ts\":103,\"frontend/src/lib/types.ts\":97,\"frontend/tsconfig.json\":34,\"launch/2278-manifest.json\":16,\"launch/2765-manifest.json\":25,\"launch/buy-imd.sh\":27,\"launch/launch.template.json\":27,\"launch/pay.sh\":52,\"legacy/v1/Conditionals.sol\":821,\"legacy/v1/test/Conditionals.t.sol\":1172,\"legacy/v1/test/ConditionalsAdversarial.t.sol\":620,\"legacy/v1/test/ConditionalsFork.t.sol\":50,\"legacy/v1/test/ConditionalsInvariant.t.sol\":200,\"legacy/v1/test/ConditionalsLifecycleInvariant.t.sol\":365,\"legacy/v1/test/Fixture.sol\":187,\"src/ConditionalsV2.sol\":1231,\"src/ConditionalsZap.sol\":138,\"src/interfaces/IIntake.sol\":26,\"src/interfaces/IOracleAttestation.sol\":24,\"src/interfaces/IPoolManager.sol\":34,\"test/ADDED_COVERAGE.md\":65,\"test/ConditionalsV2.t.sol\":1093,\"test/ConditionalsV2Atomicity.t.sol\":260,\"test/ConditionalsV2FailurePaths.t.sol\":748,\"test/ConditionalsV2Fork.t.sol\":320,\"test/ConditionalsV2Invariant.t.sol\":157,\"test/ConditionalsV2Launch.t.sol\":146,\"test/ConditionalsV2Lifecycle.t.sol\":486,\"test/ConditionalsV2PortfolioInvariant.t.sol\":366,\"test/ConditionalsV2Question.t.sol\":191,\"test/ConditionalsZap.t.sol\":411,\"test/OracleConformance.t.sol\":146,\"test/utils/Fixture.sol\":189,\"test/utils/LmsrReference.sol\":45,\"test/utils/Mocks.sol\":141,\"test/utils/OracleQuestion.sol\":265},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"ae0b079c63b07182389f8e4713edbb36c84a6632bfa12a23c61c9ef25a8764f9","verifiedTreeHash":"bcb8359b5c3c342393fcd23ce545df3f2d6f5835","verifierVersion":"0.1.0+a6eb4461"},{"checks":[{"durationMs":61508,"exitCode":0,"name":"build","output":"Compiling 65 files with Solc 0.8.26\nSolc 0.8.26 finished in 61.34s\nCompiler run successful!\n","passed":true},{"durationMs":8361,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 1 test for test/ConditionalsV2Fork.t.sol:ConditionalsV2ForkTest\n[SKIP: skipped] setUp() (gas: 0)\nSuite result: ok. 0 passed; 0 failed; 1 skipped; finished in 22.50ms (0.00ns CPU time)\n\nRan 9 tests for test/ConditionalsZap.t.sol:ConditionalsZapTest\n[PASS] testFuzz_ethZapLeavesNothingBehind(uint96,uint8,uint8) (runs: 256, μ: 619278, ~: 619209)\nLogs:\n  Bound result 199990000000004587\n\n[PASS] test_constructorRefusesZeroAddresses() (gas: 10962)\n[PASS] test_eth_stakesForTheCallerThroughTheEthImdPool() (gas: 687246)\n[PASS] test_marketRefusalRevertsTheWholeZap() (gas: 478729)\n[PASS] test_partialFillReverts() (gas: 407320)\n[PASS] test_slippageBoundsRevert() (gas: 488286)\n[PASS] test_tinySwapBelowMinTradeReverts() (gas: 245951)\n[PASS] test_usdg_stakesForTheCaller() (gas: 822711)\n[PASS] test_zeroAmountsAndCallerChecks() (gas: 117404)\nSuite result: ok. 9 passed; 0 failed; 0 skipped; finished in 239.19ms (217.72ms CPU time)\n\nRan 5 tests for test/ConditionalsV2Launch.t.sol:ConditionalsV2LaunchTest\n[PASS] test_launch_callbackSelectorsAreTheProtocolOnes() (gas: 448)\n[PASS] test_launch_constructorsConfigureEverything() (gas: 71855)\n[PASS] test_launch_constructorsRefuseZeroAddresses() (gas: 4577)\n[PASS] test_launch_runtimesFitAndHaveNoEscapeOpcodes() (gas: 12153897)\n[PASS] test_launch_zapHasNoOwnerAndHoldsNothing() (gas: 54403)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 3.86s (47.22ms CPU time)\n\nRan 4 tests for test/OracleConformance.t.sol:OracleConformanceTest\n[PASS] test_acceptsAFreshSignatureFromTheVectorKeyAsDelivered() (gas: 2515609)\n[PASS] test_callbackSelectorIsCanonical() (gas: 708)\n[PASS] test_digestMatchesTheProtocol() (gas: 9988)\n[PASS] test_protocolSignatureVerifiesAgainstTheContractsDigest() (gas: 20137)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 3.86s (23.60ms CPU time)\n\nRan 6 tests for test/ConditionalsV2Question.t.sol:ConditionalsQuestionTest\n[PASS] testFuzz_acceptedTextNeedsNoEscaping(bytes) (runs: 1000, μ: 84035, ~: 59417)\n[PASS] testFuzz_askPinsTheDocumentOfTheWindowItAsked(uint32) (runs: 256, μ: 2763691, ~: 2760730)\nLogs:\n  Bound result 1800000000\n\n[PASS] testFuzz_bodyCarriesTheDocumentAndThePanelTerms(bytes,uint32) (runs: 256, μ: 2381208, ~: 2356029)\n[PASS] testFuzz_documentMatchesTheReferenceLibrary(bytes,bytes,bytes,uint32,uint32) (runs: 512, μ: 1084479, ~: 1078886)\nLogs:\n  Bound result 1\n\n[PASS] test_liveApiVectorAgreesWithTheReferenceLibrary() (gas: 982383)\n[PASS] test_referenceLibraryReproducesTheProtocolVector() (gas: 37813)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 3.86s (9.36s CPU time)\n\nRan 36 tests for test/ConditionalsV2FailurePaths.t.sol:ConditionalsV2FailurePathsTest\n[PASS] testFuzz_buy_neverCreditsMoreThanItChargesFor(uint256,uint8) (runs: 1000, μ: 747614, ~: 711278)\nLogs:\n  Bound result 5688083493735311618974278525210932321288951953968089\n\n[PASS] test_buy_hugeSizesInsideInt256AreRefused() (gas: 773000)\n[PASS] test_claim_blockedAccountRevertsAndKeepsItsClaim() (gas: 3320678)\n[PASS] test_claim_loserGetsNothingAndWinnerOnce() (gas: 3607261)\n[PASS] test_claim_openMarketAndUnknownMarketAreRefused() (gas: 1153649)\n[PASS] test_claim_voidRefundIsPaidOnce() (gas: 1458587)\n[PASS] test_constructor_refusesZeroAddresses() (gas: 13075)\n[PASS] test_create_refusesBadText() (gas: 2322157)\n[PASS] test_create_refusesBadTimes() (gas: 1441659)\n[PASS] test_create_withoutFundsReverts() (gas: 587677)\n[PASS] test_oracle_answerIsConsumedOnce() (gas: 2466576)\n[PASS] test_oracle_boundaryValuesAreAccepted() (gas: 2479494)\n[PASS] test_oracle_eachTamperedFieldIsRefused() (gas: 3937712)\n[PASS] test_oracle_erc1271SignerRegistry() (gas: 3078338)\n[PASS] test_oracle_failureOnlyClearsTheAsk() (gas: 3073310)\n[PASS] test_oracle_retryBeforeDelayIsRefusedAndLateAnswerIgnored() (gas: 4873863)\n[PASS] test_oracle_wrongSenderAndUnknownIdAreRefused() (gas: 3358150)\n[PASS] test_owner_configDelayAndWindow() (gas: 401499)\n[PASS] test_owner_invalidConfigsRefused() (gas: 271405)\n[PASS] test_owner_newConfigAppliesOnlyToNewMarkets() (gas: 2869427)\n[PASS] test_owner_onlyOwnerConfigures() (gas: 122885)\n[PASS] test_owner_twoStepTransfer() (gas: 139504)\n[PASS] test_request_boundsAndUnknownMarkets() (gas: 757586)\n[PASS] test_request_retryCallerWithoutFundsReverts() (gas: 2367566)\n[PASS] test_sell_moreThanHeldReverts() (gas: 1049544)\n[PASS] test_settle_blockedCreatorIsCreditedNotBlocking() (gas: 3261191)\n[PASS] test_settle_needsBothAnswers() (gas: 3142308)\n[PASS] test_settledMarketCannotBeVoidedOrTraded() (gas: 3287752)\n[PASS] test_stake_tooLargeForTheMakerReverts() (gas: 705463)\n[PASS] test_trade_invalidChoicesAndSizes() (gas: 1025229)\n[PASS] test_trade_withoutApprovalOrBalanceReverts() (gas: 1103817)\n[PASS] test_void_beforeDeadlineRefused() (gas: 696659)\n[PASS] test_void_isFinal() (gas: 2161248)\n[PASS] test_void_nobodyTradedReturnsEverythingToTheCreator() (gas: 778378)\n[PASS] test_void_shortPoolIsSharedWithinItself() (gas: 3098168)\nLogs:\n  left in the pool after every claim: 22420097455077652127\n\n[PASS] test_withdrawOwed_paysOnceAndRefusesNothing() (gas: 1236024)\nSuite result: ok. 36 passed; 0 failed; 0 skipped; finished in 3.86s (1.50s CPU time)\n\nRan 10 tests for test/ConditionalsV2Lifecycle.t.sol:ConditionalsV2LifecycleInvariantTest\n[PASS] invariant_claimsAreExact() (runs: 128, calls: 8192, reverts: 0)\n\n╭------------------+---------------+-------+---------+----------╮\n| Contract         | Selector      | Calls | Reverts | Discards |\n+===============================================================+\n| LifecycleHandler | advance       | 601   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | buy           | 640   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | claim         | 641   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | exit          | 602   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastSweep | 609   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastVoid  | 645   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | resolve       | 611   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sell          | 620   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | settle        | 662   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | stake         | 630   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sweep         | 633   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | voidIt        | 694   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | withdraw      | 604   | 0       | 0        |\n╰------------------+---------------+-------+---------+----------╯\n\nLogs:\n  Bound result 44773491322879430915\n  Bound result 1000000000000003\n  Bound result 199999000000095000001\n  Bound result 199999000000000000255\n  Bound result 205424\n  Bound result 68854369596901358714\n  Bound result 99535144442273905360\n  Bound result 199999000000000000513\n  Bound result 244\n  Bound result 100005999999999999994\n  Bound result 86400\n  Bound result 176000\n  Bound result 199999000000000000281\n  Bound result 199999000000000010239\n  Bound result 199999000000000023332\n  Bound result 3200\n  Bound result 109983033520103911573\n  Bound result 1400\n\n[PASS] invariant_creatorLossBounded() (runs: 128, calls: 8192, reverts: 0)\n\n╭------------------+---------------+-------+---------+----------╮\n| Contract         | Selector      | Calls | Reverts | Discards |\n+===============================================================+\n| LifecycleHandler | advance       | 601   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | buy           | 640   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | claim         | 641   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | exit          | 602   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastSweep | 609   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastVoid  | 645   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | resolve       | 611   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sell          | 620   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | settle        | 662   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | stake         | 630   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sweep         | 633   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | voidIt        | 694   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | withdraw      | 604   | 0       | 0        |\n╰------------------+---------------+-------+---------+----------╯\n\nLogs:\n  Bound result 44773491322879430915\n  Bound result 1000000000000003\n  Bound result 199999000000095000001\n  Bound result 199999000000000000255\n  Bound result 205424\n  Bound result 68854369596901358714\n  Bound result 99535144442273905360\n  Bound result 199999000000000000513\n  Bound result 244\n  Bound result 100005999999999999994\n  Bound result 86400\n  Bound result 176000\n  Bound result 199999000000000000281\n  Bound result 199999000000000010239\n  Bound result 199999000000000023332\n  Bound result 3200\n  Bound result 109983033520103911576\n  Bound result 1400\n\n[PASS] invariant_endStateConsistent() (runs: 128, calls: 8192, reverts: 0)\n\n╭------------------+---------------+-------+---------+----------╮\n| Contract         | Selector      | Calls | Reverts | Discards |\n+===============================================================+\n| LifecycleHandler | advance       | 601   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | buy           | 640   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | claim         | 641   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | exit          | 602   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastSweep | 609   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastVoid  | 645   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | resolve       | 611   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sell          | 620   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | settle        | 662   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | stake         | 630   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sweep         | 633   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | voidIt        | 694   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | withdraw      | 604   | 0       | 0        |\n╰------------------+---------------+-------+---------+----------╯\n\nLogs:\n  Bound result 44773491322879430915\n  Bound result 1000000000000003\n  Bound result 199999000000095000001\n  Bound result 199999000000000000255\n  Bound result 205424\n  Bound result 68854369596901358714\n  Bound result 99535144442273905360\n  Bound result 199999000000000000513\n  Bound result 244\n  Bound result 100005999999999999994\n  Bound result 86400\n  Bound result 176000\n  Bound result 199999000000000000281\n  Bound result 199999000000000010239\n  Bound result 199999000000000023332\n  Bound result 3200\n  Bound result 109983033520103911573\n  Bound result 1400\n\n[PASS] invariant_everyClaimIsPayable() (runs: 128, calls: 8192, reverts: 0)\n\n╭------------------+---------------+-------+---------+----------╮\n| Contract         | Selector      | Calls | Reverts | Discards |\n+===============================================================+\n| LifecycleHandler | advance       | 601   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | buy           | 640   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | claim         | 641   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | exit          | 602   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastSweep | 609   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastVoid  | 645   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | resolve       | 611   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sell          | 620   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | settle        | 662   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | stake         | 630   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sweep         | 633   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | voidIt        | 694   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | withdraw      | 604   | 0       | 0        |\n╰------------------+---------------+-------+---------+----------╯\n\nLogs:\n  Bound result 44773491322879430915\n  Bound result 1000000000000003\n  Bound result 199999000000095000001\n  Bound result 199999000000000000255\n  Bound result 205424\n  Bound result 68854369596901358714\n  Bound result 99535144442273905360\n  Bound result 199999000000000000513\n  Bound result 244\n  Bound result 100005999999999999994\n  Bound result 86400\n  Bound result 176000\n  Bound result 199999000000000000281\n  Bound result 199999000000000010239\n  Bound result 199999000000000023332\n  Bound result 3200\n  Bound result 109983033520103911573\n  Bound result 1400\n\n[PASS] invariant_finishedNeverReopens() (runs: 128, calls: 8192, reverts: 0)\n\n╭------------------+---------------+-------+---------+----------╮\n| Contract         | Selector      | Calls | Reverts | Discards |\n+===============================================================+\n| LifecycleHandler | advance       | 601   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | buy           | 640   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | claim         | 641   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | exit          | 602   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastSweep | 609   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastVoid  | 645   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | resolve       | 611   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sell          | 620   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | settle        | 662   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | stake         | 630   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sweep         | 633   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | voidIt        | 694   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | withdraw      | 604   | 0       | 0        |\n╰------------------+---------------+-------+---------+----------╯\n\nLogs:\n  Bound result 44773491322879430915\n  Bound result 1000000000000003\n  Bound result 199999000000095000001\n  Bound result 199999000000000000255\n  Bound result 205424\n  Bound result 68854369596901358714\n  Bound result 99535144442273905360\n  Bound result 199999000000000000513\n  Bound result 244\n  Bound result 100005999999999999994\n  Bound result 86400\n  Bound result 176000\n  Bound result 199999000000000000281\n  Bound result 199999000000000010239\n  Bound result 199999000000000023332\n  Bound result 3200\n  Bound result 109983033520103911576\n  Bound result 1400\n\n[PASS] invariant_holdsEverythingItOwes() (runs: 128, calls: 10240, reverts: 0)\n\n╭------------------+---------------+-------+---------+----------╮\n| Contract         | Selector      | Calls | Reverts | Discards |\n+===============================================================+\n| LifecycleHandler | advance       | 761   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | buy           | 789   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | claim         | 792   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | exit          | 741   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastSweep | 795   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastVoid  | 813   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | resolve       | 763   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sell          | 771   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | settle        | 813   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | stake         | 800   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sweep         | 794   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | voidIt        | 831   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | withdraw      | 777   | 0       | 0        |\n╰------------------+---------------+-------+---------+----------╯\n\nLogs:\n  Bound result 67623\n  Bound result 70313235865842966675\n  Bound result 91027\n  Bound result 17441859315089051916\n  Bound result 10798592108882856919\n  Bound result 244\n  Bound result 149999000000000013212\n  Bound result 149999000000000864001\n  Bound result 1\n  Bound result 148328\n  Bound result 124288\n  Bound result 23562\n  Bound result 16\n  Bound result 14156\n  Bound result 35200\n  Bound result 199999000000000000142\n  Bound result 33330460267268713054\n  Bound result 149999000000000000016\n  Bound result 149999000000000017649\n  Bound result 121316\n  Bound result 97694\n  Bound result 149999000000000006623\n  Bound result 149999000000095000001\n\n[PASS] invariant_refundBooksAgree() (runs: 128, calls: 8192, reverts: 0)\n\n╭------------------+---------------+-------+---------+----------╮\n| Contract         | Selector      | Calls | Reverts | Discards |\n+===============================================================+\n| LifecycleHandler | advance       | 601   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | buy           | 640   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | claim         | 641   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | exit          | 602   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastSweep | 609   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastVoid  | 645   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | resolve       | 611   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sell          | 620   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | settle        | 662   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | stake         | 630   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sweep         | 633   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | voidIt        | 694   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | withdraw      | 604   | 0       | 0        |\n╰------------------+---------------+-------+---------+----------╯\n\nLogs:\n  Bound result 44773491322879430915\n  Bound result 1000000000000003\n  Bound result 199999000000095000001\n  Bound result 199999000000000000255\n  Bound result 205424\n  Bound result 68854369596901358714\n  Bound result 99535144442273905360\n  Bound result 199999000000000000513\n  Bound result 244\n  Bound result 100005999999999999994\n  Bound result 86400\n  Bound result 176000\n  Bound result 199999000000000000281\n  Bound result 199999000000000010239\n  Bound result 199999000000000023332\n  Bound result 3200\n  Bound result 109983033520103911574\n  Bound result 1400\n\n[PASS] invariant_sweepIsExact() (runs: 128, calls: 8192, reverts: 0)\n\n╭------------------+---------------+-------+---------+----------╮\n| Contract         | Selector      | Calls | Reverts | Discards |\n+===============================================================+\n| LifecycleHandler | advance       | 601   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | buy           | 640   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | claim         | 641   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | exit          | 602   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastSweep | 609   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | jumpPastVoid  | 645   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | resolve       | 611   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sell          | 620   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | settle        | 662   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | stake         | 630   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | sweep         | 633   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | voidIt        | 694   | 0       | 0        |\n|------------------+---------------+-------+---------+----------|\n| LifecycleHandler | withdraw      | 604   | 0       | 0        |\n╰------------------+---------------+-------+---------+----------╯\n\nLogs:\n  Bound result 44773491322879430915\n  Bound result 1000000000000003\n  Bound result 199999000000095000001\n  Bound result 199999000000000000255\n  Bound result 205424\n  Bound result 68854369596901358714\n  Bound result 99535144442273905360\n  Bound result 199999000000000000513\n  Bound result 244\n  Bound result 100005999999999999994\n  Bound result 86400\n  Bound result 176000\n  Bound result 199999000000000000281\n  Bound result 199999000000000010239\n  Bound result 199999000000000023332\n  Bound result 3200\n  Bound result 109983033520103911573\n  Bound result 1400\n\n[PASS] test_handlerReachesSettlementVoidAndClaims() (gas: 6672190)\nLogs:\n  Bound result 5000000000000000000\n  Bound result 3000000000000000000\n  Bound result 7000000000000000000\n\n[PASS] test_handlerSweepsAShortVoid() (gas: 4649549)\nLogs:\n  Bound result 100000000000000000000\n  Bound result 150000000000000000000\n  Bound result 49999000000000000000\n  Bound result 150000000000000000000\n  Bound result 49999000000000000000\n  Bound result 150000000000000000000\n  Bound result 49999000000000000000\n  Bound result 150000000000000000000\n  Bound result 49999000000000000000\n  Bound result 192500000000000000000\n\nSuite result: ok. 10 passed; 0 failed; 0 skipped; finished in 3.86s (18.47s CPU time)\n\nRan 59 tests for test/ConditionalsV2.t.sol:ConditionalsV2Test\n[PASS] testFuzz_audit_exitAnyCompleteSet(uint96,uint96,uint96,uint8) (runs: 512, μ: 3906825, ~: 3779307)\nLogs:\n  Bound result 18348856390330551475\n  Bound result 10819237756945889216\n  Bound result 55045569171183563728\n\n[PASS] testFuzz_exitNeverProfits(uint96,uint96,uint8,uint8) (runs: 512, μ: 1436250, ~: 1429326)\nLogs:\n  Bound result 99500000000000015305\n  Bound result 994999000000000174526\n\n[PASS] testFuzz_pricesSumToOne(int64[4],uint96) (runs: 512, μ: 1599002, ~: 1599100)\nLogs:\n  Bound result 99500195515318279870\n  Bound result 18446741049810060384\n  Bound result 18443157156200559629\n  Bound result 9223372036854775810\n  Bound result 18446744005662316100\n\n[PASS] testFuzz_review_partialSellKeepsAShareOfTheCost(uint96,uint96,uint96) (runs: 512, μ: 1375566, ~: 1375731)\nLogs:\n  Bound result 9206337592751652862\n  Bound result 9204340529122622075\n  Bound result 2665447167263561330\n\n[PASS] testFuzz_review_voidPaysEveryClaimWithinThePool(uint96[6],uint8[6]) (runs: 512, μ: 3078970, ~: 3073412)\nLogs:\n  Bound result 149999000000001620032\n  Bound result 149999047938345463017\n  Bound result 149999000189641244749\n  Bound result 1000000000000002\n  Bound result 149999000872388507555\n  Bound result 149999000010017954860\n\n[PASS] testFuzz_roundTripNeverProfits(uint96,uint96,uint8) (runs: 512, μ: 1195322, ~: 1195415)\nLogs:\n  Bound result 99500000000000000994\n  Bound result 499999999999999999\n\n[PASS] testFuzz_stakeNeverBreaksSolvency(uint96,uint96,uint8,uint8,uint8) (runs: 512, μ: 3312195, ~: 3332251)\nLogs:\n  Bound result 99500000000208045345\n  Bound result 1492499000133406204285\n\n[PASS] test_audit_askNeverPaysAboveMaxPrice() (gas: 2413661)\n[PASS] test_audit_askPaysALivePriceAboveTheSnapshot() (gas: 3366626)\n[PASS] test_audit_exitRedeemsSetsBoughtFromTheMaker() (gas: 2871614)\n[PASS] test_audit_exitSellsWhatFitsTheSpread() (gas: 2165746)\n[PASS] test_audit_sellCannotPriceAWorldAtZero() (gas: 5902967)\n[PASS] test_buySell_roundTripLoses() (gas: 1149009)\n[PASS] test_buySell_slippage() (gas: 1065259)\n[PASS] test_claim_settlesAndOnlyOnce() (gas: 3144437)\n[PASS] test_closedMarketRefusesTrades() (gas: 1221917)\n[PASS] test_create_boundsB() (gas: 449621)\n[PASS] test_create_takesBudgetAndSeed() (gas: 757616)\n[PASS] test_creatorLossIsBoundedByTheSeed() (gas: 3114719)\n[PASS] test_exit_closesThePositionAtQuote() (gas: 1466896)\n[PASS] test_exit_largeStakeOnThinMarketAbsorbsSets() (gas: 1467087)\n[PASS] test_exit_slippage() (gas: 1266213)\n[PASS] test_fees_blockedRecipientsDoNotBlockTrades() (gas: 1183944)\n[PASS] test_fees_splitAndAccrue() (gas: 1011781)\n[PASS] test_oracle_badSignatureIsRefused() (gas: 2532996)\n[PASS] test_oracle_budgetSpentThenReturned() (gas: 2752966)\n[PASS] test_oracle_callbackFitsTheIntakeGasLimit() (gas: 2869949)\n[PASS] test_oracle_failureAllowsAPaidRetry() (gas: 3151577)\n[PASS] test_oracle_wrongQuestionHashIsRefused() (gas: 2390100)\n[PASS] test_owner_cannotChangeAnOpenMarket() (gas: 941122)\n[PASS] test_priceLimitRefusesASaturatedMarket() (gas: 1245633)\n[PASS] test_review_askDrawsTheBudgetDownThenChargesTheCaller() (gas: 2428522)\n[PASS] test_review_buyAboveInt256MaxReverts() (gas: 1015960)\n[PASS] test_review_claimableCountsASettleableMarket() (gas: 3245542)\n[PASS] test_review_claimableIsZeroWhileAnAnswerIsMissing() (gas: 2883510)\n[PASS] test_review_exitReleasesTheSetsCost() (gas: 1566510)\n[PASS] test_review_retryIsPaidFromTheBudgetWhileItLasts() (gas: 3327500)\n[PASS] test_review_shortVoidNeverPaysAboveCost() (gas: 2561089)\n[PASS] test_review_smallStakeOnASaturatedMarket() (gas: 2065717)\n[PASS] test_review_stakeCostFollowsPrices() (gas: 2122853)\n[PASS] test_review_voidDoesNotRefundRealisedLosses() (gas: 7873477)\n[PASS] test_review_voidRefundsTheCostOfSharesStillHeld() (gas: 1689404)\n[PASS] test_review_voidShortfallFallsOnUnbackedCost() (gas: 2694522)\n[PASS] test_seedFor_isbln4() (gas: 26131)\n[PASS] test_settle_allFourOutcomes() (gas: 14016312)\n[PASS] test_settle_creatorGetsResidualAndBudget() (gas: 2814846)\n[PASS] test_stakeFor_creditsTheAccountAndChargesTheCaller() (gas: 1187246)\n[PASS] test_stake_losingSideLosesTheStake() (gas: 3102074)\n[PASS] test_stake_matchesTheDesignExample() (gas: 1301603)\n[PASS] test_stake_otherWorldRefundsTheStake() (gas: 3132159)\n[PASS] test_stake_slippageAndBounds() (gas: 814496)\n[PASS] test_stake_winningWorldPays() (gas: 3131362)\n[PASS] test_sweep_blockedCreatorIsOwed() (gas: 2351000)\n[PASS] test_sweep_onlyAfterAShortVoid() (gas: 1371520)\n[PASS] test_sweep_paysTheCreatorWhatTheCappedRefundsLeave() (gas: 3064481)\n[PASS] test_sweep_unclaimedRefundsLapse() (gas: 2784998)\n[PASS] test_void_paysTheCreatorLastAndProRataWhenShort() (gas: 1709471)\n[PASS] test_void_refundsCostLessFees() (gas: 1788923)\n[PASS] test_void_waitsForALiveAsk() (gas: 2271265)\nSuite result: ok. 59 passed; 0 failed; 0 skipped; finished in 3.86s (15.74s CPU time)\n\nRan 1 test for test/ConditionalsV2Invariant.t.sol:ConditionalsV2InvariantTest\n[PASS]\nConditionalsV2InvariantTest invariants:\n[PASS] invariant_balanceCoversEverything\n[PASS] invariant_everyOutcomeIsPayable\n[PASS] invariant_makerSolvent\n[PASS] invariant_pricesSumToOne\n[PASS] invariant_refundBaseMatchesPositiveNets\n[PASS] invariant_sharesMatchTheBook\n[PASS] invariant_spreadBounded\n ConditionalsV2InvariantTest invariants (runs: 128, calls: 8192, reverts: 0)\n\n╭----------+----------+-------+---------+----------╮\n| Contract | Selector | Calls | Reverts | Discards |\n+==================================================+\n| Handler  | buy      | 2071  | 0       | 0        |\n|----------+----------+-------+---------+----------|\n| Handler  | exit     | 2038  | 0       | 0        |\n|----------+----------+-------+---------+----------|\n| Handler  | sell     | 2032  | 0       | 0        |\n|----------+----------+-------+---------+----------|\n| Handler  | stake    | 2051  | 0       | 0        |\n╰----------+----------+-------+---------+----------╯\n\nLogs:\n  Bound result 199999000000000000509\n  Bound result 199999000000038709267\n  Bound result 199999000000000000103\n  Bound result 199999000000026230001\n  Bound result 199999000000000000007\n  Bound result 108301931394338335134\n  Bound result 299999000000000008554\n  Bound result 199999000000002678401\n  Bound result 205069066516884773881\n  Bound result 199999000000000000014\n  Bound result 199999000001000000001\n  Bound result 57884568934182439085\n  Bound result 299999000000000000244\n  Bound result 150000000000000000000\n  Bound result 299999000000000000011\n  Bound result 199999000000000000516\n  Bound result 4000000000000000000\n  Bound result 37121968824969855134\n  Bound result 3999000000000001577\n  Bound result 199999000000000000006\n  Bound result 37873915280087672018\n  Bound result 299999000000000016064\n  Bound result 299999000000000000601\n  Bound result 299999000000000000096\n  Bound result 1000000000000001\n  Bound result 195872965921220869349\n  Bound result 200000000000000000\n  Bound result 199999000000000004521\n  Bound result 299999000000000020540\n  Bound result 1000000000000003\n  Bound result 1000000000000003\n  Bound result 50000000000000000000\n  Bound result 299999000000000000127\n  Bound result 1924119532608978\n  Bound result 199999000000002678401\n  Bound result 69833644872693078925\n  Bound result 299999000000000007343\n  Bound result 299999000000000001025\n  Bound result 238986277180024830784\n  Bound result 1000000000000003\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 8.09s (8.06s CPU time)\n\nRan 9 test suites in 8.10s (31.51s CPU time): 130 tests passed, 0 failed, 1 skipped (131 total tests)\n","passed":true},{"durationMs":95,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"ConditionalsV2.acceptOwnership()\",\"ConditionalsV2.activateOracleConfig()\",\"ConditionalsV2.buy(uint256,uint8,uint256,uint256)\",\"ConditionalsV2.claim(uint256)\",\"ConditionalsV2.createMarket(string,string,string,uint64,uint64,uint256,uint256)\",\"ConditionalsV2.exit(uint256,uint256)\",\"ConditionalsV2.onFailure(bytes32,uint8,bytes32,uint16,uint16,bytes)\",\"ConditionalsV2.onOracleResult(bytes32,(bytes32,uint256,bytes32,uint8,bytes,uint256,uint64,uint64,bytes32,bytes32,uint16,uint16,uint16,uint64,uint64),bytes)\",\"ConditionalsV2.proposeOracleConfig((address,address,uint128,uint16,uint16,bytes32))\",\"ConditionalsV2.renounceOwnership()\",\"ConditionalsV2.requestResolution(uint256)\",\"ConditionalsV2.sell(uint256,uint8,uint256,uint256)\",\"ConditionalsV2.setFeeRecipient(address)\",\"ConditionalsV2.settle(uint256)\",\"ConditionalsV2.stakeConditional(uint256,uint8,uint8,uint256,uint256)\",\"ConditionalsV2.stakeFor(address,uint256,uint8,uint8,uint256,uint256)\",\"ConditionalsV2.sweepVoid(uint256)\",\"ConditionalsV2.transferOwnership(address)\",\"ConditionalsV2.voidMarket(uint256)\",\"ConditionalsV2.withdrawOwed()\",\"ConditionalsZap.stakeWithEth(uint256,uint8,uint8,uint256,uint256)\",\"ConditionalsZap.stakeWithUsdg(uint256,uint8,uint8,uint256,uint256,uint256)\",\"ConditionalsZap.unlockCallback(bytes)\"],\"files\":{\".gitignore\":9,\".gitmodules\":9,\"ADAPTATION.md\":368,\"HANDOFF.md\":252,\"PROGRESS.md\":269,\"README.md\":149,\"foundry.lock\":20,\"foundry.toml\":32,\"frontend/.gitignore\":42,\"frontend/eslint.config.mjs\":18,\"frontend/next.config.ts\":14,\"frontend/package.json\":32,\"frontend/pnpm-lock.yaml\":4541,\"frontend/pnpm-workspace.yaml\":3,\"frontend/public/docs/conditionals-v2-liquidity.pdf\":159,\"frontend/scripts/gen-abi.mjs\":16,\"frontend/src/app/api/check/route.ts\":37,\"frontend/src/app/docs/page.tsx\":321,\"frontend/src/app/globals.css\":315,\"frontend/src/app/icon.svg\":1,\"frontend/src/app/layout.tsx\":40,\"frontend/src/app/page.tsx\":70,\"frontend/src/components/CreateModal.tsx\":373,\"frontend/src/components/Featured.tsx\":92,\"frontend/src/components/ForkCanvas.tsx\":234,\"frontend/src/components/Glyphs.tsx\":118,\"frontend/src/components/Header.tsx\":79,\"frontend/src/components/Hero.tsx\":90,\"frontend/src/components/MarketCard.tsx\":85,\"frontend/src/components/MarketDrawer.tsx\":500,\"frontend/src/components/Markets.tsx\":88,\"frontend/src/components/Providers.tsx\":45,\"frontend/src/components/Sections.tsx\":170,\"frontend/src/components/Stats.tsx\":52,\"frontend/src/hooks/useDemoMarkets.ts\":184,\"frontend/src/hooks/useLiveMarkets.ts\":367,\"frontend/src/hooks/useNow.ts\":15,\"frontend/src/lib/abi.ts\":2498,\"frontend/src/lib/config.ts\":59,\"frontend/src/lib/demo.ts\":117,\"frontend/src/lib/format.ts\":46,\"frontend/src/lib/lmsr.ts\":59,\"frontend/src/lib/market.ts\":103,\"frontend/src/lib/types.ts\":97,\"frontend/tsconfig.json\":34,\"launch/2278-manifest.json\":16,\"launch/2765-manifest.json\":25,\"launch/buy-imd.sh\":27,\"launch/launch.template.json\":27,\"launch/pay.sh\":52,\"legacy/v1/Conditionals.sol\":821,\"legacy/v1/test/Conditionals.t.sol\":1172,\"legacy/v1/test/ConditionalsAdversarial.t.sol\":620,\"legacy/v1/test/ConditionalsFork.t.sol\":50,\"legacy/v1/test/ConditionalsInvariant.t.sol\":200,\"legacy/v1/test/ConditionalsLifecycleInvariant.t.sol\":365,\"legacy/v1/test/Fixture.sol\":187,\"src/ConditionalsV2.sol\":1231,\"src/ConditionalsZap.sol\":138,\"src/interfaces/IIntake.sol\":26,\"src/interfaces/IOracleAttestation.sol\":24,\"src/interfaces/IPoolManager.sol\":34,\"test/ConditionalsV2.t.sol\":1091,\"test/ConditionalsV2FailurePaths.t.sol\":748,\"test/ConditionalsV2Fork.t.sol\":221,\"test/ConditionalsV2Invariant.t.sol\":157,\"test/ConditionalsV2Launch.t.sol\":146,\"test/ConditionalsV2Lifecycle.t.sol\":486,\"test/ConditionalsV2Question.t.sol\":191,\"test/ConditionalsZap.t.sol\":251,\"test/OracleConformance.t.sol\":146,\"test/utils/Fixture.sol\":189,\"test/utils/Mocks.sol\":141,\"test/utils/OracleQuestion.sol\":265},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"e3fdf4b9e5883b341adb5c5d0bb95a983ac9a64144ab75c94b3f856a7b21ceac","verifiedTreeHash":"ab53940f4b0399498900a51c44ef163f0e2a09c3","verifierVersion":"0.1.0+a6eb4461"}]}