Skip to content

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

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

    Fields

    No fields configured for Bug.

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions