Skip to content

Commit fe1a39b

Browse files
committed
Update CLAUDE.md
1 parent ca879ec commit fe1a39b

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

CLAUDE.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ This is a React Router v7 SPA application for smart contract verification using
2525

2626
### Core Architecture
2727

28-
**Verification Flow**: The app supports multiple verification methods (single-file, multiple-files, std-json, metadata-json) for both Solidity and Vyper contracts. All methods eventually convert to standard JSON format before submission to Sourcify's v2 API.
28+
**Verification Flow**: The app supports multiple verification methods (single-file, multiple-files, std-json, metadata-json, build-info) for both Solidity and Vyper contracts. Framework helpers (hardhat, foundry) provide setup instructions and can optionally use build-info file uploads. All methods eventually convert to standard JSON format before submission to Sourcify's v2 API.
2929

3030
**API Integration**:
3131
- `sourcifyApi.ts` - Main Sourcify API client with custom headers for client identification
@@ -52,4 +52,18 @@ This is a React Router v7 SPA application for smart contract verification using
5252
- TailwindCSS v4 for styling
5353
- TypeScript with strict mode
5454
- Path alias: `~/*` maps to `./app/*`
55-
- Web Workers used for bytecode diff calculations (`public/diffWorker.js`)
55+
- Web Workers used for bytecode diff calculations (`public/diffWorker.js`)
56+
57+
### Key Features Implemented
58+
59+
**Build-Info File Support**: Framework helpers (Hardhat/Foundry) can toggle between showing setup commands or uploading build-info files. The build-info feature:
60+
- Parses Hardhat and Foundry build-info JSON files
61+
- Extracts standard JSON compilation input from the "input" field
62+
- Auto-populates compiler version from build-info metadata
63+
- Validates build-info structure and provides helpful error messages
64+
- Integrates seamlessly with existing std-json submission flow
65+
66+
**Type Safety**: Strong TypeScript typing throughout:
67+
- `SelectedMethod` union type combines verification methods and framework methods
68+
- Proper typing for all form validation and state management
69+
- Type-safe API interfaces and response handling

0 commit comments

Comments
 (0)