Summary
The hardhat.config.ts in this repository specifies:
solidity: {
version: '0.8.29',
settings: {
optimizer: { enabled: true, runs: 200 },
evmVersion: 'prague',
},
},
prague is the EVM target for EIP-7702 (account
abstraction via AUTH/AUTHCALL opcodes). Developers who copy this configuration to deploy
their own contracts may encounter one of two problems:
-
Silent bytecode incompatibility — if Arc does not implement all Prague opcodes, contracts
compiled with evmVersion: 'prague' may deploy successfully but fail at runtime when a
Prague-specific opcode is executed.
-
ArcScan verification failure — Blockscout requires the EVM version to match the deployed
bytecode exactly. If a developer uses the repo's prague setting for compilation but
Blockscout doesn't recognise prague as a valid option, verification fails with no clear
error message.
Reproduction
# Check which EVM version hardhat.config.ts uses:
grep evmVersion hardhat.config.ts
# → evmVersion: 'prague'
From our DApp development experience, contracts compiled with evmVersion: 'shanghai' and
evmVersion: 'paris' both deploy and verify successfully on Arc Testnet. We have not
confirmed whether prague-compiled bytecode runs correctly on Arc Testnet.
Suggested fix
- Confirm which EVM version Arc Testnet currently supports
- If Arc does not yet support Prague opcodes, change the default
evmVersion in
hardhat.config.ts to the highest supported version (likely shanghai)
- Document the supported EVM version in the developer docs
Impact
Any developer who clones this repo, uses the hardhat.config.ts as a starting point for their
own contracts, and then deploys to Arc Testnet may see hard-to-diagnose failures. The config file
is the authoritative reference developers use when getting started.
Environment: Arc Testnet (chainId 5042002), Hardhat 2.x, @nomicfoundation/hardhat-toolbox-viem
Summary
The
hardhat.config.tsin this repository specifies:pragueis the EVM target for EIP-7702 (accountabstraction via
AUTH/AUTHCALLopcodes). Developers who copy this configuration to deploytheir own contracts may encounter one of two problems:
Silent bytecode incompatibility — if Arc does not implement all Prague opcodes, contracts
compiled with
evmVersion: 'prague'may deploy successfully but fail at runtime when aPrague-specific opcode is executed.
ArcScan verification failure — Blockscout requires the EVM version to match the deployed
bytecode exactly. If a developer uses the repo's
praguesetting for compilation butBlockscout doesn't recognise
pragueas a valid option, verification fails with no clearerror message.
Reproduction
From our DApp development experience, contracts compiled with
evmVersion: 'shanghai'andevmVersion: 'paris'both deploy and verify successfully on Arc Testnet. We have notconfirmed whether
prague-compiled bytecode runs correctly on Arc Testnet.Suggested fix
evmVersioninhardhat.config.tsto the highest supported version (likelyshanghai)Impact
Any developer who clones this repo, uses the
hardhat.config.tsas a starting point for theirown contracts, and then deploys to Arc Testnet may see hard-to-diagnose failures. The config file
is the authoritative reference developers use when getting started.
Environment: Arc Testnet (chainId 5042002), Hardhat 2.x,
@nomicfoundation/hardhat-toolbox-viem