diff --git a/contracts/README.adoc b/contracts/README.adoc index 2196a01a..52dd09f2 100644 --- a/contracts/README.adoc +++ b/contracts/README.adoc @@ -2,7 +2,11 @@ This is the reference guide for the link:https://github.com/aragon/osx-commons[osx-commons-contracts] package. -== Core +== Core12123 + +{{gio}} + +{{gio2}} {{IDAO}} diff --git a/contracts/docs/config.js b/contracts/docs/config.js index fb47d09f..b2ee0c55 100644 --- a/contracts/docs/config.js +++ b/contracts/docs/config.js @@ -1,15 +1,17 @@ const path = require('path'); const fs = require('fs'); -const {version, repository} = require('../package.json'); +const { version, repository } = require('../package.json'); const helpers = require(path.resolve(__dirname, './templates/helpers')); // overwrite the functions. -helpers.version = () => version; + +// Tags on `osx-commons-contracts` are created as below. +helpers.version = () => `${version}-contracts/contracts`; + helpers.githubURI = () => repository.url; -/** @type import('solidity-docgen/dist/config').UserConfig */ module.exports = { outputDir: 'docs/modules/api/pages', templates: 'docs/templates', diff --git a/contracts/docs/modules/ROOT/nav.adoc b/contracts/docs/modules/ROOT/nav.adoc deleted file mode 100644 index 59a7257c..00000000 --- a/contracts/docs/modules/ROOT/nav.adoc +++ /dev/null @@ -1 +0,0 @@ -* xref:index.adoc[Overview] \ No newline at end of file diff --git a/contracts/docs/modules/ROOT/pages/index.adoc b/contracts/docs/modules/ROOT/pages/index.adoc deleted file mode 100644 index da00418d..00000000 --- a/contracts/docs/modules/ROOT/pages/index.adoc +++ /dev/null @@ -1,3 +0,0 @@ -= OSX Commons. - -link:https://github.com/aragon/osx-commons[OSX commons] package is used to help with Aragon's project to avoid code duplication. \ No newline at end of file diff --git a/contracts/docs/modules/api/pages/osx-commons.adoc b/contracts/docs/modules/api/pages/osx-commons.adoc index d29beecc..59366fcd 100644 --- a/contracts/docs/modules/api/pages/osx-commons.adoc +++ b/contracts/docs/modules/api/pages/osx-commons.adoc @@ -148,7 +148,7 @@ This is the reference guide for the link:https://github.com/aragon/osx-commons[osx-commons-contracts] package. -== Core +== Core12123 :hasPermission: pass:normal[xref:#IDAO-hasPermission-address-address-bytes32-bytes-[`++hasPermission++`]] :setMetadata: pass:normal[xref:#IDAO-setMetadata-bytes-[`++setMetadata++`]] @@ -166,7 +166,7 @@ This is the reference guide for the link:https://github.com/aragon/osx-commons[o [.contract] [[IDAO]] -=== `++IDAO++` link:https://github.com/aragon/osx-commons.git/blob/v1.4.0-alpha.6/src/dao/IDAO.sol[{github-icon},role=heading-link] +=== `++IDAO++` link:https://github.com/aragon/osx-commons/blob/1.4.0-alpha.6-contracts/contracts/src/dao/IDAO.sol[{github-icon},role=heading-link] [.contract-index] .Functions @@ -275,6 +275,8 @@ This event is intended to be emitted in the `receive` function and is Emitted when a new TrustedForwarder is set on the DAO. +Requires {UPDATE_STAGES_PERMISSION_ID} + :MAX_ACTIONS: pass:normal[xref:#Executor-MAX_ACTIONS-uint256[`++MAX_ACTIONS++`]] :TooManyActions: pass:normal[xref:#Executor-TooManyActions--[`++TooManyActions++`]] :InsufficientGas: pass:normal[xref:#Executor-InsufficientGas--[`++InsufficientGas++`]] @@ -287,7 +289,7 @@ Emitted when a new TrustedForwarder is set on the DAO. [.contract] [[Executor]] -=== `++Executor++` link:https://github.com/aragon/osx-commons.git/blob/v1.4.0-alpha.6/src/executors/Executor.sol[{github-icon},role=heading-link] +=== `++Executor++` link:https://github.com/aragon/osx-commons/blob/1.4.0-alpha.6-contracts/contracts/src/executors/Executor.sol[{github-icon},role=heading-link] This doesn't use any type of permission for execution and can be called by anyone. Most useful use-case is to deploy it as non-upgradeable and call from another contract via delegatecall. @@ -431,7 +433,7 @@ The internal constant storing the maximal action array length. [.contract] [[PermissionLib]] -=== `++PermissionLib++` link:https://github.com/aragon/osx-commons.git/blob/v1.4.0-alpha.6/src/permission/PermissionLib.sol[{github-icon},role=heading-link] +=== `++PermissionLib++` link:https://github.com/aragon/osx-commons/blob/1.4.0-alpha.6-contracts/contracts/src/permission/PermissionLib.sol[{github-icon},role=heading-link] [.contract-index] .Functions @@ -464,7 +466,7 @@ A constant expressing that no condition is applied to a permission. [.contract] [[Plugin]] -=== `++Plugin++` link:https://github.com/aragon/osx-commons.git/blob/v1.4.0-alpha.6/src/plugin/Plugin.sol[{github-icon},role=heading-link] +=== `++Plugin++` link:https://github.com/aragon/osx-commons/blob/1.4.0-alpha.6-contracts/contracts/src/plugin/Plugin.sol[{github-icon},role=heading-link] [.contract-index] .Functions @@ -649,7 +651,7 @@ Thrown when `delegatecall` fails. [.contract] [[PluginCloneable]] -=== `++PluginCloneable++` link:https://github.com/aragon/osx-commons.git/blob/v1.4.0-alpha.6/src/plugin/PluginCloneable.sol[{github-icon},role=heading-link] +=== `++PluginCloneable++` link:https://github.com/aragon/osx-commons/blob/1.4.0-alpha.6-contracts/contracts/src/plugin/PluginCloneable.sol[{github-icon},role=heading-link] [.contract-index] .Functions @@ -865,7 +867,7 @@ Thrown when `delegatecall` fails. [.contract] [[PluginUUPSUpgradeable]] -=== `++PluginUUPSUpgradeable++` link:https://github.com/aragon/osx-commons.git/blob/v1.4.0-alpha.6/src/plugin/PluginUUPSUpgradeable.sol[{github-icon},role=heading-link] +=== `++PluginUUPSUpgradeable++` link:https://github.com/aragon/osx-commons/blob/1.4.0-alpha.6-contracts/contracts/src/plugin/PluginUUPSUpgradeable.sol[{github-icon},role=heading-link] [.contract-index] .Modifiers @@ -1146,7 +1148,7 @@ Thrown when initialize is called after it has already been executed. [.contract] [[PluginSetup]] -=== `++PluginSetup++` link:https://github.com/aragon/osx-commons.git/blob/v1.4.0-alpha.6/src/plugin/setup/PluginSetup.sol[{github-icon},role=heading-link] +=== `++PluginSetup++` link:https://github.com/aragon/osx-commons/blob/1.4.0-alpha.6-contracts/contracts/src/plugin/setup/PluginSetup.sol[{github-icon},role=heading-link] [.contract-index] .Functions @@ -1267,7 +1269,7 @@ The address of the plugin implementation contract for initial block explorer ver [.contract] [[Proposal]] -=== `++Proposal++` link:https://github.com/aragon/osx-commons.git/blob/v1.4.0-alpha.6/src/plugin/extensions/proposal/Proposal.sol[{github-icon},role=heading-link] +=== `++Proposal++` link:https://github.com/aragon/osx-commons/blob/1.4.0-alpha.6-contracts/contracts/src/plugin/extensions/proposal/Proposal.sol[{github-icon},role=heading-link] [.contract-index] .Functions @@ -1362,7 +1364,7 @@ In addition to the current interfaceId, also support previous version of the int [.contract] [[ProposalUpgradeable]] -=== `++ProposalUpgradeable++` link:https://github.com/aragon/osx-commons.git/blob/v1.4.0-alpha.6/src/plugin/extensions/proposal/ProposalUpgradeable.sol[{github-icon},role=heading-link] +=== `++ProposalUpgradeable++` link:https://github.com/aragon/osx-commons/blob/1.4.0-alpha.6-contracts/contracts/src/plugin/extensions/proposal/ProposalUpgradeable.sol[{github-icon},role=heading-link] [.contract-index] .Functions @@ -1466,7 +1468,7 @@ In addition to the current interfaceId, also support previous version of the int [.contract] [[IMembership]] -=== `++IMembership++` link:https://github.com/aragon/osx-commons.git/blob/v1.4.0-alpha.6/src/plugin/extensions/membership/IMembership.sol[{github-icon},role=heading-link] +=== `++IMembership++` link:https://github.com/aragon/osx-commons/blob/1.4.0-alpha.6-contracts/contracts/src/plugin/extensions/membership/IMembership.sol[{github-icon},role=heading-link] [.contract-index] .Functions @@ -1520,7 +1522,7 @@ Emitted to announce the membership being defined by a contract. [.contract] [[Addresslist]] -=== `++Addresslist++` link:https://github.com/aragon/osx-commons.git/blob/v1.4.0-alpha.6/src/plugin/extensions/governance/Addresslist.sol[{github-icon},role=heading-link] +=== `++Addresslist++` link:https://github.com/aragon/osx-commons/blob/1.4.0-alpha.6-contracts/contracts/src/plugin/extensions/governance/Addresslist.sol[{github-icon},role=heading-link] This contract inherits from `MajorityVotingBase` and implements the `IMajorityVoting` interface. @@ -1595,7 +1597,7 @@ Thrown when the address list update is invalid, which can be caused by the addit [.contract] [[MetadataExtension]] -=== `++MetadataExtension++` link:https://github.com/aragon/osx-commons.git/blob/v1.4.0-alpha.6/src/utils/metadata/MetadataExtension.sol[{github-icon},role=heading-link] +=== `++MetadataExtension++` link:https://github.com/aragon/osx-commons/blob/1.4.0-alpha.6-contracts/contracts/src/utils/metadata/MetadataExtension.sol[{github-icon},role=heading-link] [.contract-index] .Functions @@ -1680,7 +1682,7 @@ Emitted when metadata is set. [.contract] [[MetadataExtensionUpgradeable]] -=== `++MetadataExtensionUpgradeable++` link:https://github.com/aragon/osx-commons.git/blob/v1.4.0-alpha.6/src/utils/metadata/MetadataExtensionUpgradeable.sol[{github-icon},role=heading-link] +=== `++MetadataExtensionUpgradeable++` link:https://github.com/aragon/osx-commons/blob/1.4.0-alpha.6-contracts/contracts/src/utils/metadata/MetadataExtensionUpgradeable.sol[{github-icon},role=heading-link] Due to the requirements that already existing upgradeable plugins need to start inheritting from this, we're required to use hardcoded/specific slots for storage instead of sequential slots with gaps. @@ -1775,7 +1777,7 @@ Emitted when metadata is updated. [.contract] [[ProtocolVersion]] -=== `++ProtocolVersion++` link:https://github.com/aragon/osx-commons.git/blob/v1.4.0-alpha.6/src/utils/versioning/ProtocolVersion.sol[{github-icon},role=heading-link] +=== `++ProtocolVersion++` link:https://github.com/aragon/osx-commons/blob/1.4.0-alpha.6-contracts/contracts/src/utils/versioning/ProtocolVersion.sol[{github-icon},role=heading-link] Do not add any new variables to this contract that would shift down storage in the inheritance chain. @@ -1806,7 +1808,7 @@ This version number is not to be confused with the `release` and ` [.contract] [[ProxyFactory]] -=== `++ProxyFactory++` link:https://github.com/aragon/osx-commons.git/blob/v1.4.0-alpha.6/src/utils/deployment/ProxyFactory.sol[{github-icon},role=heading-link] +=== `++ProxyFactory++` link:https://github.com/aragon/osx-commons/blob/1.4.0-alpha.6-contracts/contracts/src/utils/deployment/ProxyFactory.sol[{github-icon},role=heading-link] [.contract-index] .Functions @@ -1878,7 +1880,7 @@ The immutable logic contract address. [.contract] [[ProxyLib]] -=== `++ProxyLib++` link:https://github.com/aragon/osx-commons.git/blob/v1.4.0-alpha.6/src/utils/deployment/ProxyLib.sol[{github-icon},role=heading-link] +=== `++ProxyLib++` link:https://github.com/aragon/osx-commons/blob/1.4.0-alpha.6-contracts/contracts/src/utils/deployment/ProxyLib.sol[{github-icon},role=heading-link] [.contract-index] .Functions @@ -1910,7 +1912,7 @@ If `_initCalldata` is non-empty, it is used in a call to the clone con [.contract] [[PermissionCondition]] -=== `++PermissionCondition++` link:https://github.com/aragon/osx-commons.git/blob/v1.4.0-alpha.6/src/permission/condition/PermissionCondition.sol[{github-icon},role=heading-link] +=== `++PermissionCondition++` link:https://github.com/aragon/osx-commons/blob/1.4.0-alpha.6-contracts/contracts/src/permission/condition/PermissionCondition.sol[{github-icon},role=heading-link] [.contract-index] .Functions @@ -1946,7 +1948,7 @@ Checks if an interface is supported by this or its parent contract. [.contract] [[PermissionConditionUpgradeable]] -=== `++PermissionConditionUpgradeable++` link:https://github.com/aragon/osx-commons.git/blob/v1.4.0-alpha.6/src/permission/condition/PermissionConditionUpgradeable.sol[{github-icon},role=heading-link] +=== `++PermissionConditionUpgradeable++` link:https://github.com/aragon/osx-commons/blob/1.4.0-alpha.6-contracts/contracts/src/permission/condition/PermissionConditionUpgradeable.sol[{github-icon},role=heading-link] [.contract-index] .Functions @@ -2026,7 +2028,7 @@ Checks if an interface is supported by this or its parent contract. [.contract] [[RuledCondition]] -=== `++RuledCondition++` link:https://github.com/aragon/osx-commons.git/blob/v1.4.0-alpha.6/src/permission/condition/extensions/RuledCondition.sol[{github-icon},role=heading-link] +=== `++RuledCondition++` link:https://github.com/aragon/osx-commons/blob/1.4.0-alpha.6-contracts/contracts/src/permission/condition/extensions/RuledCondition.sol[{github-icon},role=heading-link] [.contract-index] .Functions diff --git a/contracts/package.json b/contracts/package.json index a081e3dc..c74ea298 100644 --- a/contracts/package.json +++ b/contracts/package.json @@ -52,7 +52,7 @@ }, "repository": { "type": "git", - "url": "https://github.com/aragon/osx-commons.git" + "url": "https://github.com/aragon/osx-commons" }, "files": [ "src/{dao,permission,plugin,utils}/**/*.sol" diff --git a/contracts/scripts/prepare-docs.sh b/contracts/scripts/prepare-docs.sh index c775cb54..b7d15197 100755 --- a/contracts/scripts/prepare-docs.sh +++ b/contracts/scripts/prepare-docs.sh @@ -1,8 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -# shopt -s globstar - PACKAGE_NAME="@aragon/osx-commons-configs" PACKAGE_PATH=$(node -p "require.resolve('$PACKAGE_NAME')") @@ -18,10 +16,8 @@ fi rm -rf "$OUTDIR" -echo $OUTDIR - hardhat docgen node scripts/gen-nav.js "$OUTDIR" > "$OUTDIR/../nav.adoc" -rm -rf ./docs/templates \ No newline at end of file +rm -rf ./docs/templates/ \ No newline at end of file diff --git a/contracts/src/dao/IDAO.sol b/contracts/src/dao/IDAO.sol index 27efdb10..cb1114e4 100644 --- a/contracts/src/dao/IDAO.sol +++ b/contracts/src/dao/IDAO.sol @@ -71,6 +71,7 @@ interface IDAO { function getTrustedForwarder() external view returns (address); /// @notice Emitted when a new TrustedForwarder is set on the DAO. + /// @dev Requires {UPDATE_STAGES_PERMISSION_ID} /// @param forwarder the new forwarder address. event TrustedForwarderSet(address forwarder);