Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 9 additions & 11 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,12 @@ jobs:
tests:
name: Forge Testing
runs-on: ubuntu-latest
env:
FOUNDRY_DISABLE_NIGHTLY_WARNING: true

strategy:
matrix:
profile: [post-cancun,post-cancun-via-ir,solc-past-versions-0,via-ir,min-solc,min-solc-via-ir]
profile: [post-prague,post-prague-via-ir,via-ir,min-solc,min-solc-via-ir]

steps:
- uses: actions/checkout@v4
Expand All @@ -39,25 +41,21 @@ jobs:

- name: Run Tests with ${{ matrix.profile }}
run: >
( [ "${{ matrix.profile }}" = "post-cancun" ] &&
forge test --use 0.8.25 --evm-version "cancun"
( [ "${{ matrix.profile }}" = "post-prague" ] &&
forge test --use 0.8.28 --evm-version "prague"
) ||
( [ "${{ matrix.profile }}" = "post-cancun-via-ir" ] &&
forge test --use 0.8.25 --evm-version "cancun" --via-ir
) ||
( [ "${{ matrix.profile }}" = "solc-past-versions-0" ] &&
forge test --use 0.8.23 --fuzz-runs 16 &&
forge test --use 0.8.24 --fuzz-runs 16
( [ "${{ matrix.profile }}" = "post-prague-via-ir" ] &&
forge test --use 0.8.28 --evm-version "prague" --via-ir
) ||
( [ "${{ matrix.profile }}" = "via-ir" ] &&
forge test --via-ir
) ||
( [ "${{ matrix.profile }}" = "min-solc" ] &&
forge fmt --check &&
forge test --use 0.8.23
forge test --use 0.8.28
) ||
( [ "${{ matrix.profile }}" = "min-solc-via-ir" ] &&
forge test --use 0.8.23 --via-ir
forge test --use 0.8.28 --via-ir
)

codespell:
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,5 @@ typechain-types/
# zerodev orchestra
log/
.envrc

**/.DS_Store
33 changes: 33 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Development Guidelines

## Build Commands
- `forge build` - Compile all contracts
- `forge test` - Run all tests
- `forge test --match-test testFunctionName` - Run a single test
- `forge test --match-path test/Kernel.t.sol` - Run tests in a specific file
- `forge test -vv` - Run tests with verbose output
- `FOUNDRY_PROFILE=optimized forge test` - Run tests with optimized profile

## Code Style

### Formatting
- Indentation: 4 spaces
- Opening braces: same line as declaration
- Use named imports: `import {Contract} from "./path.sol";`
- Line separators: `// --- Section Name ---`

### Naming Conventions
- Contracts: PascalCase (e.g. `Kernel`)
- Interfaces: Prefixed with "I" (e.g. `IValidator`)
- Functions: camelCase (e.g. `validateUserOp`)
- Private/internal: underscore prefix (e.g. `_executeUserOp`)
- Constants: ALL_CAPS_WITH_UNDERSCORES

### Error Handling
- Use custom errors instead of require (e.g. `error InvalidValidator();`)
- Use if-revert pattern: `if (condition) { revert ErrorName(); }`

### Types and Structure
- Use immutable variables when possible for gas optimization
- Follow ERC-4337 and ERC-7579 standards
- Use explicit storage slots with assembly for upgradeability
124 changes: 124 additions & 0 deletions broadcast/DeployKernel.s.sol/11155111/run-1740503073.json

Large diffs are not rendered by default.

74 changes: 37 additions & 37 deletions broadcast/DeployKernel.s.sol/11155111/run-latest.json

Large diffs are not rendered by default.

79 changes: 79 additions & 0 deletions broadcast/DeployKernel.s.sol/17000/run-latest.json

Large diffs are not rendered by default.

142 changes: 142 additions & 0 deletions broadcast/DeployKernel.s.sol/911867/run-1738927689.json

Large diffs are not rendered by default.

142 changes: 142 additions & 0 deletions broadcast/DeployKernel.s.sol/911867/run-1740499935.json

Large diffs are not rendered by default.

142 changes: 142 additions & 0 deletions broadcast/DeployKernel.s.sol/911867/run-latest.json

Large diffs are not rendered by default.

5 changes: 3 additions & 2 deletions foundry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@ out = "out"
libs = ["lib"]
bytecode_hash = "none"
cbor_metadata = false
optimize = true
via-ir = false
runs = 1000
optimizer = true
optimizer_runs = 200
evm_version = "prague"

[profile.deploy]
via-ir = true
Expand Down
Loading
Loading