{"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":"e192a6f6-197f-488f-9792-c32e8eb3d7b5","kind":"skill:build-contract-project","nodes":[{"acceptedSubmissionHash":"5c245ed01de5f4ebe2dfc2087a7d7c819d7f5a652dfb128de1b37fc16bf6f726","dependsOn":[],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"d59561da3b378461b7c749f6bd5084477d44993aa94972ddea90f542535751df","skillId":"build-contract-project","tools":[]},"key":"build_contract_project","kind":"code","role":"implement","skillHash":"d59561da3b378461b7c749f6bd5084477d44993aa94972ddea90f542535751df","skillId":"build-contract-project","state":"accepted"}],"objective":"Continue from commit eb1333775e60fe191acfa5a420e9256feeb4a2b0. Address the user-facing findings in audit 648ba2e5-46a0-4759-8439-73a6c9d81af6 in one focused change:\n\n 1. Provide an honest, logged recovery when a retained answer has the correct oracle UUID but a different signed question/chain/window—without letting the requester discard a genuine NotPassed verdict.\n 2. Prevent the quorum check from burning a valid answer whose actual agreement meets the configured minimum; preserve the intended panel-strength requirement.\n 3. Validate required build/test/review step markers in the actual assembled job body, not just template fragments.\n\nAdd adversarial tests reproducing each finding, including one-shot callback failure cases. Test a synchronous Intake refusal and state clearly whether compatibility depends on behavior that only a live pilot can prove. Preserve replay protection, owner-trust disclosures, exact IMD spending, caller price caps, listing/ad escrow, and the 200k callback budget. Rerun the full Foundry and site/ABI tests. Code only—no deployment, paid request, or fund movement.","parentJobId":"eb76afdc-5592-44a5-b618-4d41ec2b18ca","planHash":"362627a877d8a2a7d94b62c1337d6a1b7aa669a77651f64f0c638bf1bddb7dc3","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"28e81139-f2a5-4a5a-a239-b6c315b58e01","publication":{"commit":null,"deliveredAt":null,"repoUrl":"https://github.com/identity-md-launches/launch-1811-build-technical-foundation-hooks"},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[{"agentId":"51035","feedbackHash":"da95dbea518f1c9baceff2399e9e2de7ac04ee2f1a538a049b379abf80c82a0b","nodeKey":"build_contract_project","submissionHash":"5c245ed01de5f4ebe2dfc2087a7d7c819d7f5a652dfb128de1b37fc16bf6f726","tag1":"verification:checks","tag2":"acceptance-v2","value":1}],"site":null,"snapshotHash":"66ebf538ceb836ba4cdb33a1216104d3eae5a911a0da38d7db41e15ca987c637","state":"completed","submissions":[{"artifacts":[],"attempt":1,"bundleHash":"e2a8fb19004a9f19a3285e79efc2fe591a93895d9ef38c7cbb55786527ac0d67","device":"8472a2af9a9cf974","findings":[],"hash":"5c245ed01de5f4ebe2dfc2087a7d7c819d7f5a652dfb128de1b37fc16bf6f726","nodeId":"72c6a7b9-1714-45f0-8487-1534049a08d8","outcome":"completed","summary":"The diff is clean and every check has passed. Nothing further is needed, so here is the recap.\n\nAll three audit findings are fixed in `src/imd/HookJobRequester.sol`, with adversarial tests in `test/AuditContextMismatchProof.t.sol` and documentation in `docs/AUDIT_648BA2E5.md`. Nothing was deployed, paid for, or moved, and no build configuration or dependency was touched.\n\n**What changed**\n\n- **Same-UUID context mismatch recovery.** A retained answer carrying the ask's own UUID but a different signed question, chain or window was previously stuck forever: binding and discard reverted, every expiry path reverted, and the job could never be reviewed again. The new owner-only `discardMismatchedReviewReceipt` closes it as Unanswered with reason \"receipt context mismatch\". The owner must supply the ask's true context and the hash of the exact receipt including its verdict. A receipt that matches the true context is refused, so a genuine NotPassed can only be bound, and a requester cannot call it. The receipt stays readable, the UUID is neither reserved nor consumed, and the Intake ID stays terminal.\n- **Quorum check.** The callback no longer compares the signed body quorum with the configured minimum agreement. It still requires the panel size and actual agreement to meet the snapshotted minimums and the agreement to meet the oracle's own signed quorum. Weak answers still fail closed in the one-shot call.\n- **Step markers.** Each marker must sit whole inside one template fragment, which is exactly the condition under which every assembled body contains it. The old joined-fragment check accepted templates whose marker was split across a boundary and so appeared in no real body.\n\n**Tests and checks**\n\n| Check | Result |\n|---|---|\n| forge test, pinned seed | 240 passed, 0 failed |\n| forge test, verifier seed | 240 passed, 0 failed |\n| forge build, forge fmt --check | pass |\n| node site/ABI tests | 11 passed |\n| python SDK tests on local Anvil | 10 passed |\n| requester runtime size | 24,081 bytes, 495 under the limit |\n\nThe new suite fuzzes every mismatching field and both verdicts, the quorum range, split markers over every marker, boundary and cut, assembled bodies over spec hash and brief, and synchronous Intake refusal over the error code and both Intake paths. Two existing assertions that encoded the old quorum rule were adjusted.\n\n**Synchronous refusal statement.** A refusal that reverts inside the Intake call rolls the whole ask back with no debit or record. A refusal after payment closes the ask and spends the fee. The contract handles both shapes, but which one the live Intake uses for which refusal is behavior only a live pilot can prove. This is stated in the audit note and the pilot checklist.\n\n**Things to know**\n\n- The site ABI was regenerated from the compiler artifact, the status page label for the discard event names the third reason, and the build fingerprints were refreshed.\n- The runtime margin is now small. Future additions to this contract must watch the 24,576-byte limit.\n- The audit's own text was not among the inputs. The findings were taken from the request's description of them, which the audit note states.\n- Changes are left uncommitted in the working tree, matching the earlier jobs where the platform records the commit.","treeHash":"15d5e0b42e8bca4d7996287cfe3110c696e4e21f","usage":{"cachedInputTokens":7597120,"inputTokens":1794,"model":"claude-fable-5-1","outputTokens":61700,"runtime":"claude","turns":57,"wallClockMs":1166455}}],"verification":[{"checks":[{"durationMs":11901,"exitCode":0,"name":"build","output":"Compiling 130 files with Solc 0.8.26\nSolc 0.8.26 finished in 11.77s\nCompiler run successful!\n","passed":true},{"durationMs":27809,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 3 tests for test/DeployHookJobRequester.t.sol:DeployHookJobRequesterTest\n[PASS] testCheckRefusesAddressesWithoutCodeAndUnsoldActions() (gas: 136180)\n[PASS] testDeployThenConfigureGivesAWorkingRequesterOwnedByTheNamedOwner() (gas: 7234045)\n[PASS] testRunRefusesZeroBroadcaster() (gas: 86380)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 2.42ms (1.41ms CPU time)\n\nRan 1 test for test/AuditExpiryProof.t.sol:ExpiryFrontRunShoppingTest\n[PASS] testRequesterFrontRunsLateNotPassedWithExpiryAndReasks() (gas: 1276037)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 3.43ms (1.73ms CPU time)\n\nRan 2 tests for test/ReviewBinding.t.sol:RequesterOwnershipTest\n[PASS] testMistypedHandoverCanBeCancelledOrReplacedAndOnlyNomineeAccepts() (gas: 430359)\n[PASS] testZeroAndSelfHandoversRefusedWithoutLosingControl() (gas: 103680)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 3.34ms (634.25µs CPU time)\n\nRan 1 test for test/AuditReceiptConflictProof.t.sol:StuckReceiptProofTest\n[PASS] testOwnerCanCloseReceiptWhoseUuidWasConsumedElsewhere() (gas: 2592035)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 4.38ms (2.71ms CPU time)\n\nRan 4 tests for test/OracleConformance.t.sol:OracleConformanceTest\n[PASS] testProtocolSignatureVerifiesBeforeItsNonBoolAnswerIsRefused() (gas: 2058172)\n[PASS] test_acceptsAFreshSignatureFromTheVectorKeyAsDelivered() (gas: 2133909)\n[PASS] test_callbackSelectorsAreCanonical() (gas: 3965)\n[PASS] test_digestMatchesTheProtocol() (gas: 13912)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 4.46ms (2.43ms CPU time)\n\nRan 6 tests for test/OracleSigner.t.sol:OracleSignerTest\n[PASS] testContractSignerUsesErc1271FallbackUnderTheStipend() (gas: 2624842)\n[PASS] testDelegatedSignerStillRejectsWrongKeyTamperingAndMalformedEcdsa() (gas: 2509517)\n[PASS] testEcdsaKeyRemainsValidEvenIfItsCodeRejectsErc1271() (gas: 2246971)\n[PASS] testEip7702DesignatorDoesNotDisableTheSignersEcdsaKey() (gas: 2261088)\n[PASS] testErc1271RevocationRevertAndShortReturnFailClosedAndDoNotConsume() (gas: 3044918)\n[PASS] testFutureAttestationIsRefusedWithoutConsumingIt() (gas: 2185580)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 6.50ms (6.67ms CPU time)\n\nRan 7 tests for test/FeaturedAdversarial.t.sol:FeaturedAdversarialTest\n[PASS] testFalseRevertingMalformedAndNoMovementTokensCannotCreateCredit() (gas: 1201538)\n[PASS] testMissingTokenCodeAfterConfigurationCannotFakeTransfer() (gas: 68113)\n[PASS] testNoReturnTokenWorksForDepositsAndWithdrawals() (gas: 264270)\n[PASS] testProceedsWithdrawalAlsoGuardsReentrancy() (gas: 1621022)\n[PASS] testRecipientCannotBlockCancellationOrSettlementAndFailedClaimRollsBack() (gas: 2093568)\n[PASS] testTaxedOrFailedWithdrawalRollsBackAndRemainsRetryable() (gas: 1194337)\n[PASS] testTokenCallbacksCannotReenterAnyCustodyMutation() (gas: 3108803)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 10.78ms (7.48ms CPU time)\n\nRan 29 tests for test/HookJobRequester.t.sol:HookJobRequesterTest\n[PASS] testAnswerSignedForAnotherConsumerRefused() (gas: 2189479)\n[PASS] testBodyIsExactTemplateWithStepsSpecAndQuotedBrief() (gas: 947554)\n[PASS] testBriefValidation() (gas: 1869850)\n[PASS] testCallbackWithUnexpectedAbiFailsSafeAndJobCanExpire() (gas: 1200245)\n[PASS] testCallbacksFitTheIntakeStipend() (gas: 1848905)\n[PASS] testConstructorRefusesZeroAddresses() (gas: 10483)\n[PASS] testForgedExpiredWeakOrMistypedAnswersRefused() (gas: 2797038)\n[PASS] testFuzzPrintableAsciiBriefAcceptedUnlessReserved(bytes32,uint8) (runs: 256, μ: 512256, ~: 868160)\nLogs:\n  Bound result 20\n\n[PASS] testJobFailureClosesJobOnceAndIsNotAVerdict() (gas: 1953793)\n[PASS] testJobIdCollidingWithPendingReviewAskRefused() (gas: 2462555)\n[PASS] testOpenJobPaysOncePullsExactPriceAndTracksRequestId() (gas: 1153422)\n[PASS] testOwnerSettersAreOwnerOnlyAndValidated() (gas: 638682)\n[PASS] testPriceCeilingProtectsStandingAllowance() (gas: 3068649)\n[PASS] testResultAcceptedOnceFromIntakeOnly() (gas: 1112796)\n[PASS] testReusedRequestIdRefused() (gas: 1242457)\n[PASS] testReviewExpiryRequestedByRequesterAndConfirmedByOwner() (gas: 2375872)\n[PASS] testReviewFailureLeavesNoVerdictAndAllowsRetry() (gas: 3485399)\n[PASS] testReviewNotPassedIsStoredNotReverted() (gas: 2273321)\n[PASS] testReviewOnlyForDeliveredOrExpiredJobsByRequester() (gas: 2404011)\n[PASS] testReviewPassedOnlyFromSignedOracleAnswer() (gas: 2492348)\n[PASS] testSameAttestationCannotSettleASecondAsk() (gas: 4301539)\n[PASS] testSignerRotationTakesEffect() (gas: 2358877)\n[PASS] testStaticSiteReadContract() (gas: 1016972)\n[PASS] testSweepRecoversStrayTokens() (gas: 137069)\n[PASS] testUnconfiguredRequesterRefusesUntilOwnerSetsTemplates() (gas: 1560511)\n[PASS] testUnknownRequestIdRefused() (gas: 141989)\n[PASS] testUnpricedActionAndVersion1IntakeRefusedWithoutPayment() (gas: 472599)\n[PASS] testVersion1IntakeWorksWithTheFailureHookOff() (gas: 3246574)\n[PASS] testWalletMustApproveAndPay() (gas: 373223)\nSuite result: ok. 29 passed; 0 failed; 0 skipped; finished in 84.57ms (97.99ms CPU time)\n\nRan 11 tests for test/HookListingRegistry.t.sol:HookListingRegistryTest\n[PASS] testAuditUrlAndAuditLabelNeverConferVerification() (gas: 1866291)\n[PASS] testFreeCreateAndEditPersistAllFieldsAndHistory() (gas: 1618302)\n[PASS] testFuzzUnauthorizedCallerCannotModifyListing(address) (runs: 256, μ: 842654, ~: 842726)\n[PASS] testFuzzValidLabelsRemainSearchable(uint128) (runs: 256, μ: 747297, ~: 746840)\n[PASS] testInvalidIdentityUnknownRecordsAndPagesRevert() (gas: 931804)\n[PASS] testInvalidMetadataIsAtomicAndReferencesMayBeAbsent() (gas: 1106108)\n[PASS] testLabelValidationBoundsAndDuplicates() (gas: 965451)\n[PASS] testSameHookCanHaveIndependentOwnersButNoOwnerDuplicates() (gas: 2284749)\n[PASS] testSearchByLabelChainOwnerAndVisibilityUsesBoundedAscendingCursor() (gas: 2329424)\n[PASS] testTransferCanBeCancelledOrReplaced() (gas: 1022369)\n[PASS] testTwoStepListingTransferAndDuplicateProtection() (gas: 1824321)\nSuite result: ok. 11 passed; 0 failed; 0 skipped; finished in 86.95ms (89.21ms CPU time)\n\nRan 21 tests for test/FeaturedPlacements.t.sol:FeaturedPlacementsTest\n[PASS] testAdminRotationIsTwoStepAndDoesNotControlCustody() (gas: 805868)\n[PASS] testBadTokenConfigurationAndConstructorArguments() (gas: 1022284)\n[PASS] testCancelledPlacementCannotSettleOrCancelTwice() (gas: 1586722)\n[PASS] testDepositWithdrawBelongsToDepositorAndCannotBeSwept() (gas: 693423)\n[PASS] testDirectTransfersAreNotCreditsAndCannotBeSwept() (gas: 496850)\n[PASS] testEditingInvalidatesStalePurchaseAndFeeDisclosuresAreSnapshotted() (gas: 1995083)\n[PASS] testExpirySettlementIsPermissionlessAndCannotBeRepeatedOrRefunded() (gas: 1830989)\n[PASS] testFeaturedOrderingPaginationAndLabelsSkipCancelledAndExpired() (gas: 3095145)\n[PASS] testFuzzCancellationConservesFundsAndRoundsInPayersFavor(uint256) (runs: 256, μ: 1590170, ~: 1591843)\nLogs:\n  Bound result 14099\n\n[PASS] testHalfDurationCancellationSplitsFeeAndProceedsArePullBased() (gas: 1742376)\n[PASS] testImmediateCancellationFullyRefundsThenOwnerCanWithdraw() (gas: 1648242)\n[PASS] testOnlyListingOwnerCanBuyAndUnrelatedAccountsCannotCancelIncludingAdmin() (gas: 1766171)\n[PASS] testPurchaseCostsExactlyPointOneImdAndHasSevenDayAdLabel() (gas: 1481632)\n[PASS] testRecipientRotationInvalidatesStalePurchaseBeforeFundsAreLocked() (gas: 1453614)\n[PASS] testRecipientsAreSnapshottedAndChangingThemCannotTakeOldFunds() (gas: 2414968)\n[PASS] testSingleLivePlacementButCanRenewUnsettledExpiredOrCancelledPlacement() (gas: 2497512)\n[PASS] testSnapshotSurvivesEditingArchivingTransferAndRefundStaysWithPayer() (gas: 2399315)\n[PASS] testStaleTermsInactiveListingInsufficientBalanceAndDeadlineFailBeforeDebit() (gas: 1405175)\n[PASS] testUnknownIdsAndInvalidPagesFail() (gas: 228111)\n[PASS] testUnsetConfigurationAndTokenCanOnlyBeChosenOnce() (gas: 703556)\n[PASS] testZeroAmountsInvalidRecipientsAndExcessWithdrawalsFail() (gas: 629582)\nSuite result: ok. 21 passed; 0 failed; 0 skipped; finished in 124.11ms (126.93ms CPU time)\n\nRan 25 tests for test/Deployment.t.sol:DeploymentTest\n[PASS] testAllNamedMainnetsAndUnknownChainsRejected() (gas: 4440)\n[PASS] testAnyoneMayDeployIdenticalPlanWithoutTakingOwnership() (gas: 3340102)\n[PASS] testChangedConstructorSettingsInvalidateCachedPlan() (gas: 2452880)\n[PASS] testChangingManagerChangesCommitments() (gas: 4456007)\n[PASS] testDuplicateDeploymentRejectedAndMinerSkipsOccupiedAddress() (gas: 3409894)\n[PASS] testFuzzOnlyExactPermissionMaskAccepted(uint160) (runs: 256, μ: 30093, ~: 30225)\n[PASS] testFuzzPredictionMatchesIndependentCreate2Formula(address,bytes32,bytes32) (runs: 256, μ: 3933, ~: 3933)\n[PASS] testFuzzSpecLimitCommitsToExactConstructor(uint128,bytes32) (runs: 256, μ: 44323, ~: 44323)\n[PASS] testInvalidSearchRanges() (gas: 100769)\n[PASS] testInvalidSpecFieldsRejected() (gas: 161488)\n[PASS] testManagerCodeChangeFailsClosed() (gas: 2410875)\n[PASS] testManagerMustHaveExpectedCode() (gas: 68520)\n[PASS] testPredictionDeploymentPermissionsSettingsAndBytecodeAgree() (gas: 3496937)\n[PASS] testPrefundedPredictedAddressStillDeploys() (gas: 3331370)\n[PASS] testScriptUsesSamePlanAndDeploymentAsStore() (gas: 7192658)\n[PASS] testScriptsRejectMissingBroadcaster() (gas: 7147621)\n[PASS] testSearchExhaustionAndResume() (gas: 6291072)\n[PASS] testStaleOrForgedScriptPlansRejected() (gas: 6271704)\n[PASS] testTestnetPolicyIdsOnlyLocalSimulation() (gas: 7542)\n[PASS] testVerificationDetectsCorruptedConstructorStorage() (gas: 3314813)\n[PASS] testVerificationDetectsCorruptedRuntime() (gas: 3308499)\n[PASS] testVerifyUndeployedOrWrongAddressRejected() (gas: 2430633)\n[PASS] testWrongChainRejected() (gas: 29640)\n[PASS] testWrongExpectedAddressAndHashRejected() (gas: 2458895)\n[PASS] testWrongSaltRejectedByFactoryAndConstructor() (gas: 98469)\nSuite result: ok. 25 passed; 0 failed; 0 skipped; finished in 126.28ms (151.88ms CPU time)\n\nRan 5 tests for test/FeaturedTransfer.t.sol:FeaturedTransferTest\n[PASS] testBuyerCanClearSellersAdAndBuyItsOwnWhileOnlySellerGetsRefund() (gas: 3188812)\n[PASS] testFuzzNewOwnerCancellationConservesAllCredits(uint256) (runs: 256, μ: 1712138, ~: 1713805)\nLogs:\n  Bound result 15161\n\n[PASS] testIntermediateOwnerLosesCancellationPowerButOriginalPayerKeepsIt() (gas: 1869005)\n[PASS] testNewOwnerCannotCancelAtExpiryAndCanRenewBeforeOldSettlement() (gas: 2169353)\n[PASS] testProposedOwnerCannotCancelUntilAcceptingAndAdminCannotCancel() (gas: 1838309)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 145.91ms (144.56ms CPU time)\n\nRan 8 tests for test/ReviewReceiptGas.t.sol:ReviewReceiptGasTest\n[PASS] testAudit22ColdReadsNowRetainsOneShotReceiptAndBoundVerdict() (gas: 4150823)\nLogs:\n  Cold audit registry +22 reads receipt minimum forwarded gas: 187231\n  Cold audit registry +22 reads bound minimum forwarded gas: 149726\n\n[PASS] testColdEoaReceiptGasAndExactStipend() (gas: 1521757)\nLogs:\n  Cold EOA receipt minimum forwarded gas: 124984\n\n[PASS] testColdFiveOfSevenReceiptAfterExpiryRequestFitsStipend() (gas: 2836682)\nLogs:\n  Cold 5-of-7 receipt after expiry request minimum forwarded gas: 170077\n\n[PASS] testColdFiveOfSevenReceiptAndBoundCallbacksFitStipend() (gas: 4114308)\nLogs:\n  Cold 5-of-7 receipt minimum forwarded gas: 170077\n  Cold 5-of-7 bound minimum forwarded gas: 132553\n\n[PASS] testColdFiveOfSevenRetryReceiptBeforeReservationReleaseFitsStipend() (gas: 2938523)\nLogs:\n  Cold 5-of-7 reserved retry receipt minimum forwarded gas: 170077\n\n[PASS] testColdWrongPrebindingRetainsReceiptWithFiveOfSevenAndAuditSigner() (gas: 4934759)\nLogs:\n  Cold 5-of-7 mismatched pre-binding minimum forwarded gas: 175123\n  Cold audit +22 reads mismatched pre-binding minimum forwarded gas: 192286\n\n[PASS] testFuzzMultisignerRefusesWrongKeyDuplicateRevokedExpiredOrInsufficientSignatures(uint8) (runs: 256, μ: 383469, ~: 385473)\nLogs:\n  Bound result 0\n\n[PASS] testOverBudgetSignerStillFailsClosedAndLosesSingleAttemptWithoutPartialReceipt() (gas: 711494)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 239.83ms (230.33ms CPU time)\n\nRan 6 tests for test/RequesterMvpAudit.t.sol:RequesterMvpPaymentTest\n[PASS] testCallerLimitZeroFailsAndLowerQuoteChargesOnlyQuote() (gas: 1077234)\n[PASS] testExistingDonationsCannotHideUnderpaymentOrBecomeCallerFunds() (gas: 1829557)\n[PASS] testFuzzCallerLimitSurvivesOwnerCeilingIncreaseAndIntakePriceMove(bool,uint96) (runs: 256, μ: 1609747, ~: 2072840)\nLogs:\n  Bound result 1\n\n[PASS] testFuzzInexactIncomingTokensCannotSpendPreexistingDonations(uint8) (runs: 256, μ: 1208941, ~: 1210456)\nLogs:\n  Bound result 2\n\n[PASS] testFuzzUnderspendingIntakeRollsBackAllStateAndLeavesNothingSweepable(uint256,bool,bool) (runs: 256, μ: 2409746, ~: 2878430)\nLogs:\n  Bound result 25647596775635\n\n[PASS] testTokenCallbackCannotReenterSweepOrChangePaymentConfiguration() (gas: 4055255)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 373.88ms (567.28ms CPU time)\n\nRan 13 tests for test/RequesterMvpAudit.t.sol:RequesterMvpLifecycleTest\n[PASS] testAbandonedAskReceiptBlocksClosureWithoutRequesterExpiryRequest() (gas: 2353780)\n[PASS] testBindingResetRequiresOwnerExactBodyAndPendingBoundAsk() (gas: 2743060)\n[PASS] testFuzzCompromisedEpochBlocksRetainedAnswersAndAllowsHonestClosure(bool,bool) (runs: 256, μ: 4033790, ~: 4161772)\n[PASS] testFuzzJobFailureAndExpiryOrderingCannotChangeReviewEligibility(uint8,bool) (runs: 256, μ: 2487987, ~: 2498947)\nLogs:\n  Bound result 1\n\n[PASS] testFuzzWrongPrebindingRetainsOneShotAnswerAndCanBeCorrected(uint8,bool) (runs: 256, μ: 2887666, ~: 2887160)\nLogs:\n  Bound result 1\n\n[PASS] testIncidentRevocationIsExplicitAndCannotUndoFinalizedVerdicts() (gas: 2489390)\n[PASS] testLateFailureCannotClearFinalizedNegativeReview() (gas: 2409230)\n[PASS] testOwnerClosesAbandonedAskOnlyAfterDeadlineAndCannotCloseItsRetry() (gas: 3677005)\n[PASS] testRevocationFreezesEveryOldReceiptButNotANewEpochReceipt() (gas: 6617055)\n[PASS] testRevocationValidatesAuthorityEpochAndEvidence() (gas: 238952)\n[PASS] testRevokedBoundMismatchClosesWithoutResetAndReservationReleasePreservesHistory() (gas: 2648465)\n[PASS] testSwappedPreboundDeliveriesStayPendingAndNeverConsumeEachOthersUuid() (gas: 4991737)\n[PASS] testUnknownOrMissingReceiptCannotBeIncidentClosed() (gas: 1867543)\nSuite result: ok. 13 passed; 0 failed; 0 skipped; finished in 416.64ms (790.05ms CPU time)\n\nRan 24 tests for test/ReviewDelivery.t.sol:ReviewDeliveryTest\n[PASS] testAnswerAtExactSignatureExpiryCanBeRetainedAndConfirmedLater() (gas: 2350680)\n[PASS] testConfirmedReceiptCannotBeReplayedOrRebound() (gas: 2401711)\n[PASS] testEarlyEip7702KeyReceiptFitsColdStipend() (gas: 2351203)\n[PASS] testEarlyErc1271ReceiptFitsColdStipendAndSurvivesLaterRevocation() (gas: 2882142)\n[PASS] testFreshLateAnswerAcceptedIfRequesterRequestsExpiryFirst() (gas: 2367274)\n[PASS] testFuzzBindingMustMatchEveryRetainedFieldAndFailedBindingCanBeCorrected(uint8) (runs: 256, μ: 2597125, ~: 2597332)\nLogs:\n  Bound result 4\n\n[PASS] testFuzzClockSkewToleranceIsSymmetricAtAskTime(int16,bool) (runs: 256, μ: 2306520, ~: 2320721)\nLogs:\n  Bound result -126\n\n[PASS] testFuzzEarlyOneAttemptCallbackRetainedThenConfirmedWithoutAnotherFee(bool) (runs: 256, μ: 2797735, ~: 2797735)\n[PASS] testFuzzFreshLateAnswerAcceptedUntilExplicitExpiry(bool,uint32) (runs: 256, μ: 2418533, ~: 2398254)\nLogs:\n  Bound result 1\n\n[PASS] testFuzzInvalidEarlyAnswerNeverCreatesReceiptOrVerdict(uint8) (runs: 256, μ: 2021927, ~: 2024213)\nLogs:\n  Bound result 12\n\n[PASS] testFuzzRequesterCannotDiscardRetainedAnswerOrBuyAnotherReview(bool) (runs: 256, μ: 2584263, ~: 2584263)\n[PASS] testIntakeFailureBeforeReceiptIsTerminalAndBindingCannotInventAnAnswer() (gas: 2051922)\n[PASS] testInvalidOneAttemptCallbackLosesFeeAndCannotRetryOrCreateReceipt() (gas: 3579513)\n[PASS] testMalformedOneShotCallbackCannotCreateReceipt() (gas: 1887179)\n[PASS] testOneSecondBackwardSkewAndExactFiveMinuteBoundaryAccepted() (gas: 4615577)\n[PASS] testOnlyCurrentIntakeMayRetainAndOnlyOwnerMayConfirm() (gas: 2550026)\n[PASS] testReceiptBindingStillRequiresExactBodyFingerprint() (gas: 2355779)\n[PASS] testReceiptCanBeConfirmedAfterSignatureExpiryTimeoutAndAuthorityRotation() (gas: 2635333)\n[PASS] testReceiptCannotBeOverwrittenOrClearedBySecondIntakeCallback() (gas: 2589806)\n[PASS] testReservedUuidRetainedWithoutVerdictButConsumedUuidRefused() (gas: 6124243)\n[PASS] testSignatureExpiryStillControlsArrivalEvenAfterAskDeadline() (gas: 2020315)\n[PASS] testSwappedEarlyYesAndNoAnswersCannotBecomeVerdicts() (gas: 4356981)\n[PASS] testTimestampExtremesDoNotOverflowSkewCheck() (gas: 2409732)\n[PASS] testUnconfirmedDuplicateCannotReserveOrConsumeTheActualAsksUuid() (gas: 4369605)\nSuite result: ok. 24 passed; 0 failed; 0 skipped; finished in 416.70ms (1.30s CPU time)\n\nRan 12 tests for test/AuditContextMismatchProof.t.sol:AuditContextMismatchProofTest\n[PASS] testAsynchronousRefusalAfterPaymentClosesWithoutRefund() (gas: 2746720)\n[PASS] testContextMismatchRecoveryCannotSetAsideAMatchingVerdictOrBeCalledByRequester() (gas: 2687070)\n[PASS] testContextMismatchRecoveryNeedsAnUnboundPendingAskWithAReceipt() (gas: 2542904)\n[PASS] testFuzzAcceptedTemplateNamesEveryStepInEveryAssembledBody(bytes32,uint16,uint8) (runs: 256, μ: 1634150, ~: 1650359)\nLogs:\n  Bound result 204\n\n[PASS] testFuzzBodyQuorumBelowConfiguredMinimumNoLongerBurnsAnAgreedAnswer(uint16,uint16,bool,bool) (runs: 256, μ: 2325641, ~: 2270550)\nLogs:\n  Bound result 6\n  Bound result 6\n\n[PASS] testFuzzPanelStrengthMinimumsStillRefuseWeakAnswersInOneShot(uint8) (runs: 256, μ: 2430276, ~: 2430298)\nLogs:\n  Bound result 2\n\n[PASS] testFuzzSameUuidOtherSignedContextWasStuckAndNowClosesHonestly(uint8,bool) (runs: 256, μ: 4068046, ~: 4068116)\nLogs:\n  Bound result 1\n\n[PASS] testFuzzStepMarkerSplitAcrossFragmentsIsRefused(uint8,uint8,uint8) (runs: 256, μ: 1111555, ~: 1113952)\nLogs:\n  Bound result 0\n  Bound result 1\n  Bound result 7\n\n[PASS] testFuzzSynchronousIntakeRefusalRevertsTheWholeAskWithoutDebit(bytes4,bool) (runs: 256, μ: 2549609, ~: 2582679)\n[PASS] testMarkersOnlyACreatorBriefCouldSupplyDoNotSatisfyTheTemplate() (gas: 960857)\n[PASS] testReceiptAcknowledgmentCommitsToTheVerdict() (gas: 2193259)\n[PASS] testReproductionQuorumOneWithSixAgreedIsAValidAnswer() (gas: 2276507)\nSuite result: ok. 12 passed; 0 failed; 0 skipped; finished in 423.66ms (1.22s CPU time)\n\nRan 3 tests for test/ReviewReceiptPacking.t.sol:ReviewReceiptPackingTest\n[PASS] testAllocatedMetadataIsNotAnAnswerAndReadAbiRemainsTenWords() (gas: 1879788)\n[PASS] testFuzzReceiptPreservesFullContextAndPackedFields(uint64,uint64,uint64,uint16,uint16,bool,uint256) (runs: 256, μ: 2400223, ~: 2400221)\nLogs:\n  Bound result 0\n  Bound result 5\n  Bound result 5\n\n[PASS] testReceiptPackingMaximumValuesDoNotLeakIntoAdjacentFields() (gas: 2390208)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 423.54ms (423.12ms CPU time)\n\nRan 11 tests for test/ReviewRecovery.t.sol:ReviewRecoveryTest\n[PASS] testBoundOrTerminalAsksCannotBeDiscarded() (gas: 2365225)\n[PASS] testDiscardingDuplicateReceiptDoesNotClearGenuineConsumedUuid() (gas: 4375517)\n[PASS] testExpiredJobFalseVerdictRemainsTerminalEvenIfReviewLaterCompletes() (gas: 2441527)\n[PASS] testFuzzOwnerCannotDiscardReceiptWithMatchingContext(bool) (runs: 256, μ: 2373269, ~: 2373269)\n[PASS] testFuzzReleaseUnusedReservationAfterExpiryOrFailureThenFinalizeRetry(bool,bool) (runs: 256, μ: 5643881, ~: 5648790)\n[PASS] testFuzzSameUuidFieldMismatchCannotDiscardReceipt(uint8) (runs: 256, μ: 2235199, ~: 2235395)\nLogs:\n  Bound result 3\n\n[PASS] testLateNotPassedReceiptCannotBeFrontRunByRequesterExpiry() (gas: 2410457)\n[PASS] testRecoveryRequiresCurrentOwnerExactBodyValidContextAndReceipt() (gas: 2569273)\n[PASS] testReservationReleaseRejectsUnknownUnboundAndPendingHolderEvenPastDeadline() (gas: 4033382)\n[PASS] testSignerRotationPreservesRetainedVerificationButRejectsUndeliveredOldSignature() (gas: 4476257)\n[PASS] testSwappedReceiptOwnerClosesWrongAskWithoutStrandingGenuineUuid() (gas: 6139910)\nSuite result: ok. 11 passed; 0 failed; 0 skipped; finished in 423.50ms (1.04s CPU time)\n\nRan 7 tests for test/ReviewAuditRegression.t.sol:ReviewAuditRegressionTest\n[PASS] testExpiryNeedsDeadlineAndCurrentOwnerApprovalForExactAsk() (gas: 3753613)\n[PASS] testExpiryRequestAllowsBindingBeforeLateDelivery() (gas: 2444692)\n[PASS] testFuzzExactConflictRecoveryPreservesOtherAskAndReplayProtection(bool,bool,bool) (runs: 256, μ: 5947204, ~: 5947196)\n[PASS] testFuzzExpiryAndDeliveryBothOrdersPreserveVerdictAndBlockRetries(bool,bool,bool) (runs: 256, μ: 2688122, ~: 2776708)\n[PASS] testFuzzSameUuidTypoCannotDiscardGenuineNegativeEvenWithConflict(uint8,bool) (runs: 256, μ: 3467129, ~: 2578147)\nLogs:\n  Bound result 0\n\n[PASS] testFuzzUnavailableDifferentTrueUuidCannotDiscardGenuineNegative(uint8) (runs: 256, μ: 4589173, ~: 4588268)\nLogs:\n  Bound result 0\n\n[PASS] testIntakeFailureAfterExpiryRequestAllowsRetryAndInvalidatesOldApproval() (gas: 3257396)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 509.34ms (1.63s CPU time)\n\nRan 13 tests for test/ReviewBinding.t.sol:ReviewBindingTest\n[PASS] testAnswerAtDeadlineAcceptedAndExcessiveBackwardSkewRefused() (gas: 2379652)\n[PASS] testBindingRequiresOwnerAndExactRecordedBodyAndCannotBeOverwritten() (gas: 2209200)\n[PASS] testExpiredAskAnswerCannotSettleRetryOfIdenticalQuestion() (gas: 3654362)\n[PASS] testFuzzIntakeIdCannotBeReusedAfterReviewCloses(uint8) (runs: 256, μ: 2807076, ~: 2829467)\nLogs:\n  Bound result 0\n\n[PASS] testFuzzOracleIdReservationSurvivesFailureExpiryAndSettlement(uint8) (runs: 256, μ: 4264173, ~: 4290691)\nLogs:\n  Bound result 0\n\n[PASS] testInvalidOrUnknownBindingsRefused() (gas: 2065707)\n[PASS] testLateValidAnswerAndLateBindingAllowedUntilExplicitExpiry() (gas: 4461503)\n[PASS] testOwnerRotationPowersApplyToAlreadyPendingRequestsAsDocumented() (gas: 3312357)\n[PASS] testSignedPanelQuorumAndCountsMustBeConsistent() (gas: 2241085)\n[PASS] testSignedWrongQuestionIdChainOrWindowCannotSettle() (gas: 3717476)\n[PASS] testSwappedHonestAnswersLeaveBothPendingThenSettleTheirOwnAsks() (gas: 5017019)\n[PASS] testTemplateAndTimeoutChangesDoNotChangePendingAskContext() (gas: 2565959)\n[PASS] testUnboundReceiptDoesNotTrustMatchingIntakeIdAndRawBodyHash() (gas: 2426342)\nSuite result: ok. 13 passed; 0 failed; 0 skipped; finished in 722.82ms (649.54ms CPU time)\n\nRan 15 tests for test/HookIntegration.t.sol:HookIntegrationTest\n[PASS] testAllDirectionsAndExactModesAcceptLimit() (gas: 650218)\n[PASS] testDuplicatePoolInitializationFails() (gas: 41653)\n[PASS] testDynamicFeePoolRejectedAtomically() (gas: 97839)\n[PASS] testFuzzHookDataHasNoAuthority(bytes) (runs: 256, μ: 210230, ~: 210028)\n[PASS] testFuzzRealSwapsSettleAndConserve(uint128,bool,bool,bool) (runs: 256, μ: 280999, ~: 278533)\nLogs:\n  Bound result 4373\n\n[PASS] testFuzzSignedBoundaryAndNeutralReturn(int256,bytes) (runs: 256, μ: 30794, ~: 29816)\n[PASS] testFuzzUnauthorizedCallbacks(address) (runs: 256, μ: 94960, ~: 95102)\n[PASS] testIntMinIntMaxAndZeroFailClearly() (gas: 88270)\n[PASS] testLimitCapsOnlySpecifiedSideNotUnspecifiedSide() (gas: 427039)\n[PASS] testLiquidityWithdrawalRemainsAvailableAfterRejectedSwap() (gas: 184825)\n[PASS] testOverLimitRevertsThroughManagerInAllModes() (gas: 253819)\n[PASS] testSettlementFailureRollsBackCounterAndPoolState() (gas: 388376)\n[PASS] testTwoNewPoolsReuseOneDeployedHook() (gas: 624953)\n[PASS] testUnusedCallbacksAlwaysRevert() (gas: 209241)\n[PASS] testWrongHookAndUnknownPoolRejected() (gas: 124522)\nSuite result: ok. 15 passed; 0 failed; 0 skipped; finished in 722.96ms (740.39ms CPU time)\n\nRan 11 tests for test/AuditFixes.t.sol:AuditFixesTest\n[PASS] testAllowedTestnetsDeployAndVerifyEndToEnd() (gas: 7765983)\n[PASS] testBaseMainnetRejectedOnEveryReleasePath() (gas: 9450397)\n[PASS] testEthereumMainnetRejectedOnEveryReleasePath() (gas: 9450443)\n[PASS] testFullPageCompletesOrResumesUnderTypicalCallGasCap() (gas: 4696895)\n[PASS] testFuzzUnknownChainsRejectedOnEveryReleasePath(uint64) (runs: 256, μ: 9453605, ~: 9453605)\n[PASS] testHookConstructorStillBindsSpecToActualChain() (gas: 19895)\n[PASS] testHookTemplateStaysChainAgnosticForFutureMainnetRelease() (gas: 1388790)\n[PASS] testMaxPageGasWithinBudgetWhenUncapped() (gas: 2338692)\n[PASS] testRobinhoodMainnetRejectedOnEveryReleasePath() (gas: 9450442)\n[PASS] testTooLittleGasForOneCandidateRevertsClearly() (gas: 17619788)\n[PASS] testTruncatedPageReportsFirstUncheckedNonce() (gas: 1946363)\nSuite result: ok. 11 passed; 0 failed; 0 skipped; finished in 724.18ms (834.01ms CPU time)\n\nRan 1 test for test/FeaturedTransferInvariant.t.sol:FeaturedTransferInvariantTest\n[PASS] invariantEveryTokenIsAccountedForAndEveryCreditHasBacking() (runs: 256, calls: 128000, reverts: 0)\n\n╭-------------------------+------------------------+-------+---------+----------╮\n| Contract                | Selector               | Calls | Reverts | Discards |\n+===============================================================================+\n| FeaturedTransferHandler | advanceTime            | 11546 | 0       | 0        |\n|-------------------------+------------------------+-------+---------+----------|\n| FeaturedTransferHandler | cancel                 | 11611 | 0       | 0        |\n|-------------------------+------------------------+-------+---------+----------|\n| FeaturedTransferHandler | cancelAsCurrentOwner   | 11850 | 0       | 0        |\n|-------------------------+------------------------+-------+---------+----------|\n| FeaturedTransferHandler | claim                  | 11725 | 0       | 0        |\n|-------------------------+------------------------+-------+---------+----------|\n| FeaturedTransferHandler | deposit                | 11528 | 0       | 0        |\n|-------------------------+------------------------+-------+---------+----------|\n| FeaturedTransferHandler | purchaseAsCurrentOwner | 11566 | 0       | 0        |\n|-------------------------+------------------------+-------+---------+----------|\n| FeaturedTransferHandler | rotateRecipient        | 11577 | 0       | 0        |\n|-------------------------+------------------------+-------+---------+----------|\n| FeaturedTransferHandler | settle                 | 11707 | 0       | 0        |\n|-------------------------+------------------------+-------+---------+----------|\n| FeaturedTransferHandler | toggleCurrentListing   | 11731 | 0       | 0        |\n|-------------------------+------------------------+-------+---------+----------|\n| FeaturedTransferHandler | transferListing        | 11629 | 0       | 0        |\n|-------------------------+------------------------+-------+---------+----------|\n| FeaturedTransferHandler | withdraw               | 11530 | 0       | 0        |\n╰-------------------------+------------------------+-------+---------+----------╯\n\nLogs:\n  Bound result 225820091276669328\n  Bound result 1473\n  Bound result 286186293615491085\n  Bound result 60\n  Bound result 1133\n  Bound result 513\n  Bound result 299\n  Bound result 10580\n  Bound result 10\n  Bound result 2592000\n  Bound result 10868\n  Bound result 3605\n  Bound result 11931\n  Bound result 546603\n  Bound result 99\n  Bound result 96\n  Bound result 195000\n  Bound result 290740339967630715\n  Bound result 62\n  Bound result 1213\n  Bound result 64384970223768\n  Bound result 50\n  Bound result 172800\n  Bound result 225820091276669329\n  Bound result 2\n  Bound result 80\n  Bound result 224\n  Bound result 97\n  Bound result 511872125635517209\n  Bound result 62\n  Bound result 193813610240670947\n  Bound result 21103054189230165\n  Bound result 7239\n  Bound result 8121\n  Bound result 4288\n  Bound result 1597376\n  Bound result 1385\n  Bound result 14080\n  Bound result 11\n  Bound result 49\n  Bound result 69874289021697\n  Bound result 21018633132819\n  Bound result 1004717774\n  Bound result 71777214294589695\n  Bound result 6075\n  Bound result 768\n  Bound result 4139\n  Bound result 7377\n  Bound result 11569\n  Bound result 80\n  Bound result 626814\n  Bound result 1000\n  Bound result 459248\n  Bound result 292539217066958302\n  Bound result 62\n  Bound result 171374301568820180\n  Bound result 152200783665942760\n  Bound result 10914\n  Bound result 2385970221328073\n  Bound result 196544566933735\n  Bound result 76171195136475135\n  Bound result 2550\n  Bound result 5621\n  Bound result 2295206352\n  Bound result 245379\n  Bound result 30758550848304\n  Bound result 16383\n  Bound result 428230\n  Bound result 2712\n  Bound result 8289\n  Bound result 721185\n  Bound result 11666\n  Bound result 4000\n  Bound result 220945288959918248\n  Bound result 61135907923464037\n  Bound result 28\n  Bound result 115428911151845857\n  Bound result 2789\n  Bound result 36700793873567559\n  Bound result 35976535298782\n  Bound result 543801\n  Bound result 777598\n  Bound result 2862\n  Bound result 167934543576446635\n  Bound result 1\n  Bound result 11054\n  Bound result 86400\n  Bound result 131072\n  Bound result 2592000\n  Bound result 668986\n  Bound result 6737048805\n  Bound result 284634302914454324\n  Bound result 184\n  Bound result 2309\n  Bound result 84532\n  Bound result 152\n  Bound result 300\n  Bound result 448120919896\n  Bound result 3856056066\n  Bound result 1487080236\n  Bound result 4169703935287377\n  Bound result 5340\n  Bound result 7644\n  Bound result 6914\n  Bound result 676730\n  Bound result 58\n  Bound result 226088683735039096\n  Bound result 3252\n  Bound result 4024412867256175\n  Bound result 782600633954151\n  Bound result 31337\n  Bound result 2568\n  Bound result 270763374243104311\n  Bound result 654074\n  Bound result 715125770410891\n  Bound result 26\n  Bound result 53698221849022292\n  Bound result 5988700590638822\n  Bound result 473755\n  Bound result 210\n  Bound result 232\n  Bound result 593537\n  Bound result 555710\n  Bound result 29081654956594774\n  Bound result 745043\n  Bound result 3772\n  Bound result 344371\n  Bound result 255\n  Bound result 1184\n  Bound result 1900\n  Bound result 1384294106114450\n  Bound result 4747505288139\n  Bound result 7200\n  Bound result 163741867958504892\n  Bound result 54960701404759629\n  Bound result 10867\n  Bound result 498\n  Bound result 8850\n  Bound result 96\n  Bound result 39209805883008534\n  Bound result 9104\n  Bound result 224\n  Bound result 8300\n  Bound result 1371738166353443\n  Bound result 157013907638845440\n  Bound result 653906675248\n  Bound result 11101\n  Bound result 1049\n  Bound result 12797716346123235\n  Bound result 1816\n  Bound result 9323\n  Bound result 55296\n  Bound result 2409\n  Bound result 3078\n  Bound result 80\n  Bound result 213845706268122588\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 27.40s (27.40s CPU time)\n\nRan 1 test for test/FeaturedInvariant.t.sol:FeaturedInvariantTest\n[PASS] invariantEveryTokenIsAccountedForAndEveryCreditHasBacking() (runs: 256, calls: 128000, reverts: 0)\n\n╭-----------------+-----------------+-------+---------+----------╮\n| Contract        | Selector        | Calls | Reverts | Discards |\n+================================================================+\n| FeaturedHandler | advanceTime     | 14053 | 0       | 0        |\n|-----------------+-----------------+-------+---------+----------|\n| FeaturedHandler | cancel          | 14187 | 0       | 0        |\n|-----------------+-----------------+-------+---------+----------|\n| FeaturedHandler | claim           | 14209 | 0       | 0        |\n|-----------------+-----------------+-------+---------+----------|\n| FeaturedHandler | deposit         | 14094 | 0       | 0        |\n|-----------------+-----------------+-------+---------+----------|\n| FeaturedHandler | purchase        | 14187 | 0       | 0        |\n|-----------------+-----------------+-------+---------+----------|\n| FeaturedHandler | rotateRecipient | 14101 | 0       | 0        |\n|-----------------+-----------------+-------+---------+----------|\n| FeaturedHandler | settle          | 14296 | 0       | 0        |\n|-----------------+-----------------+-------+---------+----------|\n| FeaturedHandler | toggleListing   | 14538 | 0       | 0        |\n|-----------------+-----------------+-------+---------+----------|\n| FeaturedHandler | withdraw        | 14335 | 0       | 0        |\n╰-----------------+-----------------+-------+---------+----------╯\n\nLogs:\n  Bound result 8791\n  Bound result 9318\n  Bound result 1624\n  Bound result 5813\n  Bound result 3792478064\n  Bound result 133180\n  Bound result 3964\n  Bound result 512\n  Bound result 7968\n  Bound result 3540\n  Bound result 9516\n  Bound result 99\n  Bound result 632\n  Bound result 238\n  Bound result 2\n  Bound result 65536\n  Bound result 61698\n  Bound result 60000\n  Bound result 4965\n  Bound result 8148\n  Bound result 3652\n  Bound result 311022\n  Bound result 13\n  Bound result 2323\n  Bound result 42\n  Bound result 212910\n  Bound result 475\n  Bound result 152\n  Bound result 300\n  Bound result 863\n  Bound result 444890\n  Bound result 92\n  Bound result 512\n  Bound result 259899\n  Bound result 512\n  Bound result 87948485967098101\n  Bound result 1800000000\n  Bound result 277511596451062893\n  Bound result 100000000\n  Bound result 162543324\n  Bound result 58496912928991104\n  Bound result 80\n  Bound result 41\n  Bound result 223\n  Bound result 22595111\n  Bound result 709600\n  Bound result 4288\n  Bound result 817988804\n  Bound result 256\n  Bound result 3594\n  Bound result 882\n  Bound result 495824\n  Bound result 1073741823\n  Bound result 874\n  Bound result 23927270\n  Bound result 8192\n  Bound result 7855\n  Bound result 4026\n  Bound result 16777215\n  Bound result 3\n  Bound result 8599\n  Bound result 249111254310977535\n  Bound result 3345\n  Bound result 3600\n  Bound result 206963174377985866\n  Bound result 216\n  Bound result 12\n  Bound result 256\n  Bound result 39462\n  Bound result 75644250940394395\n  Bound result 322\n  Bound result 92\n  Bound result 5463\n  Bound result 6996\n  Bound result 3593\n  Bound result 205991\n  Bound result 23\n  Bound result 17\n  Bound result 393\n  Bound result 704507\n  Bound result 553316622985091643\n  Bound result 8791\n  Bound result 172800\n  Bound result 1039\n  Bound result 223\n  Bound result 593537\n  Bound result 140000\n  Bound result 66482869645213695\n  Bound result 3\n  Bound result 71\n  Bound result 282\n  Bound result 79891539021493018\n  Bound result 281470681808895\n  Bound result 513462038\n  Bound result 19795716830624254\n  Bound result 67954\n  Bound result 86400\n  Bound result 537819\n  Bound result 14291593576605395\n  Bound result 140000\n  Bound result 225684821632784055\n  Bound result 163037603779265001\n  Bound result 695550795\n  Bound result 146744073706959615\n  Bound result 249\n  Bound result 99\n  Bound result 1000\n  Bound result 127035603870986413\n  Bound result 425326\n  Bound result 96\n  Bound result 195000\n  Bound result 948\n  Bound result 88896115134699000\n  Bound result 11\n  Bound result 38681854720785840\n  Bound result 499390660\n  Bound result 71996739901653373\n  Bound result 6472\n  Bound result 5\n  Bound result 330\n  Bound result 230304381176537400\n  Bound result 2000\n  Bound result 5857\n  Bound result 1321248401\n  Bound result 144\n  Bound result 7034\n  Bound result 9316\n  Bound result 2514000706\n  Bound result 2423\n  Bound result 7593\n  Bound result 245\n  Bound result 1963867269360921\n  Bound result 1\n  Bound result 31337\n  Bound result 7193\n  Bound result 316964\n  Bound result 4417811891660447\n  Bound result 13619711033310999\n  Bound result 41199294200824339\n  Bound result 6927147333288807\n  Bound result 223087\n  Bound result 438071174\n  Bound result 4493\n  Bound result 16711935\n  Bound result 1056290820\n  Bound result 138681854719658845\n  Bound result 8157\n  Bound result 46630\n  Bound result 19978813407976003\n  Bound result 12\n  Bound result 281474976710655\n  Bound result 103\n  Bound result 60000\n  Bound result 24892869792479921\n  Bound result 561440\n  Bound result 1965476589207516\n  Bound result 208394965837152255\n  Bound result 4269\n  Bound result 517\n  Bound result 95\n  Bound result 704958\n  Bound result 543452\n  Bound result 293782792835301375\n  Bound result 3532\n  Bound result 7300\n  Bound result 2064\n  Bound result 1000000000000\n  Bound result 55664878449011122\n  Bound result 87237778915143957\n  Bound result 507869960243781815\n  Bound result 55664878449011121\n  Bound result 34813282168270060\n  Bound result 958\n  Bound result 1641\n  Bound result 535\n  Bound result 5340\n  Bound result 8624\n  Bound result 1934\n  Bound result 53298\n  Bound result 2\n  Bound result 143932\n  Bound result 10225989371305535\n  Bound result 8500985887159687\n  Bound result 4663\n  Bound result 2419\n  Bound result 255444464034512895\n  Bound result 2389\n  Bound result 195000\n  Bound result 645788\n  Bound result 229578854807804\n  Bound result 125169935154903511\n  Bound result 65535\n  Bound result 9074\n  Bound result 519224\n  Bound result 2572156213777878\n  Bound result 31338\n  Bound result 5260\n  Bound result 13306259658160875\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 27.67s (27.67s CPU time)\n\nRan 25 test suites in 27.68s (61.08s CPU time): 240 tests passed, 0 failed, 0 skipped (240 total tests)\n","passed":true},{"durationMs":97,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"BoundedSwapHook.afterInitialize(address,(address,address,uint24,int24,address),uint160,int24)\",\"BoundedSwapHook.afterSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),int256,bytes)\",\"FeaturedPlacements.acceptOwnership()\",\"FeaturedPlacements.cancel(uint256)\",\"FeaturedPlacements.cancelOwnershipTransfer()\",\"FeaturedPlacements.configureToken(address)\",\"FeaturedPlacements.deposit(uint256)\",\"FeaturedPlacements.purchase(uint256,uint256,address,uint256)\",\"FeaturedPlacements.setProceedsRecipient(address)\",\"FeaturedPlacements.settle(uint256)\",\"FeaturedPlacements.transferOwnership(address)\",\"FeaturedPlacements.withdraw(uint256,address)\",\"FeaturedPlacements.withdrawProceeds(uint256,address)\",\"HookJobRequester.acceptOwnership()\",\"HookJobRequester.bindReview(bytes32,bytes32,bytes32,bytes32,uint256,uint64,uint64)\",\"HookJobRequester.cancelOwnershipTransfer()\",\"HookJobRequester.closeRevokedReviewReceipt(bytes32)\",\"HookJobRequester.confirmReviewExpiry(bytes32)\",\"HookJobRequester.discardMismatchedReviewReceipt(bytes32,bytes32,bytes32,bytes32,uint256,uint64,uint64)\",\"HookJobRequester.discardReviewReceipt(bytes32,bytes32,bytes32,bytes32,uint256,uint64,uint64)\",\"HookJobRequester.expireJob(bytes32)\",\"HookJobRequester.expireReview(bytes32)\",\"HookJobRequester.onJobFailure(bytes32,uint8,bytes32,uint16,uint16,bytes)\",\"HookJobRequester.onJobResult(bytes32,bytes)\",\"HookJobRequester.onReviewFailure(bytes32,uint8,bytes32,uint16,uint16,bytes)\",\"HookJobRequester.onReviewResult(bytes32,(bytes32,uint256,bytes32,uint8,bytes,uint256,uint64,uint64,bytes32,bytes32,uint16,uint16,uint16,uint64,uint64),bytes)\",\"HookJobRequester.openJob(bytes32,bytes,uint256)\",\"HookJobRequester.releaseReservation(bytes32)\",\"HookJobRequester.requestReview(bytes32,uint256)\",\"HookJobRequester.resetReviewBinding(bytes32,bytes32)\",\"HookJobRequester.revokeSignerEpoch(uint32,bytes32)\",\"HookJobRequester.setFailureHook(bool)\",\"HookJobRequester.setIntake(address)\",\"HookJobRequester.setJobTemplate(bytes32,bytes,bytes,bytes)\",\"HookJobRequester.setOracleSigner(address)\",\"HookJobRequester.setPayment(address,uint256)\",\"HookJobRequester.setReviewTemplate(bytes32,bytes,bytes,uint16,uint16)\",\"HookJobRequester.setTimeouts(uint64,uint64)\",\"HookJobRequester.sweep(address,address,uint256)\",\"HookJobRequester.transferOwnership(address)\",\"HookListingRegistry.acceptListingOwnership(uint256)\",\"HookListingRegistry.cancelListingTransfer(uint256)\",\"HookListingRegistry.createListing(uint256,address,(string,string,string,string,string,uint160,string,string,string,string[]))\",\"HookListingRegistry.proposeListingOwner(uint256,address)\",\"HookListingRegistry.setListingActive(uint256,bool)\",\"HookListingRegistry.updateListing(uint256,(string,string,string,string,string,uint160,string,string,string,string[]))\",\"HooksStoreFactory.deploy((uint32,bytes32,uint256,address,bytes32,uint160,uint128),bytes32,address,bytes32)\"],\"files\":{\".gitignore\":6,\"LICENSE\":24,\"README.md\":142,\"dependencies.lock.json\":20,\"docs/AUDIT_1053AF02.md\":106,\"docs/AUDIT_5F43F94D.md\":93,\"docs/AUDIT_648BA2E5.md\":61,\"docs/AUDIT_6B607200.md\":76,\"docs/AUDIT_D9970905.md\":79,\"docs/AUDIT_EF1F6915.md\":127,\"docs/CHAINS.md\":18,\"docs/DEPENDENCIES.md\":22,\"docs/DEPLOYMENT.md\":69,\"docs/HOOK_SPEC.md\":63,\"docs/IMD_INTEGRATION.md\":394,\"docs/LISTINGS_AND_ADS.md\":214,\"docs/STORE_API.md\":101,\"docs/THREAT_MODEL.md\":71,\"docs/VERIFICATION.md\":403,\"docs/build-fingerprints.json\":28,\"docs/checksums/FORMAT_ONLY.txt\":24,\"docs/checksums/UPSTREAM.sha256\":96,\"docs/checksums/VENDORED.sha256\":96,\"foundry.toml\":22,\"remappings.txt\":3,\"schemas/hook-spec.v1.schema.json\":17,\"script/DeployHook.s.sol\":38,\"script/DeployHookJobRequester.s.sol\":86,\"script/DeployStore.s.sol\":19,\"script/verify-vendored.sh\":15,\"sdk/hooks_store.py\":306,\"site/HookJobRequester.abi.json\":2810,\"site/index.html\":193,\"site/listings.html\":56,\"site/listings.js\":212,\"src/BoundedSwapHook.sol\":97,\"src/DisabledCallbacks.sol\":63,\"src/HookSpec.sol\":61,\"src/HooksStoreFactory.sol\":114,\"src/deployment/DeploymentPolicy.sol\":21,\"src/deployment/HookDeployment.sol\":44,\"src/deployment/HookMiner.sol\":63,\"src/imd/HookJobRequester.sol\":1076,\"src/imd/IIntake.sol\":27,\"src/imd/OracleAttestation.sol\":230,\"src/interfaces/IHooksStore.sol\":36,\"src/store/ExactStoreToken.sol\":48,\"src/store/FeaturedPlacements.sol\":270,\"src/store/HookListingRegistry.sol\":217,\"src/store/StoreAdmin.sol\":46,\"src/vendor/openzeppelin/LICENSE\":22,\"src/vendor/openzeppelin/interfaces/IERC1271.sol\":17,\"src/vendor/openzeppelin/interfaces/IERC5267.sol\":28,\"src/vendor/openzeppelin/interfaces/IERC7913.sol\":18,\"src/vendor/openzeppelin/utils/Bytes.sol\":247,\"src/vendor/openzeppelin/utils/Panic.sol\":57,\"src/vendor/openzeppelin/utils/ShortStrings.sol\":122,\"src/vendor/openzeppelin/utils/StorageSlot.sol\":143,\"src/vendor/openzeppelin/utils/Strings.sol\":515,\"src/vendor/openzeppelin/utils/cryptography/ECDSA.sol\":285,\"src/vendor/openzeppelin/utils/cryptography/EIP712.sol\":160,\"src/vendor/openzeppelin/utils/cryptography/MessageHashUtils.sol\":100,\"src/vendor/openzeppelin/utils/cryptography/SignatureChecker.sol\":162,\"src/vendor/openzeppelin/utils/math/Math.sol\":758,\"src/vendor/openzeppelin/utils/math/SafeCast.sol\":1162,\"src/vendor/openzeppelin/utils/math/SignedMath.sol\":68,\"test/AuditContextMismatchProof.t.sol\":444,\"test/AuditExpiryProof.t.sol\":168,\"test/AuditFixes.t.sol\":192,\"test/AuditReceiptConflictProof.t.sol\":197,\"test/DeployHookJobRequester.t.sol\":104,\"test/Deployment.t.sol\":329,\"test/FeaturedAdversarial.t.sol\":151,\"test/FeaturedInvariant.t.sol\":186,\"test/FeaturedPlacements.t.sol\":443,\"test/FeaturedTransfer.t.sol\":120,\"test/FeaturedTransferInvariant.t.sol\":80,\"test/HookIntegration.t.sol\":294,\"test/HookJobRequester.t.sol\":771,\"test/HookListingRegistry.t.sol\":265,\"test/OracleConformance.t.sol\":135,\"test/OracleSigner.t.sol\":125,\"test/RequesterMvpAudit.t.sol\":508,\"test/ReviewAuditRegression.t.sol\":295,\"test/ReviewBinding.t.sol\":359,\"test/ReviewDelivery.t.sol\":500,\"test/ReviewReceiptGas.t.sol\":284,\"test/ReviewReceiptPacking.t.sol\":99,\"test/ReviewRecovery.t.sol\":341,\"test/helpers/Fixture.sol\":46,\"test/helpers/ImdTemplates.sol\":19,\"test/helpers/MockIntake.sol\":127,\"test/helpers/PoolRouter.sol\":76,\"test/helpers/ReceiptSigners.sol\":75,\"test/helpers/StoreFixture.sol\":81,\"test/helpers/StoreTokenMock.sol\":82,\"test/helpers/TestToken.sol\":13,\"test/listings-reader.test.cjs\":97,\"test/requester-abi.test.cjs\":79,\"test/test_store_sdk.py\":193},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true},{"durationMs":4544,"exitCode":0,"name":"slither","output":"[high/medium] incorrect-exp at src/vendor/openzeppelin/utils/math/Math.sol:204: Math.mulDiv(uint256,uint256,uint256) (src/vendor/openzeppelin/utils/math/Math.sol#204-275) has bitwise-xor operator ^ instead of the exponentiation operator **: \n[medium/medium] divide-before-multiply at src/vendor/openzeppelin/utils/math/Math.sol:204: Math.mulDiv(uint256,uint256,uint256) (src/vendor/openzeppelin/utils/math/Math.sol#204-275) performs a multiplication on the result of a division:\n[medium/medium] divide-before-multiply at src/vendor/openzeppelin/utils/math/Math.sol:204: Math.mulDiv(uint256,uint256,uint256) (src/vendor/openzeppelin/utils/math/Math.sol#204-275) performs a multiplication on the result of a division:\n[medium/medium] divide-before-multiply at src/vendor/openzeppelin/utils/math/Math.sol:204: Math.mulDiv(uint256,uint256,uint256) (src/vendor/openzeppelin/utils/math/Math.sol#204-275) performs a multiplication on the result of a division:\n[medium/medium] divide-before-multiply at src/vendor/openzeppelin/utils/math/Math.sol:204: Math.mulDiv(uint256,uint256,uint256) (src/vendor/openzeppelin/utils/math/Math.sol#204-275) performs a multiplication on the result of a division:\n[medium/medium] divide-before-multiply at src/vendor/openzeppelin/utils/math/Math.sol:204: Math.mulDiv(uint256,uint256,uint256) (src/vendor/openzeppelin/utils/math/Math.sol#204-275) performs a multiplication on the result of a division:\n[medium/medium] divide-before-multiply at src/vendor/openzeppelin/utils/math/Math.sol:315: Math.invMod(uint256,uint256) (src/vendor/openzeppelin/utils/math/Math.sol#315-363) performs a multiplication on the result of a division:\n[medium/medium] divide-before-multiply at src/vendor/openzeppelin/utils/math/Math.sol:204: Math.mulDiv(uint256,uint256,uint256) (src/vendor/openzeppelin/utils/math/Math.sol#204-275) performs a multiplication on the result of a division:\n[medium/medium] divide-before-multiply at src/vendor/openzeppelin/utils/math/Math.sol:204: Math.mulDiv(uint256,uint256,uint256) (src/vendor/openzeppelin/utils/math/Math.sol#204-275) performs a multiplication on the result of a division:\n[medium/medium] divide-before-multiply at src/vendor/openzeppelin/utils/math/Math.sol:204: Math.mulDiv(uint256,uint256,uint256) (src/vendor/openzeppelin/utils/math/Math.sol#204-275) performs a multiplication on the result of a division:\n[medium/high] incorrect-equality at src/store/FeaturedPlacements.sol:219: FeaturedPlacements.getPlacement(uint256) (src/store/FeaturedPlacements.sol#219-222) uses a dangerous strict equality:\n[medium/medium] reentrancy-no-eth at src/imd/HookJobRequester.sol:379: Reentrancy in HookJobRequester.requestReview(bytes32,uint256) (src/imd/HookJobRequester.sol#379-407):\n[medium/medium] uninitialized-local at src/imd/HookJobRequester.sol:1019: HookJobRequester._validateBrief(bytes).cp (src/imd/HookJobRequester.sol#1019) is a local variable never initialized\n[medium/medium] uninitialized-local at src/imd/HookJobRequester.sol:1018: HookJobRequester._validateBrief(bytes).len (src/imd/HookJobRequester.sol#1018) is a local variable never initialized\n[medium/medium] unused-return at src/store/FeaturedPlacements.sol:104: FeaturedPlacements.configureToken(address) (src/store/FeaturedPlacements.sol#104-113) ignores return value by ExactStoreToken.balance(token,address(this)) (src/store/FeaturedPlacements.sol#110)\n[medium/medium] unused-return at src/vendor/openzeppelin/utils/cryptography/SignatureChecker.sol:44: SignatureChecker.isValidSignatureNowCalldata(address,bytes32,bytes) (src/vendor/openzeppelin/utils/cryptography/SignatureChecker.sol#44-55) ignores return value by (recovered,err,None) = ECDSA.tryRecoverCalldata(hash,signature) (src/vendor/openzeppelin/utils/cryptography/SignatureChecker.sol#50)\n[medium/medium] unused-return at src/imd/OracleAttestation.sol:159: OracleAttestationConsumer._verifyAttestation(OracleAttestation.Attestation,bytes) (src/imd/OracleAttestation.sol#159-174) ignores return value by (recovered,err,None) = ECDSA.tryRecoverCalldata(digest,signature) (src/imd/OracleAttestation.sol#169)\n[medium/medium] unused-return at src/vendor/openzeppelin/utils/cryptography/SignatureChecker.sol:32: SignatureChecker.isValidSignatureNow(address,bytes32,bytes) (src/vendor/openzeppelin/utils/cryptography/SignatureChecker.sol#32-39) ignores return value by (recovered,err,None) = ECDSA.tryRecover(hash,signature) (src/vendor/openzeppelin/utils/cryptography/SignatureChecker.sol#34)\n[low/medium] reentrancy-benign at src/store/FeaturedPlacements.sol:123: Reentrancy in FeaturedPlacements.deposit(uint256) (src/store/FeaturedPlacements.sol#123-131):\n[low/medium] reentrancy-benign at src/imd/HookJobRequester.sol:301: Reentrancy in HookJobRequester.openJob(bytes32,bytes,uint256) (src/imd/HookJobRequester.sol#301-323):\n[low/medium] reentrancy-benign at src/imd/HookJobRequester.sol:379: Reentrancy in HookJobRequester.requestReview(bytes32,uint256) (src/imd/HookJobRequester.sol#379-407):\n[low/medium] timestamp at src/imd/HookJobRequester.sol:783: HookJobRequester.expireReview(bytes32) (src/imd/HookJobRequester.sol#783-796) uses timestamp for comparisons\n[low/medium] timestamp at src/imd/HookJobRequester.sol:361: HookJobRequester.expireJob(bytes32) (src/imd/HookJobRequester.sol#361-369) uses timestamp for comparisons\n[low/medium] timestamp at src/imd/HookJobRequester.sol:803: HookJobRequester.confirmReviewExpiry(bytes32) (src/imd/HookJobRequester.sol#803-815) uses timestamp for comparisons\n[low/medium] timestamp at src/store/FeaturedPlacements.sol:197: FeaturedPlacements.settle(uint256) (src/store/FeaturedPlacements.sol#197-206) uses timestamp for comparisons\n[low/medium] timestamp at src/store/FeaturedPlacements.sol:145: FeaturedPlacements.purchase(uint256,uint256,address,uint256) (src/store/FeaturedPlacements.sol#145-173) uses timestamp for comparisons\n[low/medium] timestamp at src/imd/OracleAttestation.sol:159: OracleAttestationConsumer._verifyAttestation(OracleAttestation.Attestation,bytes) (src/imd/OracleAttestation.sol#159-174) uses timestamp for comparisons\n[low/medium] timestamp at src/store/FeaturedPlacements.sol:224: FeaturedPlacements.isActive(uint256) (src/store/FeaturedPlacements.sol#224-227) uses timestamp for comparisons\n[low/medium] timestamp at src/store/FeaturedPlacements.sol:177: FeaturedPlacements.cancel(uint256) (src/store/FeaturedPlacements.sol#177-194) uses timestamp for comparisons\n[low/medium] timestamp at src/store/FeaturedPlacements.sol:219: FeaturedPlacements.getPlacement(uint256) (src/store/FeaturedPlacements.sol#219-222) uses timestamp for comparisons","passed":true},{"durationMs":763,"exitCode":0,"name":"aderyn","output":"[high] abi-encode-packed-hash-collision at src/vendor/openzeppelin/utils/cryptography/MessageHashUtils.sol:63: `abi.encodePacked()` Hash Collision (2 places)\n[high] incorrect-caret-operator at src/vendor/openzeppelin/utils/math/Math.sol:257: Incorrect use of caret operator\n[high] incorrect-shift-order at src/deployment/HookMiner.sol:27: Incorrect Assembly Shift Parameter Order\n[high] reentrancy-state-change at src/imd/HookJobRequester.sol:311: Reentrancy: State change after external call (4 places)\n[high] reused-contract-name at src/vendor/openzeppelin/utils/math/SafeCast.sol:19: Contract Name Reused in Different Files\n[high] unsafe-casting at src/vendor/openzeppelin/utils/Strings.sol:432: Unsafe Casting of integers\n[low] centralization-risk at src/imd/HookJobRequester.sol:425: Centralization Risk (20 places)\n[low] costly-loop at src/store/HookListingRegistry.sol:175: Costly operations inside loop (2 places)\n[low] ecrecover at src/vendor/openzeppelin/utils/cryptography/ECDSA.sol:191: `ecrecover` Signature Malleability\n[low] internal-function-used-once at src/HookSpec.sol:35: Internal Function Used Only Once (33 places)\n[low] large-numeric-literal at src/deployment/HookMiner.sol:9: Large Numeric Literal (2 places)\n[low] literal-instead-of-constant at src/imd/HookJobRequester.sol:737: Literal Instead of Constant (226 places)\n[low] local-variable-shadowing at src/imd/HookJobRequester.sol:68: Local Variable Shadows State Variable (2 places)\n[low] non-reentrant-not-first at src/imd/HookJobRequester.sol:872: `nonReentrant` is Not the First Modifier (4 places)\n[low] push-zero-opcode at src/vendor/openzeppelin/interfaces/IERC1271.sol:4: PUSH0 Opcode (15 places)\n[low] require-revert-in-loop at src/deployment/HookMiner.sol:51: Loop Contains `require`/`revert` (6 places)\n[low] state-change-without-event at src/imd/HookJobRequester.sol:957: State Change Without Event\n[low] state-no-address-check at src/BoundedSwapHook.sol:43: Address State Variable Set Without Checks\n[low] state-variable-could-be-immutable at src/BoundedSwapHook.sol:21: State Variable Could Be Immutable (5 places)\n[low] unchecked-return at src/store/FeaturedPlacements.sol:110: Unchecked Return (4 places)\n[low] uninitialized-local-variable at src/imd/HookJobRequester.sol:1046: Uninitialized Local Variable (7 places)\n[low] unsafe-erc20-operation at src/store/ExactStoreToken.sol:43: Unsafe ERC20 Operation\n[low] unspecific-solidity-pragma at src/vendor/openzeppelin/interfaces/IERC1271.sol:4: Unspecific Solidity Pragma (4 places)","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"5c245ed01de5f4ebe2dfc2087a7d7c819d7f5a652dfb128de1b37fc16bf6f726","verifiedTreeHash":"15d5e0b42e8bca4d7996287cfe3110c696e4e21f","verifierVersion":"0.1.0+d952fceb"}]}