Skip to content

Add PRAdaptiveHookv2 hook on robinhood - #1237

Open
hooklist-generator[bot] wants to merge 1 commit into
mainfrom
hooks/robinhood/0xc3c15bde8bfb101bbdb36932b2222791f5f1c0cc
Open

Add PRAdaptiveHookv2 hook on robinhood#1237
hooklist-generator[bot] wants to merge 1 commit into
mainfrom
hooks/robinhood/0xc3c15bde8bfb101bbdb36932b2222791f5f1c0cc

Conversation

@hooklist-generator

Copy link
Copy Markdown
Contributor

Summary

Collects a configurable fee (0-5% max) on swaps involving the PR token. Buy fees are paid in PR, sell fees in ETH. Fees are forwarded to a buyback vault address. Only operates on owner-allowlisted pools.

Flags

Flag Value
beforeInitialize false
afterInitialize false
beforeAddLiquidity false
afterAddLiquidity false
beforeRemoveLiquidity false
afterRemoveLiquidity false
beforeSwap true
afterSwap true
beforeDonate false
afterDonate false
beforeSwapReturnsDelta true
afterSwapReturnsDelta true
afterAddLiquidityReturnsDelta false
afterRemoveLiquidityReturnsDelta false

Properties

Property Value
dynamicFee false
upgradeable false
requiresCustomSwapData false
vanillaSwap false
swapAccess none

Warnings

None

Closes #1236

@vercel

vercel Bot commented Aug 11, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
hooklist Ready Ready Preview Aug 11, 2026 6:33pm

Request Review

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review: hooks/robinhood/0xc3c15bde8bfb101bbdb36932b2222791f5f1c0cc.json

Address Flags ✓

Address ends in 0xc0cc → masked to 14 bits: 0x00cc = 1100 1100.

Bit Flag Expected Hook File
7 beforeSwap true true ✓
6 afterSwap true true ✓
3 beforeSwapReturnsDelta true true ✓
2 afterSwapReturnsDelta true true ✓
all others false false ✓

Confirmed by getHookPermissions() in source.

Properties ✓

  • dynamicFee: falsebeforeSwap returns 0 as the LP fee override (no dynamic fee), and poolManager.updateDynamicLPFee() is never called.
  • upgradeable: false — No proxy patterns, no delegatecall, no mutable implementation pointer.
  • requiresCustomSwapData: false — The bytes calldata hookData parameter is ignored entirely in both beforeSwap and afterSwap.
  • vanillaSwap: false — Correct; beforeSwapReturnsDelta and afterSwapReturnsDelta are both used to deduct fees from swap output, which changes how the swap executes.
  • swapAccess: "none" — Neither beforeSwap nor afterSwap ever reverts based on caller identity. When paused is true or a pool is not allowlisted, the hook returns ZERO_DELTA (pass-through). The pool allowlist gates fee collection, not swap access; no caller-based blocking mechanism exists.

Metadata ✓

  • chainId: 4663 — Matches robinhood in chains.json.
  • verifiedSource: true — Confirmed by source_meta.json ("verified": true).
  • name: "PRAdaptiveHookv2" — Matches contractName in source_meta.json and the NatSpec @title in source.
  • description — All claims substantiated by source: ABSOLUTE_MAX_BPS = 500 (0–5% max configurable fee), buy fees deducted in PR (output currency when trader receives PR), sell fees in ETH (output currency when selling PR), fees forwarded via poolManager.take(outputCurrency, vault, fee) to buybackVault, pool allowlist via allowlistedPool[key.toId()] controlled by onlyOwner. No marketing, audit, or endorsement language present.

All fields are correct. APPROVE.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

hook: PRAdaptiveHookv2

0 participants