Test compatibility of Substrate Revive (revm) with standard EVM regarding ETH transfer behavior.
# Install dependencies
npm install
# Run tests on standard EVM
npx hardhat test
# Run tests on Revive
npx hardhat test --network local- Sender: Provides 3 transfer methods (transfer, send, call)
- DoNothingReceiver: Empty receive()
- SimpleReceiver: receive() that emits events
- ComplexReceiver: receive() that performs SSTORE
| Transfer Method | EOA | DoNothingReceiver | SimpleReceiver | ComplexReceiver |
|---|---|---|---|---|
| transfer() | ✅ | ❌ | ❌ | ✔️ (expected to fail) |
| send() | ✅ | ✔️ (expected to fail) | ||
| call() | ✅ | ✅ | ✅ | ✅ |
Total: 12 test cases