@latchprotocol/create-hook
v0.1.0
Published
Scaffold a Latch (a hook contract for LatchProtocol pools) in one command: npm create @latchprotocol/hook. Runs the create-latch-hook scaffolder from @latchprotocol/cli.
Maintainers
Readme
@latchprotocol/create-hook
Scaffold a Latch in one command. A Latch is a hook contract attached to a pool
on LatchProtocol's core. The generated Foundry project holds the hook, a test and a
deploy script, and it builds and passes its tests on the first run. The hook's
permission bitmap and the pool key's parameters word come from one permission set,
so they cannot drift apart. There is no CREATE2 salt to mine: on Latch a hook works
from any address.
This package is a thin launcher. The scaffolder itself is the create-latch-hook
entry of @latchprotocol/cli
(also available as latch new); this package gives it the name npm create looks for.
Usage
You need Foundry (forge, anvil) and Node 20+.
npx @latchprotocol/create-hook my-latch --template dynamic-fee
# or
npm create @latchprotocol/hook my-latch -- --template dynamic-fee
cd my-latch
forge test -vvHook templates: noop, dynamic-fee, swap-counter. App templates on the MIT SDK
(Node, no Solidity): airdrop, locks. Pick callbacks yourself with
--permissions beforeSwap,afterSwap, and add --yes to never be prompted.
npx @latchprotocol/create-hook --help # every flag, template and permissionHook projects compile against the Latch core contracts on disk: run the command inside
a Latch checkout, or pass --core <path-to-packages/core> (or set LATCH_CORE_PATH).
The airdrop and locks app templates need neither.
Other Latch packages
@latchprotocol/sdk— TypeScript SDK: pool keys and ids, the hook permission bitmap, typed events, the address book, market reads and the Launchpad builders@latchprotocol/connect— the wallet layer: a Latch-themed wrapper over RainbowKit and wagmi, with the Latch chain list@latchprotocol/widgets— embeddable swap, liquidity and launch widgets with integrator fee attribution@latchprotocol/cli— thelatchcommand: launches, hosted Launchpad and DEX sites, airdrops, splits, locks andlatch doctor@latchprotocol/create-app— the Latch app template: a DEX, a Launchpad or both, on the shared core
Website: latches.fun · X: @Latchesdotfun
Licence
This launcher is MIT. Generated hooks are yours; they import BaseCLHook
(GPL-2.0-or-later) from Latch's hooks package. The app templates build only on the
MIT SDK.
