Hook record
0x0f40337879fee4074e4f4b77e0de8623b85ca8f7
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
Foundry gas report (`forge test --match-contract TaskTokenRewardHookTest --gas-report`) at commit 4dc6253a3ea2037d0bdbc886dd9255fe61cf4c35: median (typical) and maximum gas across every call to this function in the full unit and lifecycle test suite (101 tests), spanning all five task modes (Bounty, Claim, Pitch, Auction, Benchmark) and both success and revert paths -- not an isolated single-call measurement. (44 calls to this function.)
Foundry gas report (`forge test --match-contract TaskTokenRewardHookTest --gas-report`) at commit 4dc6253a3ea2037d0bdbc886dd9255fe61cf4c35: median (typical) and maximum gas across every call to this function in the full unit and lifecycle test suite (101 tests), spanning all five task modes (Bounty, Claim, Pitch, Auction, Benchmark) and both success and revert paths -- not an isolated single-call measurement. (43 calls to this function.)
Foundry gas report (`forge test --match-contract TaskTokenRewardHookTest --gas-report`) at commit 4dc6253a3ea2037d0bdbc886dd9255fe61cf4c35: median (typical) and maximum gas across every call to this function in the full unit and lifecycle test suite (101 tests), spanning all five task modes (Bounty, Claim, Pitch, Auction, Benchmark) and both success and revert paths -- not an isolated single-call measurement. (1 call to this function.)
Foundry gas report (`forge test --match-contract TaskTokenRewardHookTest --gas-report`) at commit 4dc6253a3ea2037d0bdbc886dd9255fe61cf4c35: median (typical) and maximum gas across every call to this function in the full unit and lifecycle test suite (101 tests), spanning all five task modes (Bounty, Claim, Pitch, Auction, Benchmark) and both success and revert paths -- not an isolated single-call measurement. (58 calls to this function.)
Foundry gas report (`forge test --match-contract TaskTokenRewardHookTest --gas-report`) at commit 4dc6253a3ea2037d0bdbc886dd9255fe61cf4c35: median (typical) and maximum gas across every call to this function in the full unit and lifecycle test suite (101 tests), spanning all five task modes (Bounty, Claim, Pitch, Auction, Benchmark) and both success and revert paths -- not an isolated single-call measurement. (1 call to this function.)
Foundry gas report (`forge test --match-contract TaskTokenRewardHookTest --gas-report`) at commit 4dc6253a3ea2037d0bdbc886dd9255fe61cf4c35: median (typical) and maximum gas across every call to this function in the full unit and lifecycle test suite (101 tests), spanning all five task modes (Bounty, Claim, Pitch, Auction, Benchmark) and both success and revert paths -- not an isolated single-call measurement. (42 calls to this function.)
Foundry gas report (`forge test --match-contract TaskTokenRewardHookTest --gas-report`) at commit 4dc6253a3ea2037d0bdbc886dd9255fe61cf4c35: median (typical) and maximum gas across every call to this function in the full unit and lifecycle test suite (101 tests), spanning all five task modes (Bounty, Claim, Pitch, Auction, Benchmark) and both success and revert paths -- not an isolated single-call measurement. (2 calls to this function.)
Foundry gas report (`forge test --match-contract TaskTokenRewardHookTest --gas-report`) at commit 4dc6253a3ea2037d0bdbc886dd9255fe61cf4c35: median (typical) and maximum gas across every call to this function in the full unit and lifecycle test suite (101 tests), spanning all five task modes (Bounty, Claim, Pitch, Auction, Benchmark) and both success and revert paths -- not an isolated single-call measurement. (42 calls to this function.)
Foundry gas report (`forge test --match-contract TaskTokenRewardHookTest --gas-report`) at commit 4dc6253a3ea2037d0bdbc886dd9255fe61cf4c35: median (typical) and maximum gas across every call to this function in the full unit and lifecycle test suite (101 tests), spanning all five task modes (Bounty, Claim, Pitch, Auction, Benchmark) and both success and revert paths -- not an isolated single-call measurement. (1 call to this function.)
Foundry gas report (`forge test --match-contract TaskTokenRewardHookTest --gas-report`) at commit 4dc6253a3ea2037d0bdbc886dd9255fe61cf4c35: median (typical) and maximum gas across every call to this function in the full unit and lifecycle test suite (101 tests), spanning all five task modes (Bounty, Claim, Pitch, Auction, Benchmark) and both success and revert paths -- not an isolated single-call measurement. (2 calls to this function.)
The manifest's listing field is a publisher declaration. The separate Repository listed badge only means this manifest was merged here.
Publisher-provided verifier links
Chain 84532: verifiedPublisher-declared security reviews
unaudited: TaskTokenRewardHook, RewardVault, and EpochBudget source, as deployed on Base Mainnet and Base Sepolia. Covered by this repository's own Foundry test suite and CI-run Slither static analysis, not an independent third-party audit.
Owner-upgradeable via UUPS (upgradeToAndCall); the owner key also controls dreamsPerUsdc, bonusBps, the reward ramp curve, worker/requester epoch caps, wallet bans, and sweepUnclaimed -- a malicious or compromised owner can change future reward economics or ban a wallet, but cannot claw back a worker's already-credited claimable balance.
checkFund's hookData parameter is unused; this hook takes no per-task configuration.
For Claim/Pitch/Auction, rewardUsd/usdBonusValue/dreamsPerUsdc are snapshotted at claim/select-worker time and are then fixed through settlement, independent of later changes to the task's reward, bonusBps, or dreamsPerUsdc. For Bounty/Benchmark (no pre-reservation), the current bonusBps and dreamsPerUsdc at checkComplete time are used instead.
RewardVault and EpochBudget addresses differ between Base Mainnet and Base Sepolia deployments; see externalDependencies for the exact per-chain addresses.
This manifest documents the currently-live default hook instance. A prior logic fix to this hook family shipped by deploying a full replacement hook+EpochBudget pair and re-pointing RewardVault to it, rather than upgrading this proxy's implementation in place -- so an earlier hook/implementation address may appear in on-chain history without being currently authorized.