aragon / connect

(Aragon 1) Seamlessly integrate DAO functionality into web and node.js apps.
https://aragon.org/connect
GNU Lesser General Public License v3.0
145 stars 53 forks source link

Subgraph: Add organization names #151

Open onbjerg opened 4 years ago

onbjerg commented 4 years ago

I'm unsure whether this should be a separate subgraph or not, but it would be super helpful to have organization names in the GraphQL API for things like Apiary.

My general feeling is that it is somewhat high cost to maintain, since the only way to get the organization names (as far as I know) is to decode transactions sent directly to one of the organization templates/kits, which inherently is a per-contract action. This would mean that a list would need to be maintained of the kits on each network, along with kit-specific handlers for attaching the names to the correct organizations.

lkngtn commented 4 years ago

Perhaps instead of relying on aragonid we could ENS reverse lookups, which is a more standard way of associating an ENS name with an address?

onbjerg commented 4 years ago

I'm not sure if this changed, but when I was with A1 reverse lookups were to expensive to add or something like that, so it was never added.

lkngtn commented 4 years ago

I don't mean that that it should be included in org creation, just that from a browsing perspective it may be a better, more standards compliant way to go.

onbjerg commented 4 years ago

Is there a way to create ENS reverse lookups after the fact with orgs?

0xGabi commented 4 years ago

Hi, @onbjerg I spend some time today trying to do this at the subgraph and it wasn't trivial. Would be useful anyways for your use case if we handle the ENS reverse lookups on the Connector? You will be interacting with Connect instead with the subgraph directly.

onbjerg commented 4 years ago

I've heard that reverse lookups are not available for Aragon orgs unless you set them up yourself because of gas constraints. I thought this was still the case?

daviddavo commented 3 years ago

It's impossible to do a reverse ENS lookup unless it has been set up with the special ENS name 0x<address>.addr.reverse. Maybe it should be automatically set-up when creating an org, but nothing can be done with already created DAOs.

However, if you go to the Aragon Dashboard for Lightwave DAO given its address (0x5fEED010a99f695852F8eB7B12E77CF6eCd7bE17) you'll get the name and a logo on the top left, even without having a reverse ENS.

In the case of the Aragon Budget DAO, you can access through these endpoints:

With all these endpoints, the name that appears on the top-left changes depending on the endpoint used. So, how is the name retrieved? Why we can get the name for Lightwave (or MyBit) given its address but not for Aragon Budget?