From 645e2a6c4a6fcd22a454ed1bda69fb09a35921c1 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 4 Oct 2023 17:37:09 +0000 Subject: [PATCH] Update docs --- docs/modules/api/pages/access.adoc | 22 +++++++++ docs/modules/api/pages/governance.adoc | 64 ++++++++++++++++++++++++++ docs/modules/api/pages/proxy.adoc | 26 +++++++++++ docs/templates/contract.hbs | 2 +- docs/templates/helpers.js | 2 +- docs/templates/properties.js | 17 ++++++- package-lock.json | 8 ++-- package.json | 2 +- 8 files changed, 135 insertions(+), 8 deletions(-) diff --git a/docs/modules/api/pages/access.adoc b/docs/modules/api/pages/access.adoc index f67970f85..e533d9698 100644 --- a/docs/modules/api/pages/access.adoc +++ b/docs/modules/api/pages/access.adoc @@ -47,6 +47,7 @@ :xref-AccessControl-_setRoleAdmin-bytes32-bytes32-: xref:access.adoc#AccessControl-_setRoleAdmin-bytes32-bytes32- :xref-AccessControl-_grantRole-bytes32-address-: xref:access.adoc#AccessControl-_grantRole-bytes32-address- :xref-AccessControl-_revokeRole-bytes32-address-: xref:access.adoc#AccessControl-_revokeRole-bytes32-address- +:xref-AccessControl-DEFAULT_ADMIN_ROLE-bytes32: xref:access.adoc#AccessControl-DEFAULT_ADMIN_ROLE-bytes32 :xref-IAccessControl-RoleAdminChanged-bytes32-bytes32-bytes32-: xref:access.adoc#IAccessControl-RoleAdminChanged-bytes32-bytes32-bytes32- :xref-IAccessControl-RoleGranted-bytes32-address-address-: xref:access.adoc#IAccessControl-RoleGranted-bytes32-address-address- :xref-IAccessControl-RoleRevoked-bytes32-address-address-: xref:access.adoc#IAccessControl-RoleRevoked-bytes32-address-address- @@ -79,6 +80,7 @@ :xref-AccessControl-revokeRole-bytes32-address-: xref:access.adoc#AccessControl-revokeRole-bytes32-address- :xref-AccessControl-renounceRole-bytes32-address-: xref:access.adoc#AccessControl-renounceRole-bytes32-address- :xref-AccessControl-_setRoleAdmin-bytes32-bytes32-: xref:access.adoc#AccessControl-_setRoleAdmin-bytes32-bytes32- +:xref-AccessControl-DEFAULT_ADMIN_ROLE-bytes32: xref:access.adoc#AccessControl-DEFAULT_ADMIN_ROLE-bytes32 :xref-IAccessControl-RoleAdminChanged-bytes32-bytes32-bytes32-: xref:access.adoc#IAccessControl-RoleAdminChanged-bytes32-bytes32-bytes32- :xref-IAccessControl-RoleGranted-bytes32-address-address-: xref:access.adoc#IAccessControl-RoleGranted-bytes32-address-address- :xref-IAccessControl-RoleRevoked-bytes32-address-address-: xref:access.adoc#IAccessControl-RoleRevoked-bytes32-address-address- @@ -145,6 +147,7 @@ :xref-AccessControl-_checkRole-bytes32-: xref:access.adoc#AccessControl-_checkRole-bytes32- :xref-AccessControl-_checkRole-bytes32-address-: xref:access.adoc#AccessControl-_checkRole-bytes32-address- :xref-AccessControl-getRoleAdmin-bytes32-: xref:access.adoc#AccessControl-getRoleAdmin-bytes32- +:xref-AccessControl-DEFAULT_ADMIN_ROLE-bytes32: xref:access.adoc#AccessControl-DEFAULT_ADMIN_ROLE-bytes32 :xref-IAccessControlDefaultAdminRules-DefaultAdminTransferScheduled-address-uint48-: xref:access.adoc#IAccessControlDefaultAdminRules-DefaultAdminTransferScheduled-address-uint48- :xref-IAccessControlDefaultAdminRules-DefaultAdminTransferCanceled--: xref:access.adoc#IAccessControlDefaultAdminRules-DefaultAdminTransferCanceled-- :xref-IAccessControlDefaultAdminRules-DefaultAdminDelayChangeScheduled-uint48-uint48-: xref:access.adoc#IAccessControlDefaultAdminRules-DefaultAdminDelayChangeScheduled-uint48-uint48- @@ -219,6 +222,8 @@ :xref-AccessManager-cancel-address-address-bytes-: xref:access.adoc#AccessManager-cancel-address-address-bytes- :xref-AccessManager-hashOperation-address-address-bytes-: xref:access.adoc#AccessManager-hashOperation-address-address-bytes- :xref-AccessManager-updateAuthority-address-address-: xref:access.adoc#AccessManager-updateAuthority-address-address- +:xref-AccessManager-ADMIN_ROLE-uint64: xref:access.adoc#AccessManager-ADMIN_ROLE-uint64 +:xref-AccessManager-PUBLIC_ROLE-uint64: xref:access.adoc#AccessManager-PUBLIC_ROLE-uint64 :xref-Multicall-multicall-bytes---: xref:utils.adoc#Multicall-multicall-bytes--- :xref-IAccessManager-OperationScheduled-bytes32-uint32-uint48-address-address-bytes-: xref:access.adoc#IAccessManager-OperationScheduled-bytes32-uint32-uint48-address-address-bytes- :xref-IAccessManager-OperationExecuted-bytes32-uint32-: xref:access.adoc#IAccessManager-OperationExecuted-bytes32-uint32- @@ -721,6 +726,7 @@ to enforce additional security measures for this role. * {xref-AccessControl-_setRoleAdmin-bytes32-bytes32-}[`++_setRoleAdmin(role, adminRole)++`] * {xref-AccessControl-_grantRole-bytes32-address-}[`++_grantRole(role, account)++`] * {xref-AccessControl-_revokeRole-bytes32-address-}[`++_revokeRole(role, account)++`] +* {xref-AccessControl-DEFAULT_ADMIN_ROLE-bytes32}[`++DEFAULT_ADMIN_ROLE()++`] [.contract-subindex-inherited] .ERC165 @@ -886,6 +892,10 @@ Internal function without access restriction. May emit a {RoleRevoked} event. +[.contract-item] +[[AccessControl-DEFAULT_ADMIN_ROLE-bytes32]] +==== `[.contract-item-name]#++DEFAULT_ADMIN_ROLE++#++() → bytes32++` [.item-kind]#public# + == Extensions :getRoleMember: pass:normal[xref:#IAccessControlEnumerable-getRoleMember-bytes32-uint256-[`++getRoleMember++`]] @@ -999,6 +1009,7 @@ Extension of {AccessControl} that allows enumerating the members of each role. * {xref-AccessControl-revokeRole-bytes32-address-}[`++revokeRole(role, account)++`] * {xref-AccessControl-renounceRole-bytes32-address-}[`++renounceRole(role, callerConfirmation)++`] * {xref-AccessControl-_setRoleAdmin-bytes32-bytes32-}[`++_setRoleAdmin(role, adminRole)++`] +* {xref-AccessControl-DEFAULT_ADMIN_ROLE-bytes32}[`++DEFAULT_ADMIN_ROLE()++`] [.contract-subindex-inherited] .ERC165 @@ -1478,6 +1489,7 @@ contract MyToken is AccessControlDefaultAdminRules { * {xref-AccessControl-_checkRole-bytes32-}[`++_checkRole(role)++`] * {xref-AccessControl-_checkRole-bytes32-address-}[`++_checkRole(role, account)++`] * {xref-AccessControl-getRoleAdmin-bytes32-}[`++getRoleAdmin(role)++`] +* {xref-AccessControl-DEFAULT_ADMIN_ROLE-bytes32}[`++DEFAULT_ADMIN_ROLE()++`] [.contract-subindex-inherited] .ERC165 @@ -1993,6 +2005,8 @@ mindful of the danger associated with functions such as {{Ownable-renounceOwners * {xref-AccessManager-cancel-address-address-bytes-}[`++cancel(caller, target, data)++`] * {xref-AccessManager-hashOperation-address-address-bytes-}[`++hashOperation(caller, target, data)++`] * {xref-AccessManager-updateAuthority-address-address-}[`++updateAuthority(target, newAuthority)++`] +* {xref-AccessManager-ADMIN_ROLE-uint64}[`++ADMIN_ROLE()++`] +* {xref-AccessManager-PUBLIC_ROLE-uint64}[`++PUBLIC_ROLE()++`] [.contract-subindex-inherited] .IAccessManager @@ -2445,6 +2459,14 @@ Requirements: - the caller must be a global admin +[.contract-item] +[[AccessManager-ADMIN_ROLE-uint64]] +==== `[.contract-item-name]#++ADMIN_ROLE++#++() → uint64++` [.item-kind]#public# + +[.contract-item] +[[AccessManager-PUBLIC_ROLE-uint64]] +==== `[.contract-item-name]#++PUBLIC_ROLE++#++() → uint64++` [.item-kind]#public# + :constructor: pass:normal[xref:#AccessManaged-constructor-address-[`++constructor++`]] :restricted: pass:normal[xref:#AccessManaged-restricted--[`++restricted++`]] :authority: pass:normal[xref:#AccessManaged-authority--[`++authority++`]] diff --git a/docs/modules/api/pages/governance.adoc b/docs/modules/api/pages/governance.adoc index 4ac082bf5..55252f410 100644 --- a/docs/modules/api/pages/governance.adoc +++ b/docs/modules/api/pages/governance.adoc @@ -119,6 +119,8 @@ :xref-Governor-votingDelay--: xref:governance.adoc#Governor-votingDelay-- :xref-Governor-votingPeriod--: xref:governance.adoc#Governor-votingPeriod-- :xref-Governor-quorum-uint256-: xref:governance.adoc#Governor-quorum-uint256- +:xref-Governor-BALLOT_TYPEHASH-bytes32: xref:governance.adoc#Governor-BALLOT_TYPEHASH-bytes32 +:xref-Governor-EXTENDED_BALLOT_TYPEHASH-bytes32: xref:governance.adoc#Governor-EXTENDED_BALLOT_TYPEHASH-bytes32 :xref-IGovernor-COUNTING_MODE--: xref:governance.adoc#IGovernor-COUNTING_MODE-- :xref-IGovernor-hasVoted-uint256-address-: xref:governance.adoc#IGovernor-hasVoted-uint256-address- :xref-Nonces-nonces-address-: xref:utils.adoc#Nonces-nonces-address- @@ -237,6 +239,8 @@ :xref-Governor-votingDelay--: xref:governance.adoc#Governor-votingDelay-- :xref-Governor-votingPeriod--: xref:governance.adoc#Governor-votingPeriod-- :xref-Governor-quorum-uint256-: xref:governance.adoc#Governor-quorum-uint256- +:xref-Governor-BALLOT_TYPEHASH-bytes32: xref:governance.adoc#Governor-BALLOT_TYPEHASH-bytes32 +:xref-Governor-EXTENDED_BALLOT_TYPEHASH-bytes32: xref:governance.adoc#Governor-EXTENDED_BALLOT_TYPEHASH-bytes32 :xref-Nonces-nonces-address-: xref:utils.adoc#Nonces-nonces-address- :xref-Nonces-_useNonce-address-: xref:utils.adoc#Nonces-_useNonce-address- :xref-Nonces-_useCheckedNonce-address-uint256-: xref:utils.adoc#Nonces-_useCheckedNonce-address-uint256- @@ -325,6 +329,8 @@ :xref-Governor-votingDelay--: xref:governance.adoc#Governor-votingDelay-- :xref-Governor-votingPeriod--: xref:governance.adoc#Governor-votingPeriod-- :xref-Governor-quorum-uint256-: xref:governance.adoc#Governor-quorum-uint256- +:xref-Governor-BALLOT_TYPEHASH-bytes32: xref:governance.adoc#Governor-BALLOT_TYPEHASH-bytes32 +:xref-Governor-EXTENDED_BALLOT_TYPEHASH-bytes32: xref:governance.adoc#Governor-EXTENDED_BALLOT_TYPEHASH-bytes32 :xref-IGovernor-COUNTING_MODE--: xref:governance.adoc#IGovernor-COUNTING_MODE-- :xref-IGovernor-hasVoted-uint256-address-: xref:governance.adoc#IGovernor-hasVoted-uint256-address- :xref-Nonces-nonces-address-: xref:utils.adoc#Nonces-nonces-address- @@ -414,6 +420,8 @@ :xref-Governor-_isValidDescriptionForProposer-address-string-: xref:governance.adoc#Governor-_isValidDescriptionForProposer-address-string- :xref-Governor-votingDelay--: xref:governance.adoc#Governor-votingDelay-- :xref-Governor-votingPeriod--: xref:governance.adoc#Governor-votingPeriod-- +:xref-Governor-BALLOT_TYPEHASH-bytes32: xref:governance.adoc#Governor-BALLOT_TYPEHASH-bytes32 +:xref-Governor-EXTENDED_BALLOT_TYPEHASH-bytes32: xref:governance.adoc#Governor-EXTENDED_BALLOT_TYPEHASH-bytes32 :xref-IGovernor-COUNTING_MODE--: xref:governance.adoc#IGovernor-COUNTING_MODE-- :xref-IGovernor-hasVoted-uint256-address-: xref:governance.adoc#IGovernor-hasVoted-uint256-address- :xref-Nonces-nonces-address-: xref:utils.adoc#Nonces-nonces-address- @@ -510,6 +518,8 @@ :xref-Governor-votingDelay--: xref:governance.adoc#Governor-votingDelay-- :xref-Governor-votingPeriod--: xref:governance.adoc#Governor-votingPeriod-- :xref-Governor-quorum-uint256-: xref:governance.adoc#Governor-quorum-uint256- +:xref-Governor-BALLOT_TYPEHASH-bytes32: xref:governance.adoc#Governor-BALLOT_TYPEHASH-bytes32 +:xref-Governor-EXTENDED_BALLOT_TYPEHASH-bytes32: xref:governance.adoc#Governor-EXTENDED_BALLOT_TYPEHASH-bytes32 :xref-IGovernor-COUNTING_MODE--: xref:governance.adoc#IGovernor-COUNTING_MODE-- :xref-IGovernor-hasVoted-uint256-address-: xref:governance.adoc#IGovernor-hasVoted-uint256-address- :xref-Nonces-nonces-address-: xref:utils.adoc#Nonces-nonces-address- @@ -606,6 +616,8 @@ :xref-Governor-votingDelay--: xref:governance.adoc#Governor-votingDelay-- :xref-Governor-votingPeriod--: xref:governance.adoc#Governor-votingPeriod-- :xref-Governor-quorum-uint256-: xref:governance.adoc#Governor-quorum-uint256- +:xref-Governor-BALLOT_TYPEHASH-bytes32: xref:governance.adoc#Governor-BALLOT_TYPEHASH-bytes32 +:xref-Governor-EXTENDED_BALLOT_TYPEHASH-bytes32: xref:governance.adoc#Governor-EXTENDED_BALLOT_TYPEHASH-bytes32 :xref-IGovernor-COUNTING_MODE--: xref:governance.adoc#IGovernor-COUNTING_MODE-- :xref-IGovernor-hasVoted-uint256-address-: xref:governance.adoc#IGovernor-hasVoted-uint256-address- :xref-Nonces-nonces-address-: xref:utils.adoc#Nonces-nonces-address- @@ -699,6 +711,8 @@ :xref-Governor-clock--: xref:governance.adoc#Governor-clock-- :xref-Governor-CLOCK_MODE--: xref:governance.adoc#Governor-CLOCK_MODE-- :xref-Governor-quorum-uint256-: xref:governance.adoc#Governor-quorum-uint256- +:xref-Governor-BALLOT_TYPEHASH-bytes32: xref:governance.adoc#Governor-BALLOT_TYPEHASH-bytes32 +:xref-Governor-EXTENDED_BALLOT_TYPEHASH-bytes32: xref:governance.adoc#Governor-EXTENDED_BALLOT_TYPEHASH-bytes32 :xref-IGovernor-COUNTING_MODE--: xref:governance.adoc#IGovernor-COUNTING_MODE-- :xref-IGovernor-hasVoted-uint256-address-: xref:governance.adoc#IGovernor-hasVoted-uint256-address- :xref-Nonces-nonces-address-: xref:utils.adoc#Nonces-nonces-address- @@ -789,6 +803,8 @@ :xref-Governor-votingDelay--: xref:governance.adoc#Governor-votingDelay-- :xref-Governor-votingPeriod--: xref:governance.adoc#Governor-votingPeriod-- :xref-Governor-quorum-uint256-: xref:governance.adoc#Governor-quorum-uint256- +:xref-Governor-BALLOT_TYPEHASH-bytes32: xref:governance.adoc#Governor-BALLOT_TYPEHASH-bytes32 +:xref-Governor-EXTENDED_BALLOT_TYPEHASH-bytes32: xref:governance.adoc#Governor-EXTENDED_BALLOT_TYPEHASH-bytes32 :xref-IGovernor-COUNTING_MODE--: xref:governance.adoc#IGovernor-COUNTING_MODE-- :xref-IGovernor-hasVoted-uint256-address-: xref:governance.adoc#IGovernor-hasVoted-uint256-address- :xref-Nonces-nonces-address-: xref:utils.adoc#Nonces-nonces-address- @@ -882,6 +898,8 @@ :xref-Governor-votingDelay--: xref:governance.adoc#Governor-votingDelay-- :xref-Governor-votingPeriod--: xref:governance.adoc#Governor-votingPeriod-- :xref-Governor-quorum-uint256-: xref:governance.adoc#Governor-quorum-uint256- +:xref-Governor-BALLOT_TYPEHASH-bytes32: xref:governance.adoc#Governor-BALLOT_TYPEHASH-bytes32 +:xref-Governor-EXTENDED_BALLOT_TYPEHASH-bytes32: xref:governance.adoc#Governor-EXTENDED_BALLOT_TYPEHASH-bytes32 :xref-IGovernor-COUNTING_MODE--: xref:governance.adoc#IGovernor-COUNTING_MODE-- :xref-IGovernor-hasVoted-uint256-address-: xref:governance.adoc#IGovernor-hasVoted-uint256-address- :xref-Nonces-nonces-address-: xref:utils.adoc#Nonces-nonces-address- @@ -974,6 +992,9 @@ :xref-TimelockController-_execute-address-uint256-bytes-: xref:governance.adoc#TimelockController-_execute-address-uint256-bytes- :xref-TimelockController-updateDelay-uint256-: xref:governance.adoc#TimelockController-updateDelay-uint256- :xref-TimelockController-_encodeStateBitmap-enum-TimelockController-OperationState-: xref:governance.adoc#TimelockController-_encodeStateBitmap-enum-TimelockController-OperationState- +:xref-TimelockController-PROPOSER_ROLE-bytes32: xref:governance.adoc#TimelockController-PROPOSER_ROLE-bytes32 +:xref-TimelockController-EXECUTOR_ROLE-bytes32: xref:governance.adoc#TimelockController-EXECUTOR_ROLE-bytes32 +:xref-TimelockController-CANCELLER_ROLE-bytes32: xref:governance.adoc#TimelockController-CANCELLER_ROLE-bytes32 :xref-ERC1155Holder-onERC1155Received-address-address-uint256-uint256-bytes-: xref:token/ERC1155.adoc#ERC1155Holder-onERC1155Received-address-address-uint256-uint256-bytes- :xref-ERC1155Holder-onERC1155BatchReceived-address-address-uint256---uint256---bytes-: xref:token/ERC1155.adoc#ERC1155Holder-onERC1155BatchReceived-address-address-uint256---uint256---bytes- :xref-ERC721Holder-onERC721Received-address-address-uint256-bytes-: xref:token/ERC721.adoc#ERC721Holder-onERC721Received-address-address-uint256-bytes- @@ -987,6 +1008,7 @@ :xref-AccessControl-_setRoleAdmin-bytes32-bytes32-: xref:access.adoc#AccessControl-_setRoleAdmin-bytes32-bytes32- :xref-AccessControl-_grantRole-bytes32-address-: xref:access.adoc#AccessControl-_grantRole-bytes32-address- :xref-AccessControl-_revokeRole-bytes32-address-: xref:access.adoc#AccessControl-_revokeRole-bytes32-address- +:xref-AccessControl-DEFAULT_ADMIN_ROLE-bytes32: xref:access.adoc#AccessControl-DEFAULT_ADMIN_ROLE-bytes32 :xref-TimelockController-CallScheduled-bytes32-uint256-address-uint256-bytes-bytes32-uint256-: xref:governance.adoc#TimelockController-CallScheduled-bytes32-uint256-address-uint256-bytes-bytes32-uint256- :xref-TimelockController-CallExecuted-bytes32-uint256-address-uint256-bytes-: xref:governance.adoc#TimelockController-CallExecuted-bytes32-uint256-address-uint256-bytes- :xref-TimelockController-CallSalt-bytes32-bytes32-: xref:governance.adoc#TimelockController-CallSalt-bytes32-bytes32- @@ -1697,6 +1719,8 @@ This contract is abstract and requires several functions to be implemented in va * {xref-Governor-votingDelay--}[`++votingDelay()++`] * {xref-Governor-votingPeriod--}[`++votingPeriod()++`] * {xref-Governor-quorum-uint256-}[`++quorum(timepoint)++`] +* {xref-Governor-BALLOT_TYPEHASH-bytes32}[`++BALLOT_TYPEHASH()++`] +* {xref-Governor-EXTENDED_BALLOT_TYPEHASH-bytes32}[`++EXTENDED_BALLOT_TYPEHASH()++`] [.contract-subindex-inherited] .IERC1155Receiver @@ -2201,6 +2225,14 @@ Minimum number of cast voted required for a proposal to be successful. NOTE: The `timepoint` parameter corresponds to the snapshot used for counting vote. This allows to scale the quorum depending on values such as the totalSupply of a token at this timepoint (see {ERC20Votes}). +[.contract-item] +[[Governor-BALLOT_TYPEHASH-bytes32]] +==== `[.contract-item-name]#++BALLOT_TYPEHASH++#++() → bytes32++` [.item-kind]#public# + +[.contract-item] +[[Governor-EXTENDED_BALLOT_TYPEHASH-bytes32]] +==== `[.contract-item-name]#++EXTENDED_BALLOT_TYPEHASH++#++() → bytes32++` [.item-kind]#public# + === Modules :VoteType: pass:normal[xref:#GovernorCountingSimple-VoteType[`++VoteType++`]] @@ -2279,6 +2311,8 @@ Extension of {Governor} for simple, 3 options, vote counting. * {xref-Governor-votingDelay--}[`++votingDelay()++`] * {xref-Governor-votingPeriod--}[`++votingPeriod()++`] * {xref-Governor-quorum-uint256-}[`++quorum(timepoint)++`] +* {xref-Governor-BALLOT_TYPEHASH-bytes32}[`++BALLOT_TYPEHASH()++`] +* {xref-Governor-EXTENDED_BALLOT_TYPEHASH-bytes32}[`++EXTENDED_BALLOT_TYPEHASH()++`] [.contract-subindex-inherited] .IERC1155Receiver @@ -2521,6 +2555,8 @@ token. * {xref-Governor-votingDelay--}[`++votingDelay()++`] * {xref-Governor-votingPeriod--}[`++votingPeriod()++`] * {xref-Governor-quorum-uint256-}[`++quorum(timepoint)++`] +* {xref-Governor-BALLOT_TYPEHASH-bytes32}[`++BALLOT_TYPEHASH()++`] +* {xref-Governor-EXTENDED_BALLOT_TYPEHASH-bytes32}[`++EXTENDED_BALLOT_TYPEHASH()++`] [.contract-subindex-inherited] .IERC1155Receiver @@ -2768,6 +2804,8 @@ fraction of the total supply. * {xref-Governor-_isValidDescriptionForProposer-address-string-}[`++_isValidDescriptionForProposer(proposer, description)++`] * {xref-Governor-votingDelay--}[`++votingDelay()++`] * {xref-Governor-votingPeriod--}[`++votingPeriod()++`] +* {xref-Governor-BALLOT_TYPEHASH-bytes32}[`++BALLOT_TYPEHASH()++`] +* {xref-Governor-EXTENDED_BALLOT_TYPEHASH-bytes32}[`++EXTENDED_BALLOT_TYPEHASH()++`] [.contract-subindex-inherited] .IERC1155Receiver @@ -3074,6 +3112,8 @@ the same time. See {AccessManager-schedule} for a workaround. * {xref-Governor-votingDelay--}[`++votingDelay()++`] * {xref-Governor-votingPeriod--}[`++votingPeriod()++`] * {xref-Governor-quorum-uint256-}[`++quorum(timepoint)++`] +* {xref-Governor-BALLOT_TYPEHASH-bytes32}[`++BALLOT_TYPEHASH()++`] +* {xref-Governor-EXTENDED_BALLOT_TYPEHASH-bytes32}[`++EXTENDED_BALLOT_TYPEHASH()++`] [.contract-subindex-inherited] .IERC1155Receiver @@ -3362,6 +3402,8 @@ inaccessible. * {xref-Governor-votingDelay--}[`++votingDelay()++`] * {xref-Governor-votingPeriod--}[`++votingPeriod()++`] * {xref-Governor-quorum-uint256-}[`++quorum(timepoint)++`] +* {xref-Governor-BALLOT_TYPEHASH-bytes32}[`++BALLOT_TYPEHASH()++`] +* {xref-Governor-EXTENDED_BALLOT_TYPEHASH-bytes32}[`++EXTENDED_BALLOT_TYPEHASH()++`] [.contract-subindex-inherited] .IERC1155Receiver @@ -3661,6 +3703,8 @@ Extension of {Governor} for settings updatable through governance. * {xref-Governor-clock--}[`++clock()++`] * {xref-Governor-CLOCK_MODE--}[`++CLOCK_MODE()++`] * {xref-Governor-quorum-uint256-}[`++quorum(timepoint)++`] +* {xref-Governor-BALLOT_TYPEHASH-bytes32}[`++BALLOT_TYPEHASH()++`] +* {xref-Governor-EXTENDED_BALLOT_TYPEHASH-bytes32}[`++EXTENDED_BALLOT_TYPEHASH()++`] [.contract-subindex-inherited] .IERC1155Receiver @@ -3966,6 +4010,8 @@ proposal. * {xref-Governor-votingDelay--}[`++votingDelay()++`] * {xref-Governor-votingPeriod--}[`++votingPeriod()++`] * {xref-Governor-quorum-uint256-}[`++quorum(timepoint)++`] +* {xref-Governor-BALLOT_TYPEHASH-bytes32}[`++BALLOT_TYPEHASH()++`] +* {xref-Governor-EXTENDED_BALLOT_TYPEHASH-bytes32}[`++EXTENDED_BALLOT_TYPEHASH()++`] [.contract-subindex-inherited] .IERC1155Receiver @@ -4249,6 +4295,8 @@ Use cases for this module include: * {xref-Governor-votingDelay--}[`++votingDelay()++`] * {xref-Governor-votingPeriod--}[`++votingPeriod()++`] * {xref-Governor-quorum-uint256-}[`++quorum(timepoint)++`] +* {xref-Governor-BALLOT_TYPEHASH-bytes32}[`++BALLOT_TYPEHASH()++`] +* {xref-Governor-EXTENDED_BALLOT_TYPEHASH-bytes32}[`++EXTENDED_BALLOT_TYPEHASH()++`] [.contract-subindex-inherited] .IERC1155Receiver @@ -4777,6 +4825,9 @@ a multisig or a DAO as the sole proposer. * {xref-TimelockController-_execute-address-uint256-bytes-}[`++_execute(target, value, data)++`] * {xref-TimelockController-updateDelay-uint256-}[`++updateDelay(newDelay)++`] * {xref-TimelockController-_encodeStateBitmap-enum-TimelockController-OperationState-}[`++_encodeStateBitmap(operationState)++`] +* {xref-TimelockController-PROPOSER_ROLE-bytes32}[`++PROPOSER_ROLE()++`] +* {xref-TimelockController-EXECUTOR_ROLE-bytes32}[`++EXECUTOR_ROLE()++`] +* {xref-TimelockController-CANCELLER_ROLE-bytes32}[`++CANCELLER_ROLE()++`] [.contract-subindex-inherited] .ERC1155Holder @@ -4805,6 +4856,7 @@ a multisig or a DAO as the sole proposer. * {xref-AccessControl-_setRoleAdmin-bytes32-bytes32-}[`++_setRoleAdmin(role, adminRole)++`] * {xref-AccessControl-_grantRole-bytes32-address-}[`++_grantRole(role, account)++`] * {xref-AccessControl-_revokeRole-bytes32-address-}[`++_revokeRole(role, account)++`] +* {xref-AccessControl-DEFAULT_ADMIN_ROLE-bytes32}[`++DEFAULT_ADMIN_ROLE()++`] [.contract-subindex-inherited] .ERC165 @@ -5080,6 +5132,18 @@ the underlying position in the `OperationState` enum. For example: ^-- Waiting ^- Unset +[.contract-item] +[[TimelockController-PROPOSER_ROLE-bytes32]] +==== `[.contract-item-name]#++PROPOSER_ROLE++#++() → bytes32++` [.item-kind]#public# + +[.contract-item] +[[TimelockController-EXECUTOR_ROLE-bytes32]] +==== `[.contract-item-name]#++EXECUTOR_ROLE++#++() → bytes32++` [.item-kind]#public# + +[.contract-item] +[[TimelockController-CANCELLER_ROLE-bytes32]] +==== `[.contract-item-name]#++CANCELLER_ROLE++#++() → bytes32++` [.item-kind]#public# + [.contract-item] [[TimelockController-CallScheduled-bytes32-uint256-address-uint256-bytes-bytes32-uint256-]] ==== `[.contract-item-name]#++CallScheduled++#++(bytes32 indexed id, uint256 indexed index, address target, uint256 value, bytes data, bytes32 predecessor, uint256 delay)++` [.item-kind]#event# diff --git a/docs/modules/api/pages/proxy.adoc b/docs/modules/api/pages/proxy.adoc index 41d150fa8..77a5e771c 100644 --- a/docs/modules/api/pages/proxy.adoc +++ b/docs/modules/api/pages/proxy.adoc @@ -59,6 +59,7 @@ :TransparentUpgradeableProxy: pass:normal[xref:proxy.adoc#TransparentUpgradeableProxy[`TransparentUpgradeableProxy`]] :xref-ProxyAdmin-constructor-address-: xref:proxy.adoc#ProxyAdmin-constructor-address- :xref-ProxyAdmin-upgradeAndCall-contract-ITransparentUpgradeableProxy-address-bytes-: xref:proxy.adoc#ProxyAdmin-upgradeAndCall-contract-ITransparentUpgradeableProxy-address-bytes- +:xref-ProxyAdmin-UPGRADE_INTERFACE_VERSION-string: xref:proxy.adoc#ProxyAdmin-UPGRADE_INTERFACE_VERSION-string :xref-Ownable-owner--: xref:access.adoc#Ownable-owner-- :xref-Ownable-_checkOwner--: xref:access.adoc#Ownable-_checkOwner-- :xref-Ownable-renounceOwnership--: xref:access.adoc#Ownable-renounceOwnership-- @@ -119,6 +120,7 @@ :xref-UUPSUpgradeable-_checkProxy--: xref:proxy.adoc#UUPSUpgradeable-_checkProxy-- :xref-UUPSUpgradeable-_checkNotDelegated--: xref:proxy.adoc#UUPSUpgradeable-_checkNotDelegated-- :xref-UUPSUpgradeable-_authorizeUpgrade-address-: xref:proxy.adoc#UUPSUpgradeable-_authorizeUpgrade-address- +:xref-UUPSUpgradeable-UPGRADE_INTERFACE_VERSION-string: xref:proxy.adoc#UUPSUpgradeable-UPGRADE_INTERFACE_VERSION-string :xref-UUPSUpgradeable-UUPSUnauthorizedCallContext--: xref:proxy.adoc#UUPSUpgradeable-UUPSUnauthorizedCallContext-- :xref-UUPSUpgradeable-UUPSUnsupportedProxiableUUID-bytes32-: xref:proxy.adoc#UUPSUpgradeable-UUPSUnsupportedProxiableUUID-bytes32- :Ownable-onlyOwner: pass:normal[xref:access.adoc#Ownable-onlyOwner--[`Ownable.onlyOwner`]] @@ -583,6 +585,7 @@ explanation of why you would want to use this see the documentation for {Transpa -- * {xref-ProxyAdmin-constructor-address-}[`++constructor(initialOwner)++`] * {xref-ProxyAdmin-upgradeAndCall-contract-ITransparentUpgradeableProxy-address-bytes-}[`++upgradeAndCall(proxy, implementation, data)++`] +* {xref-ProxyAdmin-UPGRADE_INTERFACE_VERSION-string}[`++UPGRADE_INTERFACE_VERSION()++`] [.contract-subindex-inherited] .Ownable @@ -633,6 +636,17 @@ Requirements: - This contract must be the admin of `proxy`. - If `data` is empty, `msg.value` must be zero. +[.contract-item] +[[ProxyAdmin-UPGRADE_INTERFACE_VERSION-string]] +==== `[.contract-item-name]#++UPGRADE_INTERFACE_VERSION++#++() → string++` [.item-kind]#public# + +The version of the upgrade interface of the contract. If this getter is missing, both `upgrade(address)` +and `upgradeAndCall(address,bytes)` are present, and `upgradeTo` must be used if no function should be called, +while `upgradeAndCall` will invoke the `receive` function if the second argument is the empty byte string. +If the getter returns `"5.0.0"`, only `upgradeAndCall(address,bytes)` is present, and the second argument must +be the empty byte string if no function should be called, making it impossible to invoke the `receive` function +during an upgrade. + == Beacon :constructor: pass:normal[xref:#BeaconProxy-constructor-address-bytes-[`++constructor++`]] @@ -1153,6 +1167,7 @@ The {_authorizeUpgrade} function must be overridden to include access restrictio * {xref-UUPSUpgradeable-_checkProxy--}[`++_checkProxy()++`] * {xref-UUPSUpgradeable-_checkNotDelegated--}[`++_checkNotDelegated()++`] * {xref-UUPSUpgradeable-_authorizeUpgrade-address-}[`++_authorizeUpgrade(newImplementation)++`] +* {xref-UUPSUpgradeable-UPGRADE_INTERFACE_VERSION-string}[`++UPGRADE_INTERFACE_VERSION()++`] [.contract-subindex-inherited] .IERC1822Proxiable @@ -1237,6 +1252,17 @@ Normally, this function will use an xref:access.adoc[access control] modifier su function _authorizeUpgrade(address) internal onlyOwner {} ``` +[.contract-item] +[[UUPSUpgradeable-UPGRADE_INTERFACE_VERSION-string]] +==== `[.contract-item-name]#++UPGRADE_INTERFACE_VERSION++#++() → string++` [.item-kind]#public# + +The version of the upgrade interface of the contract. If this getter is missing, both `upgradeTo(address)` +and `upgradeToAndCall(address,bytes)` are present, and `upgradeTo` must be used if no function should be called, +while `upgradeToAndCall` will invoke the `receive` function if the second argument is the empty byte string. +If the getter returns `"5.0.0"`, only `upgradeToAndCall(address,bytes)` is present, and the second argument must +be the empty byte string if no function should be called, making it impossible to invoke the `receive` function +during an upgrade. + [.contract-item] [[UUPSUpgradeable-UUPSUnauthorizedCallContext--]] ==== `[.contract-item-name]#++UUPSUnauthorizedCallContext++#++()++` [.item-kind]#error# diff --git a/docs/templates/contract.hbs b/docs/templates/contract.hbs index a4716825a..e4c8e9206 100644 --- a/docs/templates/contract.hbs +++ b/docs/templates/contract.hbs @@ -86,7 +86,7 @@ import "@openzeppelin/{{__item_context.file.absolutePath}}"; {{#each functions}} [.contract-item] [[{{anchor}}]] -==== `[.contract-item-name]#++{{name}}++#++({{typed-params params}}){{#if returns}} → {{typed-params returns}}{{/if}}++` [.item-kind]#{{visibility}}# +==== `[.contract-item-name]#++{{name}}++#++({{typed-params params}}){{#if returns2}} → {{typed-params returns2}}{{/if}}++` [.item-kind]#{{visibility}}# {{{natspec.dev}}} diff --git a/docs/templates/helpers.js b/docs/templates/helpers.js index 65f168eba..1b6383549 100644 --- a/docs/templates/helpers.js +++ b/docs/templates/helpers.js @@ -6,7 +6,7 @@ module.exports['readme-path'] = opts => { return 'contracts/' + opts.data.root.id.replace(/\.adoc$/, '') + '/README.adoc'; }; -module.exports.names = params => params.map(p => p.name).join(', '); +module.exports.names = params => params?.map(p => p.name).join(', '); module.exports['typed-params'] = params => { return params?.map(p => `${p.type}${p.indexed ? ' indexed' : ''}${p.name ? ' ' + p.name : ''}`).join(', '); diff --git a/docs/templates/properties.js b/docs/templates/properties.js index 584c0abca..7e0410567 100644 --- a/docs/templates/properties.js +++ b/docs/templates/properties.js @@ -1,4 +1,4 @@ -const { isNodeType } = require('solidity-ast/utils'); +const { isNodeType, findAll } = require('solidity-ast/utils'); const { slug } = require('./helpers'); module.exports.anchor = function anchor({ item, contract }) { @@ -39,6 +39,21 @@ module.exports['has-errors'] = function ({ item }) { return item.inheritance.some(c => c.errors.length > 0); }; +module.exports.functions = function ({ item }) { + return [ + ...[...findAll('FunctionDefinition', item)].filter(f => f.visibility !== 'private'), + ...[...findAll('VariableDeclaration', item)].filter(f => f.visibility === 'public'), + ]; +}; + +module.exports.returns2 = function ({ item }) { + if (isNodeType('VariableDeclaration', item)) { + return [{ type: item.typeDescriptions.typeString }]; + } else { + return item.returns; + } +}; + module.exports['inherited-functions'] = function ({ item }) { const { inheritance } = item; const baseFunctions = new Set(inheritance.flatMap(c => c.functions.flatMap(f => f.baseFunctions ?? []))); diff --git a/package-lock.json b/package-lock.json index 30d6561d9..0f4f9f55e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "@nomicfoundation/hardhat-network-helpers": "^1.0.3", "@nomiclabs/hardhat-truffle5": "^2.0.5", "@nomiclabs/hardhat-web3": "^2.0.0", - "@openzeppelin/docs-utils": "^0.1.4", + "@openzeppelin/docs-utils": "^0.1.5", "@openzeppelin/test-helpers": "^0.5.13", "@openzeppelin/upgrade-safe-transpiler": "^0.3.32", "@openzeppelin/upgrades-core": "^1.20.6", @@ -2299,9 +2299,9 @@ } }, "node_modules/@openzeppelin/docs-utils": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@openzeppelin/docs-utils/-/docs-utils-0.1.4.tgz", - "integrity": "sha512-2I56U1GhnNlymz0gGmJbyZKhnErGIaJ+rqtKTGyNf7YX3jgeS9/Twv8H0T+OgLV4dimtCHPz/27w6CYhWQ/TGg==", + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@openzeppelin/docs-utils/-/docs-utils-0.1.5.tgz", + "integrity": "sha512-GfqXArKmdq8rv+hsP+g8uS1VEkvMIzWs31dCONffzmqFwJ+MOsaNQNZNXQnLRgUkzk8i5mTNDjJuxDy+aBZImQ==", "dev": true, "dependencies": { "@frangio/servbot": "^0.2.5", diff --git a/package.json b/package.json index 57a2bd912..adb58579f 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "@nomicfoundation/hardhat-network-helpers": "^1.0.3", "@nomiclabs/hardhat-truffle5": "^2.0.5", "@nomiclabs/hardhat-web3": "^2.0.0", - "@openzeppelin/docs-utils": "^0.1.4", + "@openzeppelin/docs-utils": "^0.1.5", "@openzeppelin/test-helpers": "^0.5.13", "@openzeppelin/upgrade-safe-transpiler": "^0.3.32", "@openzeppelin/upgrades-core": "^1.20.6",