blockscout / blockscout-rs

Microservices for blockscout indexer
MIT License
155 stars 109 forks source link

Contract verified only partially not fully while using flatten method #772

Open Anilkumar18 opened 10 months ago

Anilkumar18 commented 10 months ago

Description

I have a smart contract compiled using Solidity compiler and deployed the contract on my custom network. However, when I attempted to verify & publish the contract(via Flattened file), it still displays the warning message saying partially verified the contract sourcify.

image

I'm using the "Via flattened source code" method with the below values Solidity compiler version - 0.8.9+commit.e5eed63a EVM version -default Optimization - No Constructor arguments automatically - No

Type of the installation

Manual from the source code

Type of the JSON RPC archive node

Geth

Type of the chain

No response

Link to the page

https://bs-explorer.ncogchain.earth/

Steps to reproduce

  1. Build a smart contract and compile using Solidity v0.8.9
  2. Deploy the smart contract on the custom network
  3. Go to the 'Code' tab on the explorer and click Verify & Publish.
  4. Choose 'Via flattened source code' method
  5. Fill in the required details and click 'Verify & Publish'
  6. Go back to the contract details page there you can see the warning message like 'This contract has been partially verified via Sourcify' on the Code tab.

Video for reference: https://anilkumar-aitechindia.tinytake.com/df/15430ff/thumbnail?type=attachments&version_no=0&file_version_no=0&thumbnail_size=preview

Backend version

v5.2.0

Frontend version

No response

Elixir & Erlang/OTP versions

Elixir 1.13.3(compiled with Erlang/OTP 24)

Operating system

Linux

Additional information

No response

ekawibisono commented 10 months ago

from the warning, your contract is already using and verified using sourcify.

Anilkumar18 commented 10 months ago

I have chosen 'Via flattened source code' method and it still shows partially verified using sourcify. I believe it is not fine to have that message, right? Should I be doing anything different to verify & publish the contract? please suggest. Thanks!

sl1depengwyn commented 9 months ago

Are you using verifier microservice?

Anilkumar18 commented 9 months ago

@sl1depengwyn Yes. We are using the verifier microservice

Here are the env variables. Please check!

PORT= SECRET_KEY_BASE= DATABASE_URL= NETWORK= SUBNETWORK= CHAIN_ID= COIN= COIN_NAME= LOGO=/images/nec.svg LOGO_FOOTER=/images/nec.svg BLOCKSCOUT_VERSION=5.2.0 SUPPORTED_CHAINS= ETHEREUM_JSONRPC_VARIANT= ETHEREUM_JSONRPC_TRANSPORT= IPC_PATH= JSON_RPC= SHOW_TXS_CHART=true ENABLE_TXS_STATS=true MIX_ENV=prod TRACE_FIRST_BLOCK=false TRACE_LAST_BLOCK=false INDEXER_DISABLE_INTERNAL_TRANSACTIONS_FETCHER=true HEART_COMMAND="systemctl start blockscout.service" BLOCKSCOUT_HOST= ETHEREUM_JSONRPC_HTTP_URL= MICROSERVICE_SC_VERIFIER_ENABLED=true MICROSERVICE_SC_VERIFIER_URL=http://0.0.0.0:8050/ MICROSERVICE_ETH_BYTECODE_DB_INTERVAL_BETWEEN_LOOKUPS=10m MICROSERVICE_ETH_BYTECODE_DB_MAX_LOOKUPS_CONCURRENCY=10 VALIDATORS_CONTRACT= METADATA_CONTRACT= ETHEREUM_JSONRPC_PENDING_TRANSACTIONS_TYPE=txpool_content INDEXER_DISABLE_ADDRESS_COIN_BALANCE_FETCHER=true

Anilkumar18 commented 9 months ago

Any update here @sl1depengwyn ? Thanks!