matter-labs / matter-labs/block-explorer

Contract verification fails on UI for multi-file solidity contracts

Open
#489 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
TypeScript
Stars
139
Forks
145
Avg merge
8h 3m
Merged PRs (30d)
3

Description

### ๐Ÿ› Bug Report

#### ๐Ÿ“ Description

Contract verification fails on the zkSync Explorer UI when using multiple file contracts

#### ๐Ÿ”„ Reproduction Steps

1. Prepare a smart contract that uses imports and spans across multiple Solidity files
2. Try verifying the contract using the zkSync Explorer UI
3. Verification fails with the error:
`Deployed bytecode is not equal to generated one`

#### ๐Ÿค” Expected Behavior

The contract should verify successfully if the correct constructor arguments and compiler settings are used, just like it does when verified using Hardhat

#### ๐Ÿ˜ฏ Current Behavior

Verification fails on the UI for multiple file contracts, but works when using Hardhat
For single file contracts, both UI and Hardhat verification succeed

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up โ€” it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Use the listed reproduction steps with a multi-file Solidity contract in the zkSync Explorer UI, then compare the result with Hardhat verification. Trace the UI verification flow until the generated bytecode differs from the deployed bytecode; done means correctly configured multi-file contracts verify successfully while single-file behavior remains intact.

Written by the indexing model from the issue text.

Assessment

Tech stack
solidity, typescript
Domain
blockchain, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.