OSTree: Use dictionary types where appropriate.

Change-Id: I58be4cbcdd663350d7524ec5ce97f1d3be10d7e1
diff --git a/jgvariant-ostree/src/main/java/eu/mulk/jgvariant/ostree/SignedDelta.java b/jgvariant-ostree/src/main/java/eu/mulk/jgvariant/ostree/SignedDelta.java
index 2fc5c25..303e344 100644
--- a/jgvariant-ostree/src/main/java/eu/mulk/jgvariant/ostree/SignedDelta.java
+++ b/jgvariant-ostree/src/main/java/eu/mulk/jgvariant/ostree/SignedDelta.java
@@ -4,7 +4,7 @@
 import eu.mulk.jgvariant.core.Variant;
 import java.nio.ByteOrder;
 import java.nio.charset.StandardCharsets;
-import java.util.List;
+import java.util.Map;
 
 /**
  * A {@link DeltaSuperblock} signed with some sort of key.
@@ -12,25 +12,14 @@
  * <p>Reference: {@code ostree-repo-static-delta-private.h#OSTREE_STATIC_DELTA_SIGNED_FORMAT}
  */
 public record SignedDelta(
-    long magicNumber, ByteString superblock, List<SignedDelta.Signature> signatures) {
-
-  /** A cryptographic signature. */
-  public record Signature(String key, Variant data) {
-    private static final Decoder<Signature> DECODER =
-        Decoder.ofStructure(
-            Signature.class, Decoder.ofString(StandardCharsets.US_ASCII), Decoder.ofVariant());
-
-    public static Decoder<Signature> decoder() {
-      return DECODER;
-    }
-  }
+    long magicNumber, ByteString superblock, Map<String, Variant> signatures) {
 
   private static final Decoder<SignedDelta> DECODER =
       Decoder.ofStructure(
           SignedDelta.class,
           Decoder.ofLong().withByteOrder(ByteOrder.BIG_ENDIAN),
           ByteString.decoder(),
-          Decoder.ofArray(Signature.decoder()));
+          Decoder.ofDictionary(Decoder.ofString(StandardCharsets.US_ASCII), Decoder.ofVariant()));
 
   public static Decoder<SignedDelta> decoder() {
     return DECODER;