{"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":"dc3bc239-442f-4ed4-9dd0-281045da7c9e","kind":"skill:build-contract-project","nodes":[{"acceptedSubmissionHash":"b8247399cba207e0c7c4f4e2dfea1af238f416c1d0bbb7af032773739f0f4aff","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 b157921170c318f8eeee638b06025a81cf768c02. Build deployment-preparation artifacts, not another audit report. No public deployment, signatures, paid Intake calls, token or pool creation. Keep audited Solidity and compiler settings unchanged.\n\nAddress the non-contract findings in https://api.imdnotdead.fun/jobs/a136ca99-e312-45fa-8624-11d2c76522e3/report.md: visibly escape bidi/zero-width/control characters in displayed URIs with regression tests; add bounded SDK receipt polling with timeout/revert tests; correct both protocol anchors. Document the measured URI gas ceiling as a pilot check, not a universal safe limit.\n\nDeliver a deployment manifest and executable preflight/configuration tools for HookListingRegistry, FeaturedPlacements, HookJobRequester and, only where supported, HooksStoreFactory. Reuse existing scripts. Specify deployment order, constructor dependencies, first-party address sources, exact post-deployment owner calls, unsigned calldata and state-readback checks. Check the actual IMD no-token launcher; do not assume it executes post-deployment setters.\n\nSeparate Sepolia infrastructure testing from a real paid Intake pilot. Recheck official docs/capabilities and action prices. Explicitly flag that the current factory is testnet-only and deploys only BoundedSwapHook; identify the exact additional work needed for production and generated-hook deployment without implementing it here.\n\nKeep owner and recipient approval-gated; preserve proposed ad proceeds recipient 0x3f252e859a277a86A3967c11D4E054B2f07a1F22, not the Intake payee. Never guess credentials or silently substitute recipients.\n\nRun local dry runs and Foundry/site/ABI/SDK tests; verify Solidity bytecode is unchanged. Return commit, actual command logs and a short list of unresolved operator inputs. Separate mock/local results from live evidence.","parentJobId":"b29e6c95-8a83-411b-9690-062573688a89","planHash":"b4f49f3507b7c710d4b78d5682318b6b4e0bb0a9870e9be1da093dab5d743948","previousHash":"85d4c2e09ce82a5b9b0b8fc46e8749f2378be8bcbfb07f7c10cbebadc724fec8","projectId":"28e81139-f2a5-4a5a-a239-b6c315b58e01","publication":{"commit":"510bcfbf16cd6580a0f2409e9a92493241bbaa46","deliveredAt":"2026-10-17T04:41:24.066Z","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":[],"site":null,"snapshotHash":"16ba04c818f931d6ad449cd67dee7ce1bd70af063164e1b1fc153fd40aa95ad8","state":"completed","submissions":[{"artifacts":[],"attempt":1,"bundleHash":"7e68ad71f60f7e79a59ab961b5c5e8de095a37ba8fa7be474c6989101657bcea","device":"7143d892ed24d728","findings":[],"hash":"b8247399cba207e0c7c4f4e2dfea1af238f416c1d0bbb7af032773739f0f4aff","nodeId":"3a23d169-3540-4097-ba11-5ebbc55e5692","outcome":"completed","summary":"Implemented the fixes and deployment-preparation package.\n\n[Manifest](deployment/manifest.json) · [Operator runbook](docs/DEPLOYMENT_PREPARATION.md) · [Actual command logs](docs/checks/deployment-preparation/README.md)\n\n- Build and formatting pass.\n- Foundry: **253 tests passed with each seed**.\n- Site/ABI: **20 passed**; SDK/tooling: **30 passed**.\n- All five application bytecodes unchanged.\n- Local dry runs and live read-only evidence are separated. No public deployment or paid request occurred.\n\nOpen inputs: owner approval; approval of proposed recipient `0x3f252e859a277a86A3967c11D4E054B2f07a1F22`; pilot chain/RPC/budget; validated templates and authenticated oracle mapping; launcher acceptance of separate owner configuration.\n\nBase commit: `b157921170c318f8eeee638b06025a81cf768c02`. No new commit was created because your rules prohibit touching `.git/`; the worktree is ready for submission.","treeHash":"5fbc63b9407d7649c1df1e1658f66959572d8a32","usage":{"cachedInputTokens":6632960,"inputTokens":210041,"model":"gpt-6-astra","outputTokens":74618,"runtime":"codex","turns":9,"wallClockMs":1696817}}],"verification":[{"checks":[{"durationMs":29870,"exitCode":0,"name":"build","output":"Compiling 132 files with Solc 0.8.26\nSolc 0.8.26 finished in 29.61s\nCompiler run successful!\n","passed":true},{"durationMs":53412,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 1 test for test/UriPilotGas.t.sol:UriPilotGasTest\n[PASS] testColdMeasuredUriBoundaryAndOneAttemptFeeLoss() (gas: 872304)\nLogs:\n  Local cold URI bytes delivered under exact 200k: 20224\n  Local cold URI bytes exceeding exact 200k: 20256\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 3.64ms (821.27µs CPU time)\n\nRan 4 tests for test/OracleConformance.t.sol:OracleConformanceTest\n[PASS] testProtocolSignatureVerifiesBeforeItsNonBoolAnswerIsRefused() (gas: 2060648)\n[PASS] test_acceptsAFreshSignatureFromTheVectorKeyAsDelivered() (gas: 2136385)\n[PASS] test_callbackSelectorsAreCanonical() (gas: 3965)\n[PASS] test_digestMatchesTheProtocol() (gas: 13912)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 4.34ms (2.09ms CPU time)\n\nRan 1 test for test/JobProtocolTuple.t.sol:JobProtocolGasTest\n[PASS] testColdTupleWithLongURIFits200kAndRuntimeLimit() (gas: 894390)\nLogs:\n  Cold job tuple with 4096-byte URI minimum forwarded gas: 67052\n  Requester deployed runtime bytes: 24117\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 4.87ms (1.16ms 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 4.86ms (734.24µs CPU time)\n\nRan 1 test for test/AuditReceiptConflictProof.t.sol:StuckReceiptProofTest\n[PASS] testOwnerCanCloseReceiptWhoseUuidWasConsumedElsewhere() (gas: 2596747)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 5.32ms (2.87ms CPU time)\n\nRan 1 test for test/AuditExpiryProof.t.sol:ExpiryFrontRunShoppingTest\n[PASS] testRequesterFrontRunsLateNotPassedWithExpiryAndReasks() (gas: 1278383)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 6.06ms (2.68ms CPU time)\n\nRan 3 tests for test/DeployHookJobRequester.t.sol:DeployHookJobRequesterTest\n[PASS] testCheckRefusesAddressesWithoutCodeAndUnsoldActions() (gas: 136180)\n[PASS] testDeployThenConfigureGivesAWorkingRequesterOwnedByTheNamedOwner() (gas: 7241222)\n[PASS] testRunRefusesZeroBroadcaster() (gas: 86380)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 7.40ms (4.43ms CPU time)\n\nRan 6 tests for test/OracleSigner.t.sol:OracleSignerTest\n[PASS] testContractSignerUsesErc1271FallbackUnderTheStipend() (gas: 2627221)\n[PASS] testDelegatedSignerStillRejectsWrongKeyTamperingAndMalformedEcdsa() (gas: 2511895)\n[PASS] testEcdsaKeyRemainsValidEvenIfItsCodeRejectsErc1271() (gas: 2249328)\n[PASS] testEip7702DesignatorDoesNotDisableTheSignersEcdsaKey() (gas: 2263466)\n[PASS] testErc1271RevocationRevertAndShortReturnFailClosedAndDoNotConsume() (gas: 3047340)\n[PASS] testFutureAttestationIsRefusedWithoutConsumingIt() (gas: 2187980)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 11.21ms (8.35ms CPU time)\n\nRan 29 tests for test/HookJobRequester.t.sol:HookJobRequesterTest\n[PASS] testAnswerSignedForAnotherConsumerRefused() (gas: 2191898)\n[PASS] testBodyIsExactTemplateWithStepsSpecAndQuotedBrief() (gas: 947576)\n[PASS] testBriefValidation() (gas: 1870180)\n[PASS] testCallbackWithUnexpectedAbiFailsSafeAndJobCanExpire() (gas: 1202748)\n[PASS] testCallbacksFitTheIntakeStipend() (gas: 1859307)\n[PASS] testConstructorRefusesZeroAddresses() (gas: 10483)\n[PASS] testForgedExpiredWeakOrMistypedAnswersRefused() (gas: 2799455)\n[PASS] testFuzzPrintableAsciiBriefAcceptedUnlessReserved(bytes32,uint8) (runs: 256, μ: 502506, ~: 868182)\nLogs:\n  Bound result 20\n\n[PASS] testJobFailureClosesJobOnceAndIsNotAVerdict() (gas: 1954526)\n[PASS] testJobIdCollidingWithPendingReviewAskRefused() (gas: 2464996)\n[PASS] testOpenJobPaysOncePullsExactPriceAndTracksRequestId() (gas: 1153399)\n[PASS] testOwnerSettersAreOwnerOnlyAndValidated() (gas: 638330)\n[PASS] testPriceCeilingProtectsStandingAllowance() (gas: 3071134)\n[PASS] testResultAcceptedOnceFromIntakeOnly() (gas: 1116520)\n[PASS] testReusedRequestIdRefused() (gas: 1242437)\n[PASS] testReviewExpiryRequestedByRequesterAndConfirmedByOwner() (gas: 2378290)\n[PASS] testReviewFailureLeavesNoVerdictAndAllowsRetry() (gas: 3487817)\n[PASS] testReviewNotPassedIsStoredNotReverted() (gas: 2275740)\n[PASS] testReviewOnlyForDeliveredOrExpiredJobsByRequester() (gas: 2404055)\n[PASS] testReviewPassedOnlyFromSignedOracleAnswer() (gas: 2494788)\n[PASS] testSameAttestationCannotSettleASecondAsk() (gas: 4306375)\n[PASS] testSignerRotationTakesEffect() (gas: 2361296)\n[PASS] testStaticSiteReadContract() (gas: 1019818)\n[PASS] testSweepRecoversStrayTokens() (gas: 137069)\n[PASS] testUnconfiguredRequesterRefusesUntilOwnerSetsTemplates() (gas: 1560555)\n[PASS] testUnknownRequestIdRefused() (gas: 142556)\n[PASS] testUnpricedActionAndVersion1IntakeRefusedWithoutPayment() (gas: 472643)\n[PASS] testVersion1IntakeWorksWithTheFailureHookOff() (gas: 3249057)\n[PASS] testWalletMustApproveAndPay() (gas: 373289)\nSuite result: ok. 29 passed; 0 failed; 0 skipped; finished in 108.76ms (124.84ms CPU time)\n\nRan 5 tests for test/FeaturedTransfer.t.sol:FeaturedTransferTest\n[PASS] testBuyerCanClearSellersAdAndBuyItsOwnWhileOnlySellerGetsRefund() (gas: 3188812)\n[PASS] testFuzzNewOwnerCancellationConservesAllCredits(uint256) (runs: 256, μ: 1712298, ~: 1713805)\nLogs:\n  Bound result 2463\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 163.56ms (176.13ms 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, μ: 210233, ~: 210034)\n[PASS] testFuzzRealSwapsSettleAndConserve(uint128,bool,bool,bool) (runs: 256, μ: 281001, ~: 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 245.62ms (233.72ms 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, μ: 747329, ~: 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 439.45ms (447.24ms 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 718.74ms (240.28ms CPU time)\n\nRan 3 tests for test/ReviewReceiptPacking.t.sol:ReviewReceiptPackingTest\n[PASS] testAllocatedMetadataIsNotAnAnswerAndReadAbiRemainsTenWords() (gas: 1882167)\n[PASS] testFuzzReceiptPreservesFullContextAndPackedFields(uint64,uint64,uint64,uint16,uint16,bool,uint256) (runs: 256, μ: 2402652, ~: 2402643)\nLogs:\n  Bound result 0\n  Bound result 5\n  Bound result 5\n\n[PASS] testReceiptPackingMaximumValuesDoNotLeakIntoAdjacentFields() (gas: 2392631)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 738.40ms (452.70ms 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, μ: 1590331, ~: 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 749.09ms (187.22ms CPU time)\n\nRan 7 tests for test/ReviewAuditRegression.t.sol:ReviewAuditRegressionTest\n[PASS] testExpiryNeedsDeadlineAndCurrentOwnerApprovalForExactAsk() (gas: 3755978)\n[PASS] testExpiryRequestAllowsBindingBeforeLateDelivery() (gas: 2447036)\n[PASS] testFuzzExactConflictRecoveryPreservesOtherAskAndReplayProtection(bool,bool,bool) (runs: 256, μ: 5951954, ~: 5951946)\n[PASS] testFuzzExpiryAndDeliveryBothOrdersPreserveVerdictAndBlockRetries(bool,bool,bool) (runs: 256, μ: 2690485, ~: 2779070)\n[PASS] testFuzzSameUuidTypoCannotDiscardGenuineNegativeEvenWithConflict(uint8,bool) (runs: 256, μ: 3470637, ~: 2580490)\nLogs:\n  Bound result 0\n\n[PASS] testFuzzUnavailableDifferentTrueUuidCannotDiscardGenuineNegative(uint8) (runs: 256, μ: 4592470, ~: 4592976)\nLogs:\n  Bound result 1\n\n[PASS] testIntakeFailureAfterExpiryRequestAllowsRetryAndInvalidatesOldApproval() (gas: 3259741)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 765.16ms (2.45s CPU time)\n\nRan 6 tests for test/RequesterMvpAudit.t.sol:RequesterMvpPaymentTest\n[PASS] testCallerLimitZeroFailsAndLowerQuoteChargesOnlyQuote() (gas: 1077278)\n[PASS] testExistingDonationsCannotHideUnderpaymentOrBecomeCallerFunds() (gas: 1829601)\n[PASS] testFuzzCallerLimitSurvivesOwnerCeilingIncreaseAndIntakePriceMove(bool,uint96) (runs: 256, μ: 1610959, ~: 2075185)\nLogs:\n  Bound result 1\n\n[PASS] testFuzzInexactIncomingTokensCannotSpendPreexistingDonations(uint8) (runs: 256, μ: 1209027, ~: 1210500)\nLogs:\n  Bound result 1\n\n[PASS] testFuzzUnderspendingIntakeRollsBackAllStateAndLeavesNothingSweepable(uint256,bool,bool) (runs: 256, μ: 2410853, ~: 2880819)\nLogs:\n  Bound result 25647596775635\n\n[PASS] testTokenCallbackCannotReenterSweepOrChangePaymentConfiguration() (gas: 4055234)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 765.04ms (1.18s CPU time)\n\nRan 13 tests for test/ReviewBinding.t.sol:ReviewBindingTest\n[PASS] testAnswerAtDeadlineAcceptedAndExcessiveBackwardSkewRefused() (gas: 2382031)\n[PASS] testBindingRequiresOwnerAndExactRecordedBodyAndCannotBeOverwritten() (gas: 2211557)\n[PASS] testExpiredAskAnswerCannotSettleRetryOfIdenticalQuestion() (gas: 3656740)\n[PASS] testFuzzIntakeIdCannotBeReusedAfterReviewCloses(uint8) (runs: 256, μ: 2809198, ~: 2831866)\nLogs:\n  Bound result 1\n\n[PASS] testFuzzOracleIdReservationSurvivesFailureExpiryAndSettlement(uint8) (runs: 256, μ: 4268589, ~: 4295404)\nLogs:\n  Bound result 1\n\n[PASS] testInvalidOrUnknownBindingsRefused() (gas: 2068064)\n[PASS] testLateValidAnswerAndLateBindingAllowedUntilExplicitExpiry() (gas: 4466236)\n[PASS] testOwnerRotationPowersApplyToAlreadyPendingRequestsAsDocumented() (gas: 3317082)\n[PASS] testSignedPanelQuorumAndCountsMustBeConsistent() (gas: 2243442)\n[PASS] testSignedWrongQuestionIdChainOrWindowCannotSettle() (gas: 3719940)\n[PASS] testSwappedHonestAnswersLeaveBothPendingThenSettleTheirOwnAsks() (gas: 5021773)\n[PASS] testTemplateAndTimeoutChangesDoNotChangePendingAskContext() (gas: 2568227)\n[PASS] testUnboundReceiptDoesNotTrustMatchingIntakeIdAndRawBodyHash() (gas: 2428721)\nSuite result: ok. 13 passed; 0 failed; 0 skipped; finished in 765.46ms (884.01ms CPU time)\n\nRan 24 tests for test/ReviewDelivery.t.sol:ReviewDeliveryTest\n[PASS] testAnswerAtExactSignatureExpiryCanBeRetainedAndConfirmedLater() (gas: 2353047)\n[PASS] testConfirmedReceiptCannotBeReplayedOrRebound() (gas: 2404078)\n[PASS] testEarlyEip7702KeyReceiptFitsColdStipend() (gas: 2353570)\n[PASS] testEarlyErc1271ReceiptFitsColdStipendAndSurvivesLaterRevocation() (gas: 2884531)\n[PASS] testFreshLateAnswerAcceptedIfRequesterRequestsExpiryFirst() (gas: 2369641)\n[PASS] testFuzzBindingMustMatchEveryRetainedFieldAndFailedBindingCanBeCorrected(uint8) (runs: 256, μ: 2599518, ~: 2599721)\nLogs:\n  Bound result 4\n\n[PASS] testFuzzClockSkewToleranceIsSymmetricAtAskTime(int16,bool) (runs: 256, μ: 2310053, ~: 2323088)\nLogs:\n  Bound result -126\n\n[PASS] testFuzzEarlyOneAttemptCallbackRetainedThenConfirmedWithoutAnotherFee(bool) (runs: 256, μ: 2800122, ~: 2800122)\n[PASS] testFuzzFreshLateAnswerAcceptedUntilExplicitExpiry(bool,uint32) (runs: 256, μ: 2420796, ~: 2400533)\nLogs:\n  Bound result 1\n\n[PASS] testFuzzInvalidEarlyAnswerNeverCreatesReceiptOrVerdict(uint8) (runs: 256, μ: 2024165, ~: 2026580)\nLogs:\n  Bound result 16\n\n[PASS] testFuzzRequesterCannotDiscardRetainedAnswerOrBuyAnotherReview(bool) (runs: 256, μ: 2586628, ~: 2586628)\n[PASS] testIntakeFailureBeforeReceiptIsTerminalAndBindingCannotInventAnAnswer() (gas: 2054289)\n[PASS] testInvalidOneAttemptCallbackLosesFeeAndCannotRetryOrCreateReceipt() (gas: 3581878)\n[PASS] testMalformedOneShotCallbackCannotCreateReceipt() (gas: 1889525)\n[PASS] testOneSecondBackwardSkewAndExactFiveMinuteBoundaryAccepted() (gas: 4620310)\n[PASS] testOnlyCurrentIntakeMayRetainAndOnlyOwnerMayConfirm() (gas: 2552393)\n[PASS] testReceiptBindingStillRequiresExactBodyFingerprint() (gas: 2358125)\n[PASS] testReceiptCanBeConfirmedAfterSignatureExpiryTimeoutAndAuthorityRotation() (gas: 2637612)\n[PASS] testReceiptCannotBeOverwrittenOrClearedBySecondIntakeCallback() (gas: 2592195)\n[PASS] testReservedUuidRetainedWithoutVerdictButConsumedUuidRefused() (gas: 6131275)\n[PASS] testSignatureExpiryStillControlsArrivalEvenAfterAskDeadline() (gas: 2022594)\n[PASS] testSwappedEarlyYesAndNoAnswersCannotBecomeVerdicts() (gas: 4361713)\n[PASS] testTimestampExtremesDoNotOverflowSkewCheck() (gas: 2412099)\n[PASS] testUnconfirmedDuplicateCannotReserveOrConsumeTheActualAsksUuid() (gas: 4374316)\nSuite result: ok. 24 passed; 0 failed; 0 skipped; finished in 766.11ms (2.06s CPU time)\n\nRan 13 tests for test/RequesterMvpAudit.t.sol:RequesterMvpLifecycleTest\n[PASS] testAbandonedAskReceiptBlocksClosureWithoutRequesterExpiryRequest() (gas: 2356137)\n[PASS] testBindingResetRequiresOwnerExactBodyAndPendingBoundAsk() (gas: 2745439)\n[PASS] testFuzzCompromisedEpochBlocksRetainedAnswersAndAllowsHonestClosure(bool,bool) (runs: 256, μ: 4036298, ~: 4164280)\n[PASS] testFuzzJobFailureAndExpiryOrderingCannotChangeReviewEligibility(uint8,bool) (runs: 256, μ: 2487818, ~: 2499057)\nLogs:\n  Bound result 0\n\n[PASS] testFuzzWrongPrebindingRetainsOneShotAnswerAndCanBeCorrected(uint8,bool) (runs: 256, μ: 2890019, ~: 2889581)\nLogs:\n  Bound result 0\n\n[PASS] testIncidentRevocationIsExplicitAndCannotUndoFinalizedVerdicts() (gas: 2491813)\n[PASS] testLateFailureCannotClearFinalizedNegativeReview() (gas: 2409318)\n[PASS] testOwnerClosesAbandonedAskOnlyAfterDeadlineAndCannotCloseItsRetry() (gas: 3679361)\n[PASS] testRevocationFreezesEveryOldReceiptButNotANewEpochReceipt() (gas: 6624254)\n[PASS] testRevocationValidatesAuthorityEpochAndEvidence() (gas: 238952)\n[PASS] testRevokedBoundMismatchClosesWithoutResetAndReservationReleasePreservesHistory() (gas: 2650887)\n[PASS] testSwappedPreboundDeliveriesStayPendingAndNeverConsumeEachOthersUuid() (gas: 4996492)\n[PASS] testUnknownOrMissingReceiptCannotBeIncidentClosed() (gas: 1869944)\nSuite result: ok. 13 passed; 0 failed; 0 skipped; finished in 766.82ms (2.12s CPU time)\n\nRan 12 tests for test/AuditContextMismatchProof.t.sol:AuditContextMismatchProofTest\n[PASS] testAsynchronousRefusalAfterPaymentClosesWithoutRefund() (gas: 2749066)\n[PASS] testContextMismatchRecoveryCannotSetAsideAMatchingVerdictOrBeCalledByRequester() (gas: 2689591)\n[PASS] testContextMismatchRecoveryNeedsAnUnboundPendingAskWithAReceipt() (gas: 2545315)\n[PASS] testFuzzAcceptedTemplateNamesEveryStepInEveryAssembledBody(bytes32,uint16,uint8) (runs: 256, μ: 1629989, ~: 1641061)\nLogs:\n  Bound result 204\n\n[PASS] testFuzzBodyQuorumBelowConfiguredMinimumNoLongerBurnsAnAgreedAnswer(uint16,uint16,bool,bool) (runs: 256, μ: 2328001, ~: 2272917)\nLogs:\n  Bound result 6\n  Bound result 1\n\n[PASS] testFuzzPanelStrengthMinimumsStillRefuseWeakAnswersInOneShot(uint8) (runs: 256, μ: 2432635, ~: 2432664)\nLogs:\n  Bound result 0\n\n[PASS] testFuzzSameUuidOtherSignedContextWasStuckAndNowClosesHonestly(uint8,bool) (runs: 256, μ: 4070493, ~: 4070568)\nLogs:\n  Bound result 0\n\n[PASS] testFuzzStepMarkerSplitAcrossFragmentsIsRefused(uint8,uint8,uint8) (runs: 256, μ: 1111628, ~: 1114052)\nLogs:\n  Bound result 0\n  Bound result 0\n  Bound result 1\n\n[PASS] testFuzzSynchronousIntakeRefusalRevertsTheWholeAskWithoutDebit(bytes4,bool) (runs: 256, μ: 2551493, ~: 2551487)\n[PASS] testMarkersOnlyACreatorBriefCouldSupplyDoNotSatisfyTheTemplate() (gas: 960879)\n[PASS] testReceiptAcknowledgmentCommitsToTheVerdict() (gas: 2195626)\n[PASS] testReproductionQuorumOneWithSixAgreedIsAValidAnswer() (gas: 2278852)\nSuite result: ok. 12 passed; 0 failed; 0 skipped; finished in 767.30ms (3.03s 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 1.06s (7.18ms CPU time)\n\nRan 11 tests for test/ReviewRecovery.t.sol:ReviewRecoveryTest\n[PASS] testBoundOrTerminalAsksCannotBeDiscarded() (gas: 2367570)\n[PASS] testDiscardingDuplicateReceiptDoesNotClearGenuineConsumedUuid() (gas: 4380228)\n[PASS] testExpiredJobFalseVerdictRemainsTerminalEvenIfReviewLaterCompletes() (gas: 2444007)\n[PASS] testFuzzOwnerCannotDiscardReceiptWithMatchingContext(bool) (runs: 256, μ: 2375614, ~: 2375614)\n[PASS] testFuzzReleaseUnusedReservationAfterExpiryOrFailureThenFinalizeRetry(bool,bool) (runs: 256, μ: 5648635, ~: 5653544)\n[PASS] testFuzzSameUuidFieldMismatchCannotDiscardReceipt(uint8) (runs: 256, μ: 2237566, ~: 2237762)\nLogs:\n  Bound result 4\n\n[PASS] testLateNotPassedReceiptCannotBeFrontRunByRequesterExpiry() (gas: 2412823)\n[PASS] testRecoveryRequiresCurrentOwnerExactBodyValidContextAndReceipt() (gas: 2571619)\n[PASS] testReservationReleaseRejectsUnknownUnboundAndPendingHolderEvenPastDeadline() (gas: 4038072)\n[PASS] testSignerRotationPreservesRetainedVerificationButRejectsUndeliveredOldSignature() (gas: 4480967)\n[PASS] testSwappedReceiptOwnerClosesWrongAskWithoutStrandingGenuineUuid() (gas: 6144659)\nSuite result: ok. 11 passed; 0 failed; 0 skipped; finished in 1.06s (2.12s CPU time)\n\nRan 11 tests for test/JobProtocolTuple.t.sol:JobProtocolTupleTest\n[PASS] testDuplicateCannotReplaceHashOrURI() (gas: 1092073)\n[PASS] testEmptyURICanBeReportedWithoutReviewApproval() (gas: 1026753)\n[PASS] testFuzzLateTupleWorksBeforeOrAfterLocalExpiry(bool) (runs: 256, μ: 1104328, ~: 1104328)\n[PASS] testFuzzSuppliedHashAndURIBytesArePreserved(bytes32,uint16) (runs: 256, μ: 1122349, ~: 1089812)\nLogs:\n  Bound result 66\n\n[PASS] testLateTuplePreservesFinalizedNegativeReview() (gas: 2468528)\n[PASS] testMalformedTuplesLoseOnlyTheSingleIntakeAttempt() (gas: 6654115)\n[PASS] testObsoleteSelectorIsNotAnAlias() (gas: 1024978)\n[PASS] testProtocolTuple() (gas: 996399)\n[PASS] testRegisteredSelectorAndResultEventsMatchProtocol() (gas: 1102173)\n[PASS] testUnauthorizedTupleLeavesJobAndLogsUntouched() (gas: 1117916)\n[PASS] testUnknownTupleCannotDeliverAnotherRequest() (gas: 1029152)\nSuite result: ok. 11 passed; 0 failed; 0 skipped; finished in 1.07s (1.33s 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: 2938567)\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, μ: 382595, ~: 385495)\nLogs:\n  Bound result 3\n\n[PASS] testOverBudgetSignerStillFailsClosedAndLosesSingleAttemptWithoutPartialReceipt() (gas: 711516)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 1.07s (1.09s 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 1.07s (1.24s 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 223\n  Bound result 1132\n  Bound result 100000\n  Bound result 300\n  Bound result 10615\n  Bound result 467072\n  Bound result 225\n  Bound result 11130\n  Bound result 3948\n  Bound result 3191\n  Bound result 1073741823\n  Bound result 546603\n  Bound result 40000\n  Bound result 87948485967098101\n  Bound result 7962\n  Bound result 88\n  Bound result 320\n  Bound result 290740339967630715\n  Bound result 244\n  Bound result 1842\n  Bound result 1342499211167997\n  Bound result 41\n  Bound result 65\n  Bound result 260000\n  Bound result 1801172394\n  Bound result 2\n  Bound result 60477365535484851\n  Bound result 224\n  Bound result 1000000\n  Bound result 7410309985474090\n  Bound result 87948484166936812\n  Bound result 244\n  Bound result 31948381720357534\n  Bound result 1800604801\n  Bound result 593676\n  Bound result 1954017188\n  Bound result 101\n  Bound result 5888\n  Bound result 74450\n  Bound result 540\n  Bound result 1792\n  Bound result 10533546071641789\n  Bound result 32046317585826634\n  Bound result 50\n  Bound result 101568167178913801\n  Bound result 263\n  Bound result 3844\n  Bound result 4278255360\n  Bound result 6317\n  Bound result 1024\n  Bound result 6075\n  Bound result 210\n  Bound result 6047\n  Bound result 671010\n  Bound result 348604\n  Bound result 626814\n  Bound result 14\n  Bound result 459248\n  Bound result 292539217066958302\n  Bound result 244\n  Bound result 97\n  Bound result 6615\n  Bound result 1502\n  Bound result 6586\n  Bound result 55225160609292839\n  Bound result 7731670321117025\n  Bound result 152\n  Bound result 176\n  Bound result 195422390183165706\n  Bound result 6614\n  Bound result 224350662794935\n  Bound result 346\n  Bound result 1403\n  Bound result 116200375876060\n  Bound result 194757092425433754\n  Bound result 100000\n  Bound result 20583\n  Bound result 1801121425\n  Bound result 18889\n  Bound result 631414\n  Bound result 271996739901653372\n  Bound result 7365036100479221\n  Bound result 522611232404787147\n  Bound result 1389061178447527\n  Bound result 55330202645536375\n  Bound result 115428911151845857\n  Bound result 25032605976941\n  Bound result 1300\n  Bound result 3744391853068\n  Bound result 320165\n  Bound result 777598\n  Bound result 514\n  Bound result 167934543576446635\n  Bound result 1\n  Bound result 284156835621050842\n  Bound result 157198259\n  Bound result 131072\n  Bound result 225\n  Bound result 40\n  Bound result 6737048805\n  Bound result 284634302914454324\n  Bound result 184\n  Bound result 14550264550264\n  Bound result 84532\n  Bound result 241831834737352020\n  Bound result 2000\n  Bound result 448120919896\n  Bound result 4467\n  Bound result 4927\n  Bound result 203638288356830442\n  Bound result 6614\n  Bound result 8711\n  Bound result 7642\n  Bound result 676730\n  Bound result 71\n  Bound result 275564239312755226\n  Bound result 4453\n  Bound result 193\n  Bound result 68824082835343408\n  Bound result 31337\n  Bound result 3142\n  Bound result 4663\n  Bound result 152\n  Bound result 200796775291525\n  Bound result 10000000\n  Bound result 5055\n  Bound result 4278255360\n  Bound result 385\n  Bound result 210\n  Bound result 232\n  Bound result 631286\n  Bound result 555710\n  Bound result 214457280326292611\n  Bound result 133478\n  Bound result 7192\n  Bound result 1792\n  Bound result 241745\n  Bound result 1801172394\n  Bound result 1900\n  Bound result 11202204140567\n  Bound result 3\n  Bound result 260000\n  Bound result 71786145819469898\n  Bound result 54960701404759629\n  Bound result 660948600890386\n  Bound result 507\n  Bound result 27561314903871697\n  Bound result 38488877563905\n  Bound result 6368783733075746\n  Bound result 10732\n  Bound result 224\n  Bound result 10475\n  Bound result 116200375876060\n  Bound result 74966859414961920\n  Bound result 653906675248\n  Bound result 484\n  Bound result 11426\n  Bound result 5231640034807069\n  Bound result 4700\n  Bound result 10764\n  Bound result 16383\n  Bound result 204228664652128425\n  Bound result 759\n  Bound result 72\n  Bound result 213845706268122588\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 50.66s (50.66s 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 5806\n  Bound result 3792478064\n  Bound result 133180\n  Bound result 3964\n  Bound result 848\n  Bound result 208\n  Bound result 2001\n  Bound result 5813\n  Bound result 725633\n  Bound result 2293\n  Bound result 166\n  Bound result 2\n  Bound result 7\n  Bound result 202261\n  Bound result 80\n  Bound result 4741\n  Bound result 8090\n  Bound result 3683\n  Bound result 311022\n  Bound result 92\n  Bound result 1717474332\n  Bound result 164337593543950336\n  Bound result 212910\n  Bound result 475\n  Bound result 125170454869629195\n  Bound result 2000\n  Bound result 854\n  Bound result 444890\n  Bound result 47\n  Bound result 4096\n  Bound result 88\n  Bound result 4096\n  Bound result 4663\n  Bound result 172800\n  Bound result 277511596451062893\n  Bound result 202590724900082123\n  Bound result 156114\n  Bound result 8280325072371395\n  Bound result 66482869645213695\n  Bound result 58\n  Bound result 2048\n  Bound result 22595111\n  Bound result 709600\n  Bound result 101\n  Bound result 60750281130925354\n  Bound result 593675\n  Bound result 3345\n  Bound result 842\n  Bound result 314998\n  Bound result 2000\n  Bound result 4123\n  Bound result 834\n  Bound result 66762757488490683\n  Bound result 7504\n  Bound result 82732934070810388\n  Bound result 24\n  Bound result 256\n  Bound result 8244\n  Bound result 216\n  Bound result 2467\n  Bound result 86400\n  Bound result 36041506559557988\n  Bound result 216\n  Bound result 17179869184\n  Bound result 45915376022218784\n  Bound result 7930\n  Bound result 75644250940394395\n  Bound result 322\n  Bound result 3792489786\n  Bound result 5215\n  Bound result 994\n  Bound result 2625\n  Bound result 570778\n  Bound result 63141518161494337\n  Bound result 17\n  Bound result 596\n  Bound result 30\n  Bound result 25164012647832507\n  Bound result 8502\n  Bound result 95\n  Bound result 3707953493\n  Bound result 2048\n  Bound result 631286\n  Bound result 190000\n  Bound result 72\n  Bound result 3\n  Bound result 27\n  Bound result 292\n  Bound result 29796947718933725\n  Bound result 20\n  Bound result 1193\n  Bound result 4294967296\n  Bound result 432266\n  Bound result 157198259\n  Bound result 6454\n  Bound result 26\n  Bound result 225684821632784055\n  Bound result 127510452347177506\n  Bound result 111540275764857273\n  Bound result 20256\n  Bound result 4568\n  Bound result 1000000\n  Bound result 14\n  Bound result 127035603870986413\n  Bound result 120\n  Bound result 40529461137701972\n  Bound result 114421783849352696\n  Bound result 803\n  Bound result 1804315287\n  Bound result 55608209905958992\n  Bound result 2835717307\n  Bound result 4115\n  Bound result 100000000000000000\n  Bound result 229854018261546062\n  Bound result 230304381176537400\n  Bound result 5375\n  Bound result 448256620\n  Bound result 299502532662132735\n  Bound result 7948\n  Bound result 9256\n  Bound result 6815\n  Bound result 155631823579132687\n  Bound result 1\n  Bound result 31337\n  Bound result 4326\n  Bound result 316964\n  Bound result 23918124462965093\n  Bound result 565447769517176344\n  Bound result 28\n  Bound result 330291\n  Bound result 4597\n  Bound result 3746\n  Bound result 17179883264\n  Bound result 1056290820\n  Bound result 127510452347179971\n  Bound result 46630\n  Bound result 56\n  Bound result 17179869184\n  Bound result 1099511627775\n  Bound result 55\n  Bound result 195000\n  Bound result 30627843821632105\n  Bound result 561440\n  Bound result 51920582771345764\n  Bound result 208\n  Bound result 3321\n  Bound result 540\n  Bound result 480\n  Bound result 5513\n  Bound result 543452\n  Bound result 293782792835301375\n  Bound result 1689\n  Bound result 6584\n  Bound result 1307\n  Bound result 513\n  Bound result 190503808883275889\n  Bound result 102519820481068166\n  Bound result 184\n  Bound result 124312805687869652\n  Bound result 108599983505292563\n  Bound result 784\n  Bound result 5838\n  Bound result 928\n  Bound result 4901\n  Bound result 408925086996793009\n  Bound result 1308\n  Bound result 112\n  Bound result 256\n  Bound result 176\n  Bound result 452471294638289358\n  Bound result 1804919845\n  Bound result 400\n  Bound result 2369\n  Bound result 192\n  Bound result 2278\n  Bound result 334477\n  Bound result 645788\n  Bound result 8899\n  Bound result 125169935154903511\n  Bound result 255\n  Bound result 4838\n  Bound result 519224\n  Bound result 14932089106932340\n  Bound result 299\n  Bound result 4658\n  Bound result 29574936492050206\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 53.15s (53.14s CPU time)\n\nRan 28 test suites in 53.16s (116.95s CPU time): 253 tests passed, 0 failed, 0 skipped (253 total tests)\n","passed":true},{"durationMs":272,"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,bytes32,string)\",\"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\":154,\"dependencies.lock.json\":20,\"deployment/audited-build.json\":157,\"deployment/ethereum.draft.json\":13,\"deployment/manifest.json\":213,\"deployment/robinhood.draft.json\":13,\"deployment/sepolia.draft.json\":13,\"docs/AUDIT_1053AF02.md\":106,\"docs/AUDIT_5F43F94D.md\":94,\"docs/AUDIT_648BA2E5.md\":61,\"docs/AUDIT_6B607200.md\":76,\"docs/AUDIT_D9970905.md\":79,\"docs/AUDIT_EF1F6915.md\":127,\"docs/CHAINS.md\":28,\"docs/DEPENDENCIES.md\":22,\"docs/DEPLOYMENT.md\":88,\"docs/DEPLOYMENT_PREPARATION.md\":323,\"docs/HOOK_SPEC.md\":63,\"docs/IMD_INTEGRATION.md\":442,\"docs/LISTINGS_AND_ADS.md\":214,\"docs/STORE_API.md\":101,\"docs/THREAT_MODEL.md\":72,\"docs/VERIFICATION.md\":453,\"docs/build-fingerprints.json\":28,\"docs/checks/deployment-preparation/README.md\":105,\"docs/checks/deployment-preparation/assignment-seed.log\":394,\"docs/checks/deployment-preparation/baseline-build.log\":2256,\"docs/checks/deployment-preparation/build.log\":2257,\"docs/checks/deployment-preparation/bytecode-unchanged.json\":56,\"docs/checks/deployment-preparation/capabilities.json\":376,\"docs/checks/deployment-preparation/cold-gas.log\":56,\"docs/checks/deployment-preparation/deployment-tests.log\":15,\"docs/checks/deployment-preparation/ethereum-preflight.json\":17,\"docs/checks/deployment-preparation/fmt.log\":3,\"docs/checks/deployment-preparation/forge-test.log\":392,\"docs/checks/deployment-preparation/launcher-recipe.json\":10,\"docs/checks/deployment-preparation/live-rpc.json\":551,\"docs/checks/deployment-preparation/local-dry-run.json\":665,\"docs/checks/deployment-preparation/local-dry-run.log\":39,\"docs/checks/deployment-preparation/local-requester-activation.json\":538,\"docs/checks/deployment-preparation/local-script-dry-runs.log\":90,\"docs/checks/deployment-preparation/official-observations.json\":77,\"docs/checks/deployment-preparation/official-recheck.log\":53,\"docs/checks/deployment-preparation/preflight-commands.json\":47,\"docs/checks/deployment-preparation/python-tests.log\":39,\"docs/checks/deployment-preparation/robinhood-preflight.json\":17,\"docs/checks/deployment-preparation/sdk.log\":21,\"docs/checks/deployment-preparation/sepolia-preflight.json\":17,\"docs/checks/deployment-preparation/site-abi.log\":31,\"docs/checks/job-protocol-tuple/README.md\":112,\"docs/checks/job-protocol-tuple/assignment-seed-gas.log\":1494,\"docs/checks/job-protocol-tuple/build.log\":2256,\"docs/checks/job-protocol-tuple/cold-gas.log\":46,\"docs/checks/job-protocol-tuple/fmt.log\":0,\"docs/checks/job-protocol-tuple/foundry.log\":386,\"docs/checks/job-protocol-tuple/green.log\":60,\"docs/checks/job-protocol-tuple/implementation.patch\":998,\"docs/checks/job-protocol-tuple/red.log\":113,\"docs/checks/job-protocol-tuple/sdk.log\":15,\"docs/checks/job-protocol-tuple/site-abi.log\":26,\"docs/checks/job-protocol-tuple/tuple-tests.log\":30,\"docs/checks/job-protocol-tuple/vendored-retry.log\":1,\"docs/checks/job-protocol-tuple/vendored.log\":1,\"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/check_request_body.py\":37,\"script/dry_run_deployment.py\":100,\"script/prepare_deployment.py\":67,\"script/recheck_official.py\":150,\"script/verify-vendored.sh\":15,\"sdk/deployment.py\":450,\"sdk/hooks_store.py\":350,\"site/HookJobRequester.abi.json\":2834,\"site/display-text.js\":7,\"site/index.html\":224,\"site/listings.html\":57,\"site/listings.js\":213,\"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\":1074,\"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\":775,\"test/HookListingRegistry.t.sol\":265,\"test/JobProtocolTuple.t.sol\":220,\"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/UriPilotGas.t.sol\":34,\"test/__init__.py\":1,\"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/helpers/__init__.py\":1,\"test/helpers/local_rpc.py\":84,\"test/listings-reader.test.cjs\":108,\"test/requester-abi.test.cjs\":227,\"test/test_deployment_preparation.py\":210,\"test/test_receipts.py\":62,\"test/test_request_body_check.py\":31,\"test/test_store_sdk.py\":215},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"b8247399cba207e0c7c4f4e2dfea1af238f416c1d0bbb7af032773739f0f4aff","verifiedTreeHash":"5fbc63b9407d7649c1df1e1658f66959572d8a32","verifierVersion":"0.1.0+c3fba9eb"}]}