You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .claude/skills/contracts.md
+9-4Lines changed: 9 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
description: This skill should be used when the user asks about "ev-reth contracts", "FeeVault", "AdminProxy", "fee bridging to Celestia", "Hyperlane integration", "Foundry deployment scripts", "genesis allocations", or wants to understand how base fees are redirected and bridged.
2
+
description: This skill should be used when the user asks about "ev-reth contracts", "FeeVault", "AdminProxy", "Permit2", "fee distribution", "Foundry deployment scripts", "genesis allocations", or wants to understand how base fees are redirected and distributed.
3
3
---
4
4
5
5
# Contracts Onboarding
@@ -9,13 +9,15 @@ description: This skill should be used when the user asks about "ev-reth contrac
9
9
The contracts live in `contracts/` and use Foundry for development. There are two main contracts:
10
10
11
11
1.**AdminProxy** (`src/AdminProxy.sol`) - Bootstrap contract for admin addresses at genesis
12
-
2.**FeeVault** (`src/FeeVault.sol`) - Collects base fees, bridges to Celestia via Hyperlane (cross-chain messaging protocol)
12
+
2.**FeeVault** (`src/FeeVault.sol`) - Collects base fees and distributes them between configured recipients
13
+
3.**Permit2** (`lib/permit2`) - Uniswap's canonical token approval manager, deployed at genesis via `ev-deployer` (no Foundry deploy script — bytecode is embedded in Rust)
13
14
14
15
## Key Files
15
16
16
17
### Contract Sources
17
18
-`contracts/src/AdminProxy.sol` - Transparent proxy pattern for admin control
18
-
-`contracts/src/FeeVault.sol` - Fee collection and bridging logic
19
+
-`contracts/src/FeeVault.sol` - Fee collection and distribution logic
20
+
-`contracts/lib/permit2` - Uniswap Permit2 submodule (bytecode used by ev-deployer)
19
21
20
22
### Deployment Scripts
21
23
-`contracts/script/DeployFeeVault.s.sol` - FeeVault deployment with CREATE2
@@ -34,9 +36,12 @@ The AdminProxy contract provides a bootstrap mechanism for setting admin address
34
36
### FeeVault
35
37
The FeeVault serves as the destination for redirected base fees (instead of burning them). Key responsibilities:
36
38
- Receive base fees from block production
37
-
-Bridge accumulated fees to Celestia via Hyperlane
39
+
-Distribute accumulated fees between configured recipients
38
40
- Manage withdrawal permissions
39
41
42
+
### Permit2
43
+
Uniswap's canonical token approval manager deployed at genesis. Unlike AdminProxy and FeeVault, Permit2 has no Foundry deploy script — its bytecode is embedded directly in the Rust `ev-deployer` (`bin/ev-deployer/src/contracts/permit2.rs`), which patches EIP-712 immutables (chain ID, domain separator) at genesis time.
Copy file name to clipboardExpand all lines: bin/ev-deployer/README.md
+12-13Lines changed: 12 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,15 +14,6 @@ The binary is output to `target/release/ev-deployer`.
14
14
15
15
EV Deployer uses a TOML config file to define what contracts to include and how to configure them. See [`examples/devnet.toml`](examples/devnet.toml) for a complete example.
0 commit comments