Improve natspec documentation and comments (#4581)
Co-authored-by: Francisco Giordano <fg@frang.io>
This commit is contained in:
@ -33,8 +33,11 @@ library ECDSA {
|
||||
error ECDSAInvalidSignatureS(bytes32 s);
|
||||
|
||||
/**
|
||||
* @dev Returns the address that signed a hashed message (`hash`) with
|
||||
* `signature` or error string. This address can then be used for verification purposes.
|
||||
* @dev Returns the address that signed a hashed message (`hash`) with `signature` or an error. This will not
|
||||
* return address(0) without also returning an error description. Errors are documented using an enum (error type)
|
||||
* and a bytes32 providing additional information about the error.
|
||||
*
|
||||
* If no error is returned, then the address can be used for verification purposes.
|
||||
*
|
||||
* The `ecrecover` EVM precompile allows for malleable (non-unique) signatures:
|
||||
* this function rejects them by requiring the `s` value to be in the lower
|
||||
|
||||
@ -20,7 +20,7 @@ library MessageHashUtils {
|
||||
* `"\x19Ethereum Signed Message:\n32"` and hashing the result. It corresponds with the
|
||||
* hash signed when using the https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`] JSON-RPC method.
|
||||
*
|
||||
* NOTE: The `hash` parameter is intended to be the result of hashing a raw message with
|
||||
* NOTE: The `messageHash` parameter is intended to be the result of hashing a raw message with
|
||||
* keccak256, although any bytes32 value can be safely used because the final digest will
|
||||
* be re-hashed.
|
||||
*
|
||||
|
||||
@ -48,14 +48,10 @@ import {EnumerableSet} from "./EnumerableSet.sol";
|
||||
library EnumerableMap {
|
||||
using EnumerableSet for EnumerableSet.Bytes32Set;
|
||||
|
||||
// To implement this library for multiple types with as little code
|
||||
// repetition as possible, we write it in terms of a generic Map type with
|
||||
// bytes32 keys and values.
|
||||
// The Map implementation uses private functions, and user-facing
|
||||
// implementations (such as Uint256ToAddressMap) are just wrappers around
|
||||
// the underlying Map.
|
||||
// This means that we can only create new EnumerableMaps for types that fit
|
||||
// in bytes32.
|
||||
// To implement this library for multiple types with as little code repetition as possible, we write it in
|
||||
// terms of a generic Map type with bytes32 keys and values. The Map implementation uses private functions,
|
||||
// and user-facing implementations such as `UintToAddressMap` are just wrappers around the underlying Map.
|
||||
// This means that we can only create new EnumerableMaps for types that fit in bytes32.
|
||||
|
||||
/**
|
||||
* @dev Query for a nonexistent map key.
|
||||
|
||||
Reference in New Issue
Block a user