Skip to content

bug: hardhat.config.ts uses evmVersion: "prague" — confirm Arc Testnet supports Prague opcodes or update to supported target #96

@osr21

Description

@osr21

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:

  1. 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.

  2. 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

  1. Confirm which EVM version Arc Testnet currently supports
  2. If Arc does not yet support Prague opcodes, change the default evmVersion in
    hardhat.config.ts to the highest supported version (likely shanghai)
  3. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions