# Aragon Connect Entities

* [`RegistryFactory`](#registryfactory)
* [`Registry`](#registry)
* [`Repo`](#repo)
* [`Version`](#version)
* [`OrgFactory`](#orgfactory)
* [`Organization`](#organization)
* [`App`](#app)
* [`Implementation`](#implementation)
* [`Role`](#role)
* [`Permission`](#permission)
* [`Param`](#param)

### RegistryFactory <a href="#registryfactory" id="registryfactory"></a>

| Field         | Type          | Description                                                          |
| ------------- | ------------- | -------------------------------------------------------------------- |
| id            | ID!           | RegistryFactory address                                              |
| address       | Bytes!        | RegistryFactory address                                              |
| registryCount | Int!          | The number of proxies deployed for the registry factory in this repo |
| registries    | \[Registry!]! | Registries                                                           |

### Registry <a href="#registry" id="registry"></a>

| Field     | Type             | Description                                                  |
| --------- | ---------------- | ------------------------------------------------------------ |
| id        | ID!              | Registry id                                                  |
| address   | Bytes!           | Registry address                                             |
| name      | String!          | Registry name                                                |
| node      | Bytes!           | ENS node                                                     |
| repoCount | Int!             | The number of proxies deployed for the registry in this repo |
| repos     | \[Repo!]!        | Registry repo                                                |
| factory   | RegistryFactory! | Factory registry                                             |

### Repo <a href="#repo" id="repo"></a>

| Field    | Type         | Description                                             |
| -------- | ------------ | ------------------------------------------------------- |
| id       | ID!          | Repo id                                                 |
| address  | Bytes!       | Repo address                                            |
| name     | String!      | Repo name                                               |
| node     | Bytes!       | Repo ENS node                                           |
| versions | \[Version!]! | Repo version                                            |
| registry | Registry!    | Repo registry                                           |
| appCount | Int!         | The number of proxies deployed for the app in this repo |

### Version <a href="#version" id="version"></a>

| Field           | Type    | Description                             |
| --------------- | ------- | --------------------------------------- |
| id              | ID!     | Concat repo address ‘-’ semanticVersion |
| semanticVersion | String! | Semver version number                   |
| codeAddress     | Bytes!  | App implementation address              |
| contentUri      | String! | Content URI, ipfs hash or html url      |
| artifact        | String  | Artifact.json metadata                  |
| manifest        | String  | Manifest.json metadata                  |
| repo            | Repo!   | Version repo                            |
| apps            | \[App!] | App version                             |

### OrgFactory <a href="#orgfactory" id="orgfactory"></a>

| Field         | Type              | Description            |
| ------------- | ----------------- | ---------------------- |
| id            | ID!               | OrgFactory id          |
| address       | Bytes!            | OrgFactory address     |
| orgCount      | Int!              | Number of organzations |
| organizations | \[Organization!]! | Organizations          |

### Organization <a href="#organization" id="organization"></a>

| Field         | Type            | Description                    |
| ------------- | --------------- | ------------------------------ |
| id            | ID!             | Kernel address                 |
| address       | Bytes!          | Organization address           |
| createdAt     | BigInt!         | Block organization was created |
| acl           | Bytes!          | Acl address                    |
| recoveryVault | Bytes!          | Recovery vault address         |
| permissions   | \[Permission!]! | Permissions granted to app     |
| factory       | OrgFactory!     | Organization factory           |

### App <a href="#app" id="app"></a>

| Field          | Type            | Description                       |
| -------------- | --------------- | --------------------------------- |
| id             | ID!             | App proxy address                 |
| address        | Bytes!          | App address                       |
| name           | String!         | App name                          |
| appId          | String!         | ENS namehash of the aragonPM repo |
| implementation | Implementation! | App base implementation entity    |
| isForwarder    | Boolean!        | Whether the app is Forwarder      |
| isUpgradeable  | Boolean!        | Whether the app is upgradeable    |
| version        | Version         | Repo Version entity               |
| repo           | Repo            | App repo                          |
| roles          | \[Role!]!       | Role assigned                     |
| organization   | Organization!   | Organizations in relation to app  |

### Implementation <a href="#implementation" id="implementation"></a>

| Field   | Type   | Description                  |
| ------- | ------ | ---------------------------- |
| id      | ID!    | Concat namespace ‘-’ appId # |
| address | Bytes! | Implementation address       |

### Role <a href="#role" id="role"></a>

| Field    | Type            | Description                      |
| -------- | --------------- | -------------------------------- |
| id       | ID!             | Concat app address ‘-’ role hash |
| hash     | Bytes!          | Role ens namehash                |
| manager  | Bytes!          | Role manager address             |
| app      | App!            | App used for role                |
| grantees | \[Permission!]! | Grantee derived from role        |

### Permission <a href="#permission" id="permission"></a>

| Field          | Type       | Description                                             |
| -------------- | ---------- | ------------------------------------------------------- |
| id             | ID!        | Concat of app address ‘-’ role hash ‘-’ grantee address |
| granteeAddress | Bytes!     | Address assigned the permissions                        |
| allowed        | Boolean!   | Whether the grantee is allowed by the permission        |
| params         | \[Param!]! | List of parameters the permission has                   |
| app            | App!       | App used to request permission                          |
| role           | Role!      | Role in relation to permission                          |

### Param <a href="#param" id="param"></a>

| Field         | Type    | Description                    |
| ------------- | ------- | ------------------------------ |
| id            | ID!     | Concat of param hash ‘-’ index |
| argumentId    | Int!    | Argument id (uint8)            |
| operationType | Int!    | Operation type (uint8)         |
| argumentValue | BigInt! | Argument Value (uint240)       |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.1hive.org/developers/subgraphs/aragon-connect/aragon-connect-entities.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
