Proxy contract doesnt load methods in admin actions

After adding an upgradable, verifiable contract (via its proxy address), I cant do any admin actions nor does the list of methods show up in the drop down menu. also, after I try to get the list of available methods, the UI kinda freezes up and I cant navigate or click anything

Other non upgradable contracts I have on defender work fine.

:computer: Environment
Open zeppelin defender admin actions, on goerli. I've tested it both on chrome and safari with same results.

:memo:Details

After adding an upgradable, verifiable contract (via its proxy address), I cant do any admin actions nor does the list of methods show up in the drop down menu. also, after I try to get the list of available methods, the UI kinda freezes up and I cant navigate or click anything

Other non upgradable contracts I have on defender work fine.

:1234: Code to reproduce
No code, UI issue

Hi @yotamDaniel!

thanks for reaching out, sorry to hear you are experimenting an issue with Defender, we are going to look into this, would you have the contract address as well as the network it is using?
Also where you able to import the contract originally including it's ABI, or did you encounter an issue here as well?

Thanks, have a good day.

I'm on Goerli, contract address is 0x9255b72C016B1EF513860CE788F6fE597Dba2807 (its a proxy)

I was able to import contract with the correct ABI without issues

Hi @yotamDaniel , hope you are doing well, thanks for the details.

After investigation we notice that one of your read function call getTreasuryAddress is reverting when called due to the require condition of this call see line 3070 of the contract code while it is set to a zero address in the initialize function.

Decoding this result freezes the UI, wich is not a great behavior we will be working on nicely handling such error and displaying it in the UI.

In a short-term solution, you could either:

  • set this address outside of Defender
  • you could also redeploy the contract parametrizing the address to be set in the initialize function
  • remove this function from the ABI in Defender

Those are short terms solution and will be working on a long-term solution on our side to better handle this situation by giving errors information to the user.

I hope this unblock you for now, do not hesitate to respond for further assistance.

Have a very good day.

Thank you for the quick turn around! I will try it out and update once I do

Hi @yotamDaniel, yesterday we released a new version of Defender that makes it resilient to querying reverting functions, so the workaround explained by @bjmrq should no longer be necessary.

Have a nice weekend!