EnumerableSet EnumerableMap libraries for bytes32

Hi @cyril-attie,

Internal library functions are included at compile time in the calling contract. Which means that for libraries only containing internal functions the library doesn't get deployed separately. See the Solidity documentation for details:

https://solidity.readthedocs.io/en/v0.6.8/contracts.html#libraries

Libraries are similar to contracts, but their purpose is that they are deployed only once at a specific address and their code is reused using the DELEGATECALL ( CALLCODE until Homestead) feature of the EVM.

To realize this in the EVM, code of internal library functions and all functions called from therein will at compile time be included in the calling contract, and a regular JUMP call will be used instead of a DELEGATECALL .

As for creating EnumberableSet + EnumberableMap libraries for bytes32, please see the following post in the forum: