Skip to content

hardhat is not able to figure out function selector even though they are available as part of the source artifacts #7434

@wighawag

Description

@wighawag

Version of Hardhat

3.0.6

What happened?

I am using a proxy contract and when there are reverts the hardhat console show these :

eth_estimateGas                                                                                                                                                                                                                               
  Contract call:       ERC173Proxy#<unrecognized-selector>                                                                                                                                                                                    
  From:                0x258e5b287b1b75adc0f35abce119a3d61f839468                                                                                                                                                                             
  To:                  0xa513e6e4b8f2a923d98304ec87f64353c4d5c853                                                                                                                                                                             
  Value:               0 ETH                                                                                                                                                                                                                  
                                                                                                                                                                                                                                              
  Error: VM Exception while processing transaction: reverted with an unrecognized custom error (return data: 0x954de3349965507d1a55bcc2695c58ba16fb37d819b0a4dcaaf6496e74a5a3966fafc712) 

but these function selector should be known to hardhat as the implementation contract is one of source artifact hardhat knows about

Minimal reproduction steps

  • deploy a proxy with implementation
  • call it in a way that it reverts

Search terms

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    Status

    To-do

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions