diff --git a/README.md b/README.md index 2f92281b3bf..2cb5e35ce70 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ To keep your system secure, you should **always** use the installed code as-is, The guides in the [documentation site](https://docs.openzeppelin.com/contracts) will teach about different concepts, and how to use the related contracts that OpenZeppelin Contracts provides: * [Access Control](https://docs.openzeppelin.com/contracts/access-control): decide who can perform each of the actions on your system. -* [Tokens](https://docs.openzeppelin.com/contracts/tokens): create tradeable assets or collectives, and distribute them via [Crowdsales](https://docs.openzeppelin.com/contracts/crowdsales). +* [Tokens](https://docs.openzeppelin.com/contracts/tokens): create tradeable assets or collectives. * [Utilities](https://docs.openzeppelin.com/contracts/utilities): generic useful tools including non-overflowing math, signature verification, and trustless paying systems. The [full API](https://docs.openzeppelin.com/contracts/api/token/ERC20) is also thoroughly documented, and serves as a great reference when developing your smart contract application. You can also ask for help or follow Contracts' development in the [community forum](https://forum.openzeppelin.com). diff --git a/contracts/utils/SlotDerivation.sol b/contracts/utils/SlotDerivation.sol index df23efa284a..74dfbbded44 100644 --- a/contracts/utils/SlotDerivation.sol +++ b/contracts/utils/SlotDerivation.sol @@ -16,7 +16,7 @@ pragma solidity ^0.8.20; * contract Example { * // Add the library methods * using StorageSlot for bytes32; - * using SlotDerivation for bytes32; + * using SlotDerivation for *; * * // Declare a namespace * string private constant _NAMESPACE = ""; // eg. OpenZeppelin.Slot diff --git a/contracts/utils/Strings.sol b/contracts/utils/Strings.sol index c67bff5a1b1..678315bcf7f 100644 --- a/contracts/utils/Strings.sol +++ b/contracts/utils/Strings.sol @@ -465,7 +465,7 @@ library Strings { bytes memory output = new bytes(2 * buffer.length); // worst case scenario uint256 outputLength = 0; - for (uint256 i; i < buffer.length; ++i) { + for (uint256 i = 0; i < buffer.length; ++i) { bytes1 char = bytes1(_unsafeReadBytesOffset(buffer, i)); if (((SPECIAL_CHARS_LOOKUP & (1 << uint8(char))) != 0)) { output[outputLength++] = "\\"; diff --git a/contracts/utils/cryptography/ECDSA.sol b/contracts/utils/cryptography/ECDSA.sol index 334c44bd721..c893dffb111 100644 --- a/contracts/utils/cryptography/ECDSA.sol +++ b/contracts/utils/cryptography/ECDSA.sol @@ -50,6 +50,7 @@ library ECDSA { * be too long), and then calling {MessageHashUtils-toEthSignedMessageHash} on it. * * Documentation for signature generation: + * * - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js] * - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers] */ diff --git a/contracts/utils/cryptography/README.adoc b/contracts/utils/cryptography/README.adoc index 37a982448ec..c87446de76e 100644 --- a/contracts/utils/cryptography/README.adoc +++ b/contracts/utils/cryptography/README.adoc @@ -1,7 +1,7 @@ = Cryptography [.readme-notice] -NOTE: This document is better viewed at https://docs.openzeppelin.com/contracts/api/utils/cryptography +NOTE: This document is better viewed at https://docs.openzeppelin.com/contracts/api/utils#cryptography A collection of contracts and libraries that implement various signature validation schemes and cryptographic primitives. These utilities enable secure authentication, multisignature operations, and advanced cryptographic operations in smart contracts. diff --git a/contracts/utils/cryptography/draft-ERC7739Utils.sol b/contracts/utils/cryptography/draft-ERC7739Utils.sol index ec79fdd224c..e4df5d60206 100644 --- a/contracts/utils/cryptography/draft-ERC7739Utils.sol +++ b/contracts/utils/cryptography/draft-ERC7739Utils.sol @@ -57,7 +57,7 @@ library ERC7739Utils { * - `APP_DOMAIN_SEPARATOR` is the EIP-712 {EIP712-_domainSeparatorV4} of the application smart contract that is * requesting the signature verification (though ERC-1271). * - `contentsHash` is the hash of the underlying data structure or message. - * - `contentsDescr` is a descriptor of the "contents" part of the the EIP-712 type of the nested signature. + * - `contentsDescr` is a descriptor of the "contents" part of the EIP-712 type of the nested signature. * * NOTE: This function returns empty if the input format is invalid instead of reverting. * data instead. diff --git a/scripts/generate/templates/SlotDerivation.js b/scripts/generate/templates/SlotDerivation.js index a00e98167f6..931c9fc25e8 100644 --- a/scripts/generate/templates/SlotDerivation.js +++ b/scripts/generate/templates/SlotDerivation.js @@ -17,7 +17,7 @@ pragma solidity ^0.8.20; * contract Example { * // Add the library methods * using StorageSlot for bytes32; - * using SlotDerivation for bytes32; + * using SlotDerivation for *; * * // Declare a namespace * string private constant _NAMESPACE = ""; // eg. OpenZeppelin.Slot