package peergos.shared.mutable; import peergos.shared.crypto.asymmetric.*; import peergos.shared.merklebtree.*; import java.util.concurrent.*; public interface MutablePointers { /** Update the hash that a public key maps to (doing a cas with the existing value) * * @param owner * @param writer * @param writerSignedBtreeRootHash the signed serialization of the HashCasPair * @return */ CompletableFuture<Boolean> setPointer(PublicSigningKey owner, PublicSigningKey writer, byte[] writerSignedBtreeRootHash); /** Get the current hash a public key maps to * * @param encodedSharingKey * @return */ CompletableFuture<MaybeMultihash> getPointer(PublicSigningKey encodedSharingKey); }