Skip to content

Commit ec4f6a5

Browse files
committed
Revert "fix: updated all links for consistence with docusaurus v3 (#543)"
This reverts commit 119fdb0.
1 parent 119fdb0 commit ec4f6a5

File tree

8 files changed

+37
-37
lines changed

8 files changed

+37
-37
lines changed

packages/contracts/docs/developer-portal/01-how-it-works/01-core/02-permissions/index.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,14 +85,14 @@ function grant(
8585
To prevent these functions from being called by any address, they are themselves permissioned via the `auth` modifier and require the caller to have the `ROOT_PERMISSION_ID` permission in order to call them.
8686

8787
:::note
88-
Typically, the `ROOT_PERMISSION_ID` permission is granted only to the `DAO` contract itself. Contracts related to the Aragon infrastructure temporarily require it during the [DAO creation](../../framework/dao-creation) and [plugin setup ](../../framework/plugin-management/plugin-setup) processes.
88+
Typically, the `ROOT_PERMISSION_ID` permission is granted only to the `DAO` contract itself. Contracts related to the Aragon infrastructure temporarily require it during the [DAO creation](../../02-framework/01-dao-creation/index.md) and [plugin setup ](../../02-framework/02-plugin-management/02-plugin-setup/index.md) processes.
8989
:::note
9090

9191
This means, that these functions can only be called through the DAO’s `execute` function that, in turn, requires the calling address to have the `EXECUTE_PERMISSION_ID` permission.
9292

9393
:::note
9494
Typically, the `EXECUTE_PERMISSION_ID` permission is granted to governance contracts (such as a majority voting plugin owned by the DAO or a multi-sig). Accordingly, a proposal is often required to change permissions.
95-
Exceptions are, again, the [DAO creation](../../framework/dao-creation) and [plugin setup ](../../framework/plugin-management/plugin-setup) processes.
95+
Exceptions are, again, the [DAO creation](../../02-framework/01-dao-creation/index.md) and [plugin setup ](../../02-framework/02-plugin-management/02-plugin-setup/index.md) processes.
9696
:::
9797

9898
#### Granting Permission with Conditions
@@ -110,9 +110,9 @@ function grantWithCondition(
110110

111111
and specifying the `_condition` contract address. This provides full flexibility to customize the conditions under which the function call is allowed.
112112

113-
Typically, conditions are written specifically for and installed together with [plugins](../../core/plugins).
113+
Typically, conditions are written specifically for and installed together with [plugins](../../01-core/03-plugins/index.md).
114114

115-
To learn more about this advanced topic and possible applications, visit the [permission conditions](./conditions) section.
115+
To learn more about this advanced topic and possible applications, visit the [permission conditions](./01-conditions.md) section.
116116

117117
#### Granting Permission to `ANY_ADDR`
118118

packages/contracts/docs/developer-portal/01-how-it-works/02-framework/01-dao-creation/index.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ title: Creating a DAO
66

77
Two framework contracts manage the `DAO` contract creation process:
88

9-
- The [`DAOFactory`](../../../reference-guide/framework/dao/DAOFactory)
10-
- The [`DAORegistry`](../../../reference-guide/framework/dao/DAORegistry).
9+
- The [`DAOFactory`](../../../03-reference-guide/framework/dao/DAOFactory.md)
10+
- The [`DAORegistry`](../../../03-reference-guide/framework/dao/DAORegistry.md).
1111

1212
<!-- Add subgraphic from the framework overview main graphic-->
1313

@@ -28,11 +28,11 @@ The `DAOFactory` create the `DAO` in four steps and interacts with the `DAORegis
2828

2929
2. Registers the new contract in the [`DAORegistry`](#daoregistry).
3030

31-
3. Installs the plugins using the `PluginSetupProcessor` (see also the section about [the plugin setup process](../plugin-management/plugin-setup/)).
31+
3. Installs the plugins using the `PluginSetupProcessor` (see also the section about [the plugin setup process](../02-plugin-management/02-plugin-setup/index.md).
3232

33-
4. Sets the [native permissions](../../core/permissions#permissions-native-to-the-dao-contract) of the `DAO` and revokes its own ownership.
33+
4. Sets the [native permissions](../../01-core/02-permissions/index.md/#permissions-native-to-the-dao-contract) of the `DAO` and revokes its own ownership.
3434

35-
For more details visit the [`DAOFactory` reference guide entry](../../../reference-guide/framework/dao/DAOFactory).
35+
For more details visit the [`DAOFactory` reference guide entry](../../../03-reference-guide/framework/dao/DAOFactory.md).
3636

3737
### `DAORegistry`
3838

@@ -48,8 +48,8 @@ function register(
4848

4949
requiring the `REGISTER_DAO_PERMISSION_ID` permission currently held only by the `DAOFactory`.
5050

51-
If the requested ENS `subdomain` name [is valid](../ens-names) and not taken, the `DAORegistry` registers the subdomain and adds the `DAO` contract address to the `DAORegistry`.
51+
If the requested ENS `subdomain` name [is valid](../03-ens-names.md) and not taken, the `DAORegistry` registers the subdomain and adds the `DAO` contract address to the `DAORegistry`.
5252
If the `subdomain` parameter is non-empty (not `""`) and still available, the ENS name will be registered.
5353
If the registration was successful, the DAO name, contract and creator addresses are emitted in an event.
5454

55-
For more details visit the [`DAORegistry` reference guide entry](../../../reference-guide/framework/dao/DAORegistry).
55+
For more details visit the [`DAORegistry` reference guide entry](../../../03-reference-guide/framework/dao/DAORegistry.md).

packages/contracts/docs/developer-portal/01-how-it-works/02-framework/02-plugin-management/01-plugin-repo/01-plugin-repo-creation.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ title: Publishing a Plugin
66

77
To be available for installation in the Aragon OSx framework, a `PluginRepo` must be created for each plugin. The `PluginRepo` creation process is handled by:
88

9-
- The [`PluginRepoFactory`](../../../../reference-guide/framework/plugin/repo/PluginRepoFactory): who creates the `PluginRepo` instance for each plugin to hold all plugin versions
10-
- The [`PluginRepoRegistry`](../../../../reference-guide/framework/plugin/repo/PluginRepoRegistry): who registers the Plugin into the Protocol for DAOs to install.
9+
- The [`PluginRepoFactory`](../../../../03-reference-guide/framework/plugin/repo/PluginRepoFactory.md): who creates the `PluginRepo` instance for each plugin to hold all plugin versions
10+
- The [`PluginRepoRegistry`](../../../../03-reference-guide/framework/plugin/repo/PluginRepoRegistry.md): who registers the Plugin into the Protocol for DAOs to install.
1111

1212
<!-- TODO
1313
- call `createPluginRepoWithFirstVersion` in `PluginRepoFactory`
@@ -37,14 +37,14 @@ function createPluginRepoWithFirstVersion(
3737
) external returns (PluginRepo pluginRepo);
3838
```
3939

40-
It also registers the plugin in the Aragon OSx `PluginRepoRegistry`contract with an [ENS subdomain](../../ens-names) under the `plugin.dao.eth` domain managed by Aragon.
40+
It also registers the plugin in the Aragon OSx `PluginRepoRegistry`contract with an [ENS subdomain](../../03-ens-names.md) under the `plugin.dao.eth` domain managed by Aragon.
4141

42-
Additional to the information required by the [`createVersion` function discussed earlier](./#the-pluginrepo-contract), it receives:
42+
Additional to the information required by the [`createVersion` function discussed earlier](./index.md/#the-pluginrepo-contract), it receives:
4343

4444
- A valid ENS `_subdomain` unique name composed of letters from a-z, all in lower caps, separated by a `-`. For ex: `token-voting-plugin`.
4545
- The address of the plugin repo maintainer who ends up having the `ROOT_PERMISSION_ID`, `MAINTAINER_PERMISSION_ID`, and `UPGRADE_REPO_PERMISSION_ID` permissions. These permissions enable the maintainer to call the internal `PermissionManager`, the `createVersion` and `updateReleaseMetadata` functions as well as upgrading the plugin contract.
4646

47-
For more details visit the [`PluginRepoFactory` Reference Guide entry](../../../../reference-guide/framework/plugin/repo/PluginRepoFactory).
47+
For more details visit the [`PluginRepoFactory` Reference Guide entry](../../../../03-reference-guide/framework/plugin/repo/PluginRepoFactory.md).
4848

4949
### The `PluginRepoRegistry` Contract
5050

@@ -62,4 +62,4 @@ address pluginRepo
6262
}
6363
```
6464

65-
For more details visit the [`PluginRepoRegistry` reference guide entry](../../../../reference-guide/framework/plugin/repo/PluginRepoRegistry).
65+
For more details visit the [`PluginRepoRegistry` reference guide entry](../../../../03-reference-guide/framework/plugin/repo/PluginRepoRegistry.md).

packages/contracts/docs/developer-portal/01-how-it-works/02-framework/02-plugin-management/01-plugin-repo/index.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Different versions might contain:
1212
- new features
1313
- breaking changes
1414

15-
`PluginRepo` contracts themselves, each associated with a different plugin, are registered in the Aragon OSx [`PluginRepoRegistry`](./plugin-repo-creation/#the-pluginreporegistry-contract) and carry their own [ENS name](../../ens-names) that the creator chooses. The [`PluginRepoRegistry` contract](./plugin-repo-creation/#the-pluginreporegistry-contract) is described in the upcoming subsection.
15+
`PluginRepo` contracts themselves, each associated with a different plugin, are registered in the Aragon OSx [`PluginRepoRegistry`](./01-plugin-repo-creation.md/#the-pluginreporegistry-contract) and carry their own [ENS name](../../03-ens-names.md) that the creator chooses. The [`PluginRepoRegistry` contract](./01-plugin-repo-creation.md/#the-pluginreporegistry-contract) is described in the upcoming subsection.
1616

1717
<div class="center-column">
1818

@@ -27,9 +27,9 @@ Different versions might contain:
2727
### The `PluginRepo` Contract
2828

2929
The `PluginRepo` contract versions the releases of a `Plugin`. The first version of a plugin is always published as release 1 and build 1 (version tag `1.1`).
30-
When you publish the first plugin version, a new plugin repository is automatically created for you by the Aragon OSx protocol in which you are the maintainer. The creation process is described in the [plugin repo creation process](./plugin-repo-creation) section.
30+
When you publish the first plugin version, a new plugin repository is automatically created for you by the Aragon OSx protocol in which you are the maintainer. The creation process is described in the [plugin repo creation process](./01-plugin-repo-creation.md) section.
3131

32-
The `PluginRepo` contract is [UUPS upgradeable](https://eips.ethereum.org/EIPS/eip-1822), inherits from the [`PermissionManager`](../../../core/permissions) and allows the maintainer of the repository to create new versions with the `createVersion` function:
32+
The `PluginRepo` contract is [UUPS upgradeable](https://eips.ethereum.org/EIPS/eip-1822), inherits from the [`PermissionManager`](../../../01-core/02-permissions/index.md) and allows the maintainer of the repository to create new versions with the `createVersion` function:
3333

3434
```solidity title="@aragon/framework/repo/PluginRepo.sol"
3535
/// @notice Creates a new plugin version as the latest build for an existing release number or the first build for a new release number for the provided `PluginSetup` contract address and metadata.
@@ -48,10 +48,10 @@ function createVersion(
4848
The function receives four input arguments:
4949

5050
1. The `_release` number to create the build for. If the release number exists already (e.g., release `1`), it is registered as the latest build (e.g., `1.3` if the previous build was `1.2`). If it is a new release number, the build number is `1` (e.g., `2.1`).
51-
2. The address of `PluginSetup` contract internally referencing the implementation contract (to copy, proxy, or clone from it) and taking care of [installing, updating to, and uninstalling](../plugin-setup) this specific version.
51+
2. The address of `PluginSetup` contract internally referencing the implementation contract (to copy, proxy, or clone from it) and taking care of [installing, updating to, and uninstalling](../02-plugin-setup/index.md) this specific version.
5252
3. The `_buildMetadata` URI pointing to a JSON file containing the UI data, setup data, and change description for this specific version.
5353
4. The `_releaseMetadata` URI pointing to a JSON file containing the plugin name, description, as well as optional data such as images to be shown in the aragonApp frontend.
5454

55-
Other functions present in the contract allow you to query previous versions and to update the release metadata. For more details visit the [`PluginRepo` reference guide entry](../../../../reference-guide/framework/plugin/repo/PluginRepo).
55+
Other functions present in the contract allow you to query previous versions and to update the release metadata. For more details visit the [`PluginRepo` reference guide entry](../../../../03-reference-guide/framework/plugin/repo/PluginRepo.md).
5656

57-
The `PluginRepo` is created for you when you publish the `PluginSetup` contract of your first version to the Aragon OSx protocol, which is explained in the next section: [The Plugin Repo Creation Process](plugin-repo-creation).
57+
The `PluginRepo` is created for you when you publish the `PluginSetup` contract of your first version to the Aragon OSx protocol, which is explained in the next section: [The Plugin Repo Creation Process](01-plugin-repo-creation.md).

packages/contracts/docs/developer-portal/01-how-it-works/02-framework/02-plugin-management/02-plugin-setup/01-security-risk-mitigation.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ that might be carelessly or intentionally caused, a malicious plugin can hide **
2929

3030
#### Permissions
3131

32-
Examples for elevated permissions, are the [permissions native to the DAO contract](../../../core/permissions#permissions-native-to-the-dao-contract) such as
32+
Examples for elevated permissions, are the [permissions native to the DAO contract](../../../01-core/02-permissions/index.md/#permissions-native-to-the-dao-contract) such as
3333

3434
- `ROOT_PERMISSION_ID`
3535
- `EXECUTE_PERMISSION_ID`
@@ -59,5 +59,5 @@ Generally, we recommend only installing plugins from trusted, verified sources s
5959

6060
More information can be found in the How-to guides
6161

62-
- [Operating your DAO](../../../../how-to-guides/dao)
63-
- [Developing a Plugin](../../../../how-to-guides/plugin-development)
62+
- [Operating your DAO](../../../../02-how-to-guides/01-dao/index.md)
63+
- [Developing a Plugin](../../../../02-how-to-guides/02-plugin-development/index.md)

packages/contracts/docs/developer-portal/01-how-it-works/02-framework/03-ens-names.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ title: ENS Names
44

55
## Unique DAO and Plugin Repo Names
66

7-
To make DAOs and plugin repositories easily identifiable in the Aragon OSx ecosystem, we assign unique ENS names to them upon registration during the [DAO creation](./dao-creation/) and [plugin publishing](./plugin-management/plugin-repo/plugin-repo-creation) processes.
7+
To make DAOs and plugin repositories easily identifiable in the Aragon OSx ecosystem, we assign unique ENS names to them upon registration during the [DAO creation](./01-dao-creation/index.md/) and [plugin publishing](./02-plugin-management/01-plugin-repo/01-plugin-repo-creation.md) processes.
88

99
:::info
10-
You can skip registering an ENS name for your DAO under the `dao.eth` by leaving the [`DAOSettings.subdomain` field](../../reference-guide/framework/dao/DAOFactory#public-struct-daosettings) empty when calling the [`createDao`](../../reference-guide/framework/dao/DAOFactory#external-function-createdao) function.
10+
You can skip registering an ENS name for your DAO under the `dao.eth` by leaving the [`DAOSettings.subdomain` field](../../03-reference-guide/framework/dao/DAOFactory.md#public-struct-daosettings) empty when calling the [`createDao`](../../03-reference-guide/framework/dao/DAOFactory.md#external-function-createdao) function.
1111
:::
1212

1313
### Allowed Character Set

packages/contracts/docs/developer-portal/02-how-to-guides/01-dao/02-action-execution.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ title: Executing actions on behalf of the DAO
66

77
Executing actions on behalf of the DAO is done through the `execute` function from the `DAO.sol` contract. This function allows us to [pass an array of actions)](https://github.com/aragon/osx/blob/develop/packages/contracts/src/core/dao/DAO.sol) to be executed by the DAO contract itself.
88

9-
However, for the `execute` call to work, the address calling the function (the `msg.sender`) needs to have the [`EXECUTE_PERMISSION`](../../how-it-works/core/permissions#permissions-native-to-the-dao-contract). This is to prevent anyone from being able to execute actions on behalf of the DAO and keep your assets safe from malicious actors.
9+
However, for the `execute` call to work, the address calling the function (the `msg.sender`) needs to have the [`EXECUTE_PERMISSION`](../../01-how-it-works/01-core/02-permissions/index.md#permissions-native-to-the-dao-contract). This is to prevent anyone from being able to execute actions on behalf of the DAO and keep your assets safe from malicious actors.
1010

1111
## How to grant the Execute Permission
1212

@@ -27,7 +27,7 @@ You probably don't want to grant `EXECUTE_PERMISSION` to any random address, sin
2727

2828
### Calling a DAO Function
2929

30-
Imagine you want to call an internal function inside the `DAO` contract, for example, to manually [grant or revoke a permission](../../how-it-works/core/permissions). The corresponding `Action` and `execute` function call look as follows:
30+
Imagine you want to call an internal function inside the `DAO` contract, for example, to manually [grant or revoke a permission](../../01-how-it-works/01-core/02-permissions/index.md). The corresponding `Action` and `execute` function call look as follows:
3131

3232
```solidity
3333
function exampleGrantCall(
@@ -54,9 +54,9 @@ function exampleGrantCall(
5454
}
5555
```
5656

57-
Here we use the selector of the [`grant` function](../../reference-guide/core/permission/PermissionManager#external-function-grant). To revoke the permission, the selector of the [`revoke` function](../../reference-guide/core/permission/PermissionManager#external-function-revoke) must be used.
57+
Here we use the selector of the [`grant` function](../../03-reference-guide/core/permission/PermissionManager.md/#external-function-grant). To revoke the permission, the selector of the [`revoke` function](../../03-reference-guide/core/permission/PermissionManager.md/#external-function-revoke) must be used.
5858

59-
If the caller possesses the [`ROOT_PERMISSION_ID` permission](../../how-it-works/core/permissions#permissions-native-to-the-dao-contract) on the DAO contract, the call becomes simpler and cheaper:
59+
If the caller possesses the [`ROOT_PERMISSION_ID` permission](../../01-how-it-works/01-core/02-permissions/index.md#permissions-native-to-the-dao-contract) on the DAO contract, the call becomes simpler and cheaper:
6060

6161
:::caution
6262
Granting the `ROOT_PERMISSION_ID` permission to other contracts other than the `DAO` contract is dangerous and considered as an anti-pattern.

0 commit comments

Comments
 (0)