I'm looking to build a sort of whitelist of addresses for my application based off the owner addresses associated with a Gnosis Safe contract.
I want this to work up to two levels deep, so I'm calling getOwners on the top-level contract address then looping over those addresses and calling
getOwners once more for each address. The issue I'm facing is that three out of the seven owner addresses I'm receiving from the top level aren't Gnosis Safe addresses(confirmed by manually going to both Gnosis Safe and Etherscan).
I'm wondering if there is a way for me to detect if an address is a Gnosis Safe address other than simply seeing if the
getOwners call fails for that address? I've been looking through the various Safe contract methods, as well as the Etherscan API, but haven't found a way to do it.
I'm not entirely sure how they're doing that though.
I'd really appreciate any advice anyone can offer. Thanks!