You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: contracts/utils/README.adoc
+8-2
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,7 @@ Miscellaneous contracts and libraries containing utility functions you can use t
9
9
* {SafeCast}: Checked downcasting functions to avoid silent truncation.
10
10
* {ECDSA}, {MessageHashUtils}: Libraries for interacting with ECDSA signatures.
11
11
* {SignatureChecker}: A library helper to support regular ECDSA from EOAs as well as ERC-1271 signatures for smart contracts.
12
+
* {Hashes}: Commonly used hash functions.
12
13
* {MerkleProof}: Functions for verifying https://en.wikipedia.org/wiki/Merkle_tree[Merkle Tree] proofs.
13
14
* {EIP712}: Contract with functions to allow processing signed typed structure data according to https://eips.ethereum.org/EIPS/eip-712[EIP-712].
14
15
* {ReentrancyGuard}: A modifier that can prevent reentrancy during certain functions.
@@ -20,6 +21,7 @@ Miscellaneous contracts and libraries containing utility functions you can use t
20
21
* {EnumerableSet}: Like {EnumerableMap}, but for https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets]. Can be used to store privileged accounts, issued IDs, etc.
21
22
* {DoubleEndedQueue}: An implementation of a https://en.wikipedia.org/wiki/Double-ended_queue[double ended queue] whose values can be removed added or remove from both sides. Useful for FIFO and LIFO structures.
22
23
* {Checkpoints}: A data structure to store values mapped to an strictly increasing key. Can be used for storing and accessing values over time.
24
+
* {MerkleTree}: A library with https://wikipedia.org/wiki/Merkle_Tree[Merkle Tree] data structures and helper functions.
23
25
* {Create2}: Wrapper around the https://blog.openzeppelin.com/getting-the-most-out-of-create2/[`CREATE2` EVM opcode] for safe use without having to deal with low-level assembly.
24
26
* {Address}: Collection of functions for overloading Solidity's https://docs.soliditylang.org/en/latest/types.html#address[`address`] type.
25
27
* {Arrays}: Collection of functions that operate on https://docs.soliditylang.org/en/latest/types.html#arrays[`arrays`].
@@ -48,13 +50,15 @@ Because Solidity does not support generic types, {EnumerableMap} and {Enumerable
48
50
49
51
{{ECDSA}}
50
52
53
+
{{EIP712}}
54
+
51
55
{{MessageHashUtils}}
52
56
53
57
{{SignatureChecker}}
54
58
55
-
{{MerkleProof}}
59
+
{{Hashes}}
56
60
57
-
{{EIP712}}
61
+
{{MerkleProof}}
58
62
59
63
== Security
60
64
@@ -88,6 +92,8 @@ Ethereum contracts have no native concept of an interface, so applications must
0 commit comments