The main change here is removing the internal PartyIdx completely and just parametrizing everything with the identity type. Consequently:
HoleVecs are not needed anymore
MappableResult crutch is not needed
Public API that previously took vectors/slices of Ids now takes BTreeSets
The identity type needs to be hashable, and the most convenient thing seems to be to require it to be Serializable and use that to hash it. Which leads to removing all specialized Hashable impls and just using Serialize to hash (with the help of hashing-serializer)
The main change here is removing the internal
PartyIdx
completely and just parametrizing everything with the identity type. Consequently:HoleVec
s are not needed anymoreMappableResult
crutch is not neededBTreeSet
sSerializable
and use that to hash it. Which leads to removing all specializedHashable
impls and just usingSerialize
to hash (with the help ofhashing-serializer
)