P2 Verification: Design Probes
Status: COMPLETED
Overview
P2 involved designing minimal "probe" projects to empirically test current incompatibilities on unpatched Hardhat/Anvil.
Verification Criteria
- Hardhat probe project created
- Foundry probe project created
- Test contracts for precompiles implemented
- 0x7e transaction probes implemented
- Self-contained code and run steps provided
Implementation Status
Hardhat Probe Project
Location: probes/hardhat/
- Contracts:
ArbProbes.sol- Interface stubs and test functions - Tests:
test/arb-probes.ts- Hardhat test suite - Scripts:
scripts/probe-0x7e.ts- 0x7e transaction probe - Config:
hardhat.config.ts- Standard configuration - Dependencies:
package.json- All required packages
Foundry Probe Project
Location: probes/foundry/
- Contracts:
src/ArbProbes.sol- Interface stubs and test functions - Tests:
test/ArbProbes.t.sol- Foundry test suite - Scripts:
script/probe-0x7e.js- 0x7e transaction probe - Config:
foundry.toml- Foundry configuration - Dependencies:
forge-stdlibrary installed
Test Contract Features
- ArbSys Interface:
arbChainId(),arbBlockNumber() - ArbGasInfo Interface:
getCurrentTxL1GasFees() - Precompile Addresses: 0x64 and 0x6C correctly specified
- Static Call Implementation: Proper error handling and data decoding
Probe Functionality
- Precompile Testing: Calls to ArbSys and ArbGasInfo methods
- 0x7e Transaction Testing: Attempts to send deposit transactions
- Error Capture: Expected failures on unpatched nodes
- Result Validation: Proper error handling and logging
Evidence Files
probes/hardhat/- Complete Hardhat probe projectprobes/foundry/- Complete Foundry probe project- All required files present and properly structured
Test Results
Status: READY FOR TESTING
- Hardhat probes: Dependencies installed, ready to run
- Foundry probes: Dependencies installed, ready to run
Issues Found
None - P2 implementation is complete and properly structured
Verification Result
P2: COMPLETED - All probe projects created with self-contained code and run steps