Hook record
0x3baceaab845cc195f00cbc4929cc2a8e4b82e46b
Repository publication, publisher claims, and observed public-task usage are shown as separate evidence layers.
Repository listed means only that this canonical manifest was merged into Taskmarket's registry. It is not an endorsement, audit, RPC check, source or codehash verification, liveness guarantee, or default selection.
Publisher-declared gas estimates
Measured through the test-only MockTaskmarketForSponsoredTask wrapper (`call<Callback>` rows) in a Foundry gas report (`forge test -j 1 --match-path "test/SponsoredTask*" --gas-report`, 176 tests) at commit 0c892497d782788ee1a9e2868c662ae7a448ca82: median (typical) and maximum gas across every call in that suite, including success and revert paths. Each figure includes the mock wrapper's own call and task-context overhead, so it is an upper bound on the hook callback alone, not an isolated measurement. (13 calls.)
Measured through the test-only MockTaskmarketForSponsoredTask wrapper (`call<Callback>` rows) in a Foundry gas report (`forge test -j 1 --match-path "test/SponsoredTask*" --gas-report`, 176 tests) at commit 0c892497d782788ee1a9e2868c662ae7a448ca82: median (typical) and maximum gas across every call in that suite, including success and revert paths. Each figure includes the mock wrapper's own call and task-context overhead, so it is an upper bound on the hook callback alone, not an isolated measurement. (2 calls.)
Measured through the test-only MockTaskmarketForSponsoredTask wrapper (`call<Callback>` rows) in a Foundry gas report (`forge test -j 1 --match-path "test/SponsoredTask*" --gas-report`, 176 tests) at commit 0c892497d782788ee1a9e2868c662ae7a448ca82: median (typical) and maximum gas across every call in that suite, including success and revert paths. Each figure includes the mock wrapper's own call and task-context overhead, so it is an upper bound on the hook callback alone, not an isolated measurement. (36 calls.)
Measured through the test-only MockTaskmarketForSponsoredTask wrapper (`call<Callback>` rows) in a Foundry gas report (`forge test -j 1 --match-path "test/SponsoredTask*" --gas-report`, 176 tests) at commit 0c892497d782788ee1a9e2868c662ae7a448ca82: median (typical) and maximum gas across every call in that suite, including success and revert paths. Each figure includes the mock wrapper's own call and task-context overhead, so it is an upper bound on the hook callback alone, not an isolated measurement. (2 calls.)
Measured through the test-only MockTaskmarketForSponsoredTask callOnComplete/callOnExpire wrappers, which the committed suite does not exercise, in a Foundry gas report (`forge test -j 1 --match-path "test/SponsoredTask*" --gas-report`) at commit 0c892497d782788ee1a9e2868c662ae7a448ca82 with uncommitted scenario tests added for this listing: one onComplete after checkComplete had already committed the completion (typical, the normal Diamond path) and one onComplete on a still-reserved allocation, which commits the completion itself (maximum). Each figure includes the mock wrapper's own call and task-context overhead, so it is an upper bound on the hook callback alone, not an isolated measurement.
Measured through the test-only MockTaskmarketForSponsoredTask callOnComplete/callOnExpire wrappers, which the committed suite does not exercise, in a Foundry gas report (`forge test -j 1 --match-path "test/SponsoredTask*" --gas-report`) at commit 0c892497d782788ee1a9e2868c662ae7a448ca82 with uncommitted scenario tests added for this listing: one onExpire releasing a reserved allocation. Each figure includes the mock wrapper's own call and task-context overhead, so it is an upper bound on the hook callback alone, not an isolated measurement.
Measured through the test-only MockTaskmarketForSponsoredTask wrapper (`call<Callback>` rows) in a Foundry gas report (`forge test -j 1 --match-path "test/SponsoredTask*" --gas-report`, 176 tests) at commit 0c892497d782788ee1a9e2868c662ae7a448ca82: median (typical) and maximum gas across every call in that suite, including success and revert paths. Each figure includes the mock wrapper's own call and task-context overhead, so it is an upper bound on the hook callback alone, not an isolated measurement. (5 calls.)
The manifest's listing field is a publisher declaration. The separate Repository listed badge only means this manifest was merged here.
No source-verifier link was declared.
Publisher-declared security reviews
unaudited: SponsoredTaskHook and the sponsored-task vault, registry, factory, fee policy, fee bank and fee bank guard contracts. Covered by this repository's Foundry tests and CI-run static analysis, not an independent third-party audit.
Owner-upgradeable via UUPS; the owner key can replace the implementation and therefore change all hook behavior. The hook has no other owner-only function.
Opt-in per task: a requester must attach this hook and supply funding hookData. It is not a protocol default and does not affect tasks that do not use it.
Vaults are immutable clones; this hook holds no upgrade authority over a vault owner's tokens.
Source verification on a block explorer was not confirmed at listing time.