p
⎇
pull added 5 commits · see Commits
h
hooklist-generatorbot commented
Hook permissions detected for src/PullHook.sol:PullHook
beforeInitialize false
afterInitialize false
beforeAddLiquidity false
afterAddLiquidity false
beforeRemoveLiquidity false
afterRemoveLiquidity false
beforeSwap true
afterSwap true
beforeDonate false
afterDonate false
beforeSwapReturnsDelta true
afterSwapReturnsDelta true
dynamicFee: false · upgradeable: false · requiresCustomSwapData: false · vanillaSwap: false
swapAccess: merge-gated (new) · firstBlock: reviewers · chainId: 1 (ethereum) · pair: SPCXon
▲
market-preflightbot commented
✓ pull.json valid PullHook@0.1.0 · hooks/ethereum
✓ market PULL / SPCXon · Stockereum · uniswap-v4 · permanent
✓ fees creator fee → CODEOWNERS · venue: Stockereum · holder rewards: on
✓ supply 1,000,000,000 · creator allocation 0
✓ activation merge · required approvals 2 · first block → reviewers
⏳ contract address pending
⏳ merge blocked until CA is set
Ready to merge once CA is set. Launching on Ethereum mainnet via Stockereum, paired with SPCXon.
you
Review this launch · stored in your browser, counts toward merge on this device
or type
lgtm in the terminal belowGit graph ·
main is live from upstream (GitHub API), pull is this PR, the merge node is the launchliveMerge = launch. When CA is set, the dashed node becomes the merge commit and the pool opens. No timestamp, no snipe window.
All checks
5 files · +412 −0
Contract PullHook
✓ Source verified Uniswap v4 hook not deployed yet · launches on Ethereum mainnet via Stockereum—
Contract Source Code Solidity MIT
Contract Name
PullHook
Compiler Version
v0.8.26+commit.8a97fa7a
Optimization Enabled
Yes with 200 runs
EVM Version
cancun
Market
PULL / SPCXon · Stockereum · Uniswap v4 · Ethereum mainnet
Hook permissions
beforeSwap · afterSwap · beforeSwapReturnsDelta · afterSwapReturnsDelta
src/PullHook.sol
Contract ABI (partial)
Read Contract — token (ERC-20) eth_call via public RPC
Read Contract — PullHook from pull.json · pre-deploy
Write Contract · needs an injected wallet (MetaMask / Rabby)
not connected
Events emitted by PullHook
| Event | Topics | Meaning |
|---|---|---|
| Review(address indexed reviewer, uint8 verdict, string body) | 0x… | someone reviewed the launch · 1 approve · 2 request changes |
| Merged(bytes32 indexed mergeCommit, uint256 block) | 0x… | the merge. the pool opens in this block |
| FeeFlushed(bytes32 indexed commit, uint256 amount) | 0x… | creator fee routed per CODEOWNERS; the hash is the changelog entry |
Live logs appear here after deploy (polled from RPC by topic).
Pull request approvals · 0 / required
Token Approval Checker
allowance() via eth_callwhich contracts can spend your tokens — and revoke themChecks the spenders below plus any custom one.
Allowances
Enter a wallet and a token, then Check.
Uniswap/hooklistis the public registry of Uniswap v4 hooks: every hook gets in through a pull request. This PR registersPullHook— the hook behind thePULL/SPCXonmarket on Stockereum, the first market where the launch is the pull request. Stockereum opens a permanent Uniswap v4 market against a tokenized stock; this hook decides when that market opens: at the merge.What
PullHookaddsreview(1, "lgtm"). Approvals become the first-block allowlist. Reviewers get the first block; snipers getCONFLICT.CODEOWNERSfile says. Want a different split? Open a PR.git log.Market
The market:
$PULL/ SPCXonEthereum mainnet, via Stockereum, priced in SpaceX. The hook is the PR; the token is the market it opens. Rockets have a launch window — PULL has a merge. The contract address lands in this thread at merge.
forge test— 12 passed, 0 failedhooks/ethereum/pull.jsonvalid · pair SPCXon