Regenerate M3 test metadata

This regenerates metadata produced by
17c614ed7d68df0ea82e6c3e687a8933c4f7de85.

Change-Id: I915c55d5da314283b597df0c2d24a9078c531b0c
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/keys/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/keys/root.json
index f834374..20f7ab8 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/keys/root.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/keys/root.json
@@ -5,11 +5,11 @@
 			"keytype": "ed25519",
 			"scheme": "ed25519",
 			"keyid_hash_algorithms": [
-				"sha512"
+				"sha256"
 			],
 			"keyval": {
-				"public": "424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d",
-				"private": "c0f453fb5e3e9de707aec81da45dd0c0d8d34f426f0bffab1a492b252101493b424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"
+				"public": "bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca",
+				"private": "68c2a06583ce83dabb1fc5d2b3697015b936f341f21be1be1397670a650ebd53bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca"
 			}
 		}
 	]
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/keys/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/keys/snapshot.json
index d97cf15..215f430 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/keys/snapshot.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/keys/snapshot.json
@@ -5,11 +5,11 @@
 			"keytype": "ed25519",
 			"scheme": "ed25519",
 			"keyid_hash_algorithms": [
-				"sha512"
+				"sha256"
 			],
 			"keyval": {
-				"public": "88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33",
-				"private": "7ebf26fc9e7613ed4d2d6abd52e8186e3435955b66d61d01280047c2416055fb88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"
+				"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94",
+				"private": "28de1763cc4cc78702167bd6cf862fc3977afc2404c5eebbdfb948bab55f14f0d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
 			}
 		}
 	]
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/keys/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/keys/targets.json
index dca8d29..f288768 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/keys/targets.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/keys/targets.json
@@ -5,11 +5,11 @@
 			"keytype": "ed25519",
 			"scheme": "ed25519",
 			"keyid_hash_algorithms": [
-				"sha512"
+				"sha256"
 			],
 			"keyval": {
-				"public": "018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3",
-				"private": "034a45c47442a1eda5e96312720beb45dd19a47c9fc2481e0c694c568743640d018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"
+				"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a",
+				"private": "dee6d1fa7f041bee48a4e783d416e12c72ecdbd164202a71b23149adbb1c3d1f62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
 			}
 		}
 	]
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/keys/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/keys/timestamp.json
index 9f38cad..873c002 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/keys/timestamp.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/keys/timestamp.json
@@ -5,11 +5,11 @@
 			"keytype": "ed25519",
 			"scheme": "ed25519",
 			"keyid_hash_algorithms": [
-				"sha512"
+				"sha256"
 			],
 			"keyval": {
-				"public": "596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9",
-				"private": "ff7607566ae178dafbb9e285c96f29c1d0569fe0160dd022208261e4a81722e1596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"
+				"public": "8656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160",
+				"private": "2ef838a6f0aa4bc0a746b8086098683f96bb5118c4dca7d3caa3dee5c86ea8398656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160"
 			}
 		}
 	]
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json
deleted file mode 100644
index 214e321..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"5ec8d1ac302695f86d975e8aa3b5533df457d0c66f544658056c536de26718bf":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"},"scheme":"ed25519"},"664e88d7e9733a882a5f49c311b38c0588545bc21bf578ac3b1aad661c9e4192":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["664e88d7e9733a882a5f49c311b38c0588545bc21bf578ac3b1aad661c9e4192","5ec8d1ac302695f86d975e8aa3b5533df457d0c66f544658056c536de26718bf"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"2e62498ed4d88a1fa086a630f8b97e7f1c93f44d6a5f1793f7aa784663eccc9b2e3cbb5bdb3ece2f5d85287a14bc28be6e905cd5e196c2f1ccacc4fff0225b05"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"2e62498ed4d88a1fa086a630f8b97e7f1c93f44d6a5f1793f7aa784663eccc9b2e3cbb5bdb3ece2f5d85287a14bc28be6e905cd5e196c2f1ccacc4fff0225b05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/1.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/1.root.json
index 214e321..7e05abd 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/1.root.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/1.root.json
@@ -1 +1,133 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"5ec8d1ac302695f86d975e8aa3b5533df457d0c66f544658056c536de26718bf":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"},"scheme":"ed25519"},"664e88d7e9733a882a5f49c311b38c0588545bc21bf578ac3b1aad661c9e4192":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["664e88d7e9733a882a5f49c311b38c0588545bc21bf578ac3b1aad661c9e4192","5ec8d1ac302695f86d975e8aa3b5533df457d0c66f544658056c536de26718bf"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"2e62498ed4d88a1fa086a630f8b97e7f1c93f44d6a5f1793f7aa784663eccc9b2e3cbb5bdb3ece2f5d85287a14bc28be6e905cd5e196c2f1ccacc4fff0225b05"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"2e62498ed4d88a1fa086a630f8b97e7f1c93f44d6a5f1793f7aa784663eccc9b2e3cbb5bdb3ece2f5d85287a14bc28be6e905cd5e196c2f1ccacc4fff0225b05"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "root",
+		"consistent_snapshot": false,
+		"expires": "2100-01-01T00:00:00Z",
+		"keys": {
+			"160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca"
+				},
+				"scheme": "ed25519"
+			},
+			"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"b59406a55fbe2492022f2951dacd01fc7b400b7b41ec4028b8356161a5a71a33": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "8656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160"
+				},
+				"scheme": "ed25519"
+			},
+			"c7a2ca868b0e65b50cc6a2dfcfd9c129bdcb3da390ac78bb83a732be02ed5a5d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "8656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160"
+				},
+				"scheme": "ed25519"
+			},
+			"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca"
+				},
+				"scheme": "ed25519"
+			}
+		},
+		"roles": {
+			"root": {
+				"keyids": [
+					"160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7",
+					"f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953"
+				],
+				"threshold": 1
+			},
+			"snapshot": {
+				"keyids": [
+					"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+					"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d"
+				],
+				"threshold": 1
+			},
+			"targets": {
+				"keyids": [
+					"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+					"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556"
+				],
+				"threshold": 1
+			},
+			"timestamp": {
+				"keyids": [
+					"b59406a55fbe2492022f2951dacd01fc7b400b7b41ec4028b8356161a5a71a33",
+					"c7a2ca868b0e65b50cc6a2dfcfd9c129bdcb3da390ac78bb83a732be02ed5a5d"
+				],
+				"threshold": 1
+			}
+		},
+		"spec_version": "1.0",
+		"version": 1
+	},
+	"signatures": [
+		{
+			"keyid": "160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7",
+			"method": "ed25519",
+			"sig": "5ff5c02ecdfc36583f4fb1a8e660bee1643f82a1a7cb3291739200b9f9be6ee026958af3b342e6d8d4f242a05f8e8558e146b6f692ddd4a7d558b85e82ad9b05"
+		},
+		{
+			"keyid": "f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953",
+			"method": "ed25519",
+			"sig": "5ff5c02ecdfc36583f4fb1a8e660bee1643f82a1a7cb3291739200b9f9be6ee026958af3b342e6d8d4f242a05f8e8558e146b6f692ddd4a7d558b85e82ad9b05"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/1.snapshot.json
deleted file mode 100644
index ba42c25..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/1.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df"},"length":757,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"a265d68caa6fbaee5bbca20a1aaafbd889a27b12a5de8c30e89da88d2cd40b1d2cf04bfdf4d00efce59c498a353ba62923736c460f7b71697ec0db0198c1e10d"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"a265d68caa6fbaee5bbca20a1aaafbd889a27b12a5de8c30e89da88d2cd40b1d2cf04bfdf4d00efce59c498a353ba62923736c460f7b71697ec0db0198c1e10d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/1.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/1.targets.json
deleted file mode 100644
index 4e9da28..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/1.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"c2afa7b113ceae0a55c8986113ed3173693ace397a3c24e7d3d7d217956a2f40bb7a642ed9b79f75c2e27d5ae5a5e8a76c59ff884395cd4fa41a857acf514009"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"c2afa7b113ceae0a55c8986113ed3173693ace397a3c24e7d3d7d217956a2f40bb7a642ed9b79f75c2e27d5ae5a5e8a76c59ff884395cd4fa41a857acf514009"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df.targets.json
deleted file mode 100644
index 4e9da28..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"c2afa7b113ceae0a55c8986113ed3173693ace397a3c24e7d3d7d217956a2f40bb7a642ed9b79f75c2e27d5ae5a5e8a76c59ff884395cd4fa41a857acf514009"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"c2afa7b113ceae0a55c8986113ed3173693ace397a3c24e7d3d7d217956a2f40bb7a642ed9b79f75c2e27d5ae5a5e8a76c59ff884395cd4fa41a857acf514009"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/5870f50685abc42fa6fd4d215f177e5da7743fb1a5df85e3e7d8333f414aaf911ae97b9fbd61b33331e392affd57fb4c12f997d07530e928e5806f28853a461b.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/5870f50685abc42fa6fd4d215f177e5da7743fb1a5df85e3e7d8333f414aaf911ae97b9fbd61b33331e392affd57fb4c12f997d07530e928e5806f28853a461b.snapshot.json
deleted file mode 100644
index ba42c25..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/5870f50685abc42fa6fd4d215f177e5da7743fb1a5df85e3e7d8333f414aaf911ae97b9fbd61b33331e392affd57fb4c12f997d07530e928e5806f28853a461b.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df"},"length":757,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"a265d68caa6fbaee5bbca20a1aaafbd889a27b12a5de8c30e89da88d2cd40b1d2cf04bfdf4d00efce59c498a353ba62923736c460f7b71697ec0db0198c1e10d"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"a265d68caa6fbaee5bbca20a1aaafbd889a27b12a5de8c30e89da88d2cd40b1d2cf04bfdf4d00efce59c498a353ba62923736c460f7b71697ec0db0198c1e10d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/root.json
index 214e321..7e05abd 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/root.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/root.json
@@ -1 +1,133 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"5ec8d1ac302695f86d975e8aa3b5533df457d0c66f544658056c536de26718bf":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"},"scheme":"ed25519"},"664e88d7e9733a882a5f49c311b38c0588545bc21bf578ac3b1aad661c9e4192":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["664e88d7e9733a882a5f49c311b38c0588545bc21bf578ac3b1aad661c9e4192","5ec8d1ac302695f86d975e8aa3b5533df457d0c66f544658056c536de26718bf"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"2e62498ed4d88a1fa086a630f8b97e7f1c93f44d6a5f1793f7aa784663eccc9b2e3cbb5bdb3ece2f5d85287a14bc28be6e905cd5e196c2f1ccacc4fff0225b05"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"2e62498ed4d88a1fa086a630f8b97e7f1c93f44d6a5f1793f7aa784663eccc9b2e3cbb5bdb3ece2f5d85287a14bc28be6e905cd5e196c2f1ccacc4fff0225b05"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "root",
+		"consistent_snapshot": false,
+		"expires": "2100-01-01T00:00:00Z",
+		"keys": {
+			"160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca"
+				},
+				"scheme": "ed25519"
+			},
+			"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"b59406a55fbe2492022f2951dacd01fc7b400b7b41ec4028b8356161a5a71a33": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "8656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160"
+				},
+				"scheme": "ed25519"
+			},
+			"c7a2ca868b0e65b50cc6a2dfcfd9c129bdcb3da390ac78bb83a732be02ed5a5d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "8656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160"
+				},
+				"scheme": "ed25519"
+			},
+			"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca"
+				},
+				"scheme": "ed25519"
+			}
+		},
+		"roles": {
+			"root": {
+				"keyids": [
+					"160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7",
+					"f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953"
+				],
+				"threshold": 1
+			},
+			"snapshot": {
+				"keyids": [
+					"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+					"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d"
+				],
+				"threshold": 1
+			},
+			"targets": {
+				"keyids": [
+					"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+					"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556"
+				],
+				"threshold": 1
+			},
+			"timestamp": {
+				"keyids": [
+					"b59406a55fbe2492022f2951dacd01fc7b400b7b41ec4028b8356161a5a71a33",
+					"c7a2ca868b0e65b50cc6a2dfcfd9c129bdcb3da390ac78bb83a732be02ed5a5d"
+				],
+				"threshold": 1
+			}
+		},
+		"spec_version": "1.0",
+		"version": 1
+	},
+	"signatures": [
+		{
+			"keyid": "160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7",
+			"method": "ed25519",
+			"sig": "5ff5c02ecdfc36583f4fb1a8e660bee1643f82a1a7cb3291739200b9f9be6ee026958af3b342e6d8d4f242a05f8e8558e146b6f692ddd4a7d558b85e82ad9b05"
+		},
+		{
+			"keyid": "f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953",
+			"method": "ed25519",
+			"sig": "5ff5c02ecdfc36583f4fb1a8e660bee1643f82a1a7cb3291739200b9f9be6ee026958af3b342e6d8d4f242a05f8e8558e146b6f692ddd4a7d558b85e82ad9b05"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/snapshot.json
index ba42c25..e794f20 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/snapshot.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/snapshot.json
@@ -1 +1,36 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df"},"length":757,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"a265d68caa6fbaee5bbca20a1aaafbd889a27b12a5de8c30e89da88d2cd40b1d2cf04bfdf4d00efce59c498a353ba62923736c460f7b71697ec0db0198c1e10d"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"a265d68caa6fbaee5bbca20a1aaafbd889a27b12a5de8c30e89da88d2cd40b1d2cf04bfdf4d00efce59c498a353ba62923736c460f7b71697ec0db0198c1e10d"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "snapshot",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"root.json": {
+				"hashes": {
+					"sha512": "683aae02eb3fcc4fc0ffc37f2f43dc0fdb43e7997d3c65653cfdabcaea9fed8414e3d77047483eca96490747b2a62dec4d17021de42173520f12b60b39ffbc0f"
+				},
+				"length": 3832,
+				"version": 1
+			},
+			"targets.json": {
+				"hashes": {
+					"sha512": "6ecff211b4df20d84e5a99a1145b7f96752efe880147439a3a8c2ecc080762f84b5b784da1b41d2ccb1492d112c521b4b82973589285dfbcfbb6c423c559ff4e"
+				},
+				"length": 866,
+				"version": 1
+			}
+		},
+		"spec_version": "1.0",
+		"version": 1
+	},
+	"signatures": [
+		{
+			"keyid": "d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+			"method": "ed25519",
+			"sig": "30374e6296c813037083321b16c0d2b9578de32a99f56e33134d1936ff14c611e50d0a68bf9e6a2f25dfb449e599f069c51f1c8e3113e36d905a6a0fe825a005"
+		},
+		{
+			"keyid": "7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d",
+			"method": "ed25519",
+			"sig": "30374e6296c813037083321b16c0d2b9578de32a99f56e33134d1936ff14c611e50d0a68bf9e6a2f25dfb449e599f069c51f1c8e3113e36d905a6a0fe825a005"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/targets.json
index 4e9da28..60091e7 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/targets.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/targets.json
@@ -1 +1,28 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"c2afa7b113ceae0a55c8986113ed3173693ace397a3c24e7d3d7d217956a2f40bb7a642ed9b79f75c2e27d5ae5a5e8a76c59ff884395cd4fa41a857acf514009"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"c2afa7b113ceae0a55c8986113ed3173693ace397a3c24e7d3d7d217956a2f40bb7a642ed9b79f75c2e27d5ae5a5e8a76c59ff884395cd4fa41a857acf514009"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "targets",
+		"expires": "2100-01-01T00:00:00Z",
+		"spec_version": "1.0",
+		"targets": {
+			"0": {
+				"hashes": {
+					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
+				},
+				"length": 1
+			}
+		},
+		"version": 1
+	},
+	"signatures": [
+		{
+			"keyid": "b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+			"method": "ed25519",
+			"sig": "4d5c3a5da43f3792d077c1128fa28585982ff2957fae59be02a831fc920d0b91cbeaa99fd6c15066ec4da8bf12f993440a90d1624fd7b0a68070e5d60ed2500f"
+		},
+		{
+			"keyid": "d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556",
+			"method": "ed25519",
+			"sig": "4d5c3a5da43f3792d077c1128fa28585982ff2957fae59be02a831fc920d0b91cbeaa99fd6c15066ec4da8bf12f993440a90d1624fd7b0a68070e5d60ed2500f"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/targets/0
similarity index 100%
rename from client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/targets/0.0
rename to client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/targets/0
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
deleted file mode 100644
index c227083..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/timestamp.json
index 19089a4..9ba2ee4 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/timestamp.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/timestamp.json
@@ -1 +1,29 @@
-{"signed":{"_type":"timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"5870f50685abc42fa6fd4d215f177e5da7743fb1a5df85e3e7d8333f414aaf911ae97b9fbd61b33331e392affd57fb4c12f997d07530e928e5806f28853a461b"},"length":971,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"664e88d7e9733a882a5f49c311b38c0588545bc21bf578ac3b1aad661c9e4192","method":"ed25519","sig":"28637ce785628f1c0c3c32049a33e60954c02e9f7f6bfdb03fd21e5ea11aade02c1a5be34df4c0a7778e49cc87d68a2c6a0c0be2bd09aa914350846fc30a7100"},{"keyid":"5ec8d1ac302695f86d975e8aa3b5533df457d0c66f544658056c536de26718bf","method":"ed25519","sig":"28637ce785628f1c0c3c32049a33e60954c02e9f7f6bfdb03fd21e5ea11aade02c1a5be34df4c0a7778e49cc87d68a2c6a0c0be2bd09aa914350846fc30a7100"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "timestamp",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"snapshot.json": {
+				"hashes": {
+					"sha512": "892f57086442891029dd180f01c8653ab91d0ddba2ab6002437634ad0a3579e31e21ef8790577086773ba8b5ffc1da80451589dae92ae122d2943a963fae9725"
+				},
+				"length": 1125,
+				"version": 1
+			}
+		},
+		"spec_version": "1.0",
+		"version": 1
+	},
+	"signatures": [
+		{
+			"keyid": "b59406a55fbe2492022f2951dacd01fc7b400b7b41ec4028b8356161a5a71a33",
+			"method": "ed25519",
+			"sig": "f661d41e29185709f03c5fc28498c369153df6be0eee08d11df869046a5b6605471729541ce8d05d9d5f035adac00d531efe6294c99715270c7e8acc5967fb0a"
+		},
+		{
+			"keyid": "c7a2ca868b0e65b50cc6a2dfcfd9c129bdcb3da390ac78bb83a732be02ed5a5d",
+			"method": "ed25519",
+			"sig": "f661d41e29185709f03c5fc28498c369153df6be0eee08d11df869046a5b6605471729541ce8d05d9d5f035adac00d531efe6294c99715270c7e8acc5967fb0a"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/root.json
deleted file mode 100644
index f834374..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/root.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-	"encrypted": false,
-	"data": [
-		{
-			"keytype": "ed25519",
-			"scheme": "ed25519",
-			"keyid_hash_algorithms": [
-				"sha512"
-			],
-			"keyval": {
-				"public": "424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d",
-				"private": "c0f453fb5e3e9de707aec81da45dd0c0d8d34f426f0bffab1a492b252101493b424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"
-			}
-		}
-	]
-}
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/root.json
new file mode 120000
index 0000000..4177eb3
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/root.json
@@ -0,0 +1 @@
+../../0/keys/root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/snapshot.json
deleted file mode 100644
index d97cf15..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/snapshot.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-	"encrypted": false,
-	"data": [
-		{
-			"keytype": "ed25519",
-			"scheme": "ed25519",
-			"keyid_hash_algorithms": [
-				"sha512"
-			],
-			"keyval": {
-				"public": "88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33",
-				"private": "7ebf26fc9e7613ed4d2d6abd52e8186e3435955b66d61d01280047c2416055fb88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"
-			}
-		}
-	]
-}
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/snapshot.json
new file mode 120000
index 0000000..26c030c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/snapshot.json
@@ -0,0 +1 @@
+../../0/keys/snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/targets.json
deleted file mode 100644
index dca8d29..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/targets.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-	"encrypted": false,
-	"data": [
-		{
-			"keytype": "ed25519",
-			"scheme": "ed25519",
-			"keyid_hash_algorithms": [
-				"sha512"
-			],
-			"keyval": {
-				"public": "018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3",
-				"private": "034a45c47442a1eda5e96312720beb45dd19a47c9fc2481e0c694c568743640d018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"
-			}
-		}
-	]
-}
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/targets.json
new file mode 120000
index 0000000..cb2245f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/targets.json
@@ -0,0 +1 @@
+../../0/keys/targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/timestamp.json
index 12bbe03..ea82dd8 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/timestamp.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/timestamp.json
@@ -5,22 +5,22 @@
 			"keytype": "ed25519",
 			"scheme": "ed25519",
 			"keyid_hash_algorithms": [
-				"sha512"
+				"sha256"
 			],
 			"keyval": {
-				"public": "596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9",
-				"private": "ff7607566ae178dafbb9e285c96f29c1d0569fe0160dd022208261e4a81722e1596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"
+				"public": "8656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160",
+				"private": "2ef838a6f0aa4bc0a746b8086098683f96bb5118c4dca7d3caa3dee5c86ea8398656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160"
 			}
 		},
 		{
 			"keytype": "ed25519",
 			"scheme": "ed25519",
 			"keyid_hash_algorithms": [
-				"sha512"
+				"sha256"
 			],
 			"keyval": {
-				"public": "f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f",
-				"private": "cb1c93ffd3ab645ea65aad1a100d3491976beb921e04df9de680965a4a0f1861f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"
+				"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76",
+				"private": "1d9a579675ee85074a7c5d8a3e4a58a21e82bddc53bbfe1bef547d681d4049783ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
 			}
 		}
 	]
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json
deleted file mode 100644
index 214e321..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"5ec8d1ac302695f86d975e8aa3b5533df457d0c66f544658056c536de26718bf":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"},"scheme":"ed25519"},"664e88d7e9733a882a5f49c311b38c0588545bc21bf578ac3b1aad661c9e4192":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["664e88d7e9733a882a5f49c311b38c0588545bc21bf578ac3b1aad661c9e4192","5ec8d1ac302695f86d975e8aa3b5533df457d0c66f544658056c536de26718bf"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"2e62498ed4d88a1fa086a630f8b97e7f1c93f44d6a5f1793f7aa784663eccc9b2e3cbb5bdb3ece2f5d85287a14bc28be6e905cd5e196c2f1ccacc4fff0225b05"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"2e62498ed4d88a1fa086a630f8b97e7f1c93f44d6a5f1793f7aa784663eccc9b2e3cbb5bdb3ece2f5d85287a14bc28be6e905cd5e196c2f1ccacc4fff0225b05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/1.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/1.root.json
deleted file mode 100644
index 214e321..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/1.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"5ec8d1ac302695f86d975e8aa3b5533df457d0c66f544658056c536de26718bf":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"},"scheme":"ed25519"},"664e88d7e9733a882a5f49c311b38c0588545bc21bf578ac3b1aad661c9e4192":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["664e88d7e9733a882a5f49c311b38c0588545bc21bf578ac3b1aad661c9e4192","5ec8d1ac302695f86d975e8aa3b5533df457d0c66f544658056c536de26718bf"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"2e62498ed4d88a1fa086a630f8b97e7f1c93f44d6a5f1793f7aa784663eccc9b2e3cbb5bdb3ece2f5d85287a14bc28be6e905cd5e196c2f1ccacc4fff0225b05"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"2e62498ed4d88a1fa086a630f8b97e7f1c93f44d6a5f1793f7aa784663eccc9b2e3cbb5bdb3ece2f5d85287a14bc28be6e905cd5e196c2f1ccacc4fff0225b05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/1.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/1.root.json
new file mode 120000
index 0000000..0ffd2b6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/1.root.json
@@ -0,0 +1 @@
+../../0/repository/1.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/1.snapshot.json
deleted file mode 100644
index ba42c25..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/1.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df"},"length":757,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"a265d68caa6fbaee5bbca20a1aaafbd889a27b12a5de8c30e89da88d2cd40b1d2cf04bfdf4d00efce59c498a353ba62923736c460f7b71697ec0db0198c1e10d"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"a265d68caa6fbaee5bbca20a1aaafbd889a27b12a5de8c30e89da88d2cd40b1d2cf04bfdf4d00efce59c498a353ba62923736c460f7b71697ec0db0198c1e10d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/1.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/1.targets.json
deleted file mode 100644
index 4e9da28..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/1.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"c2afa7b113ceae0a55c8986113ed3173693ace397a3c24e7d3d7d217956a2f40bb7a642ed9b79f75c2e27d5ae5a5e8a76c59ff884395cd4fa41a857acf514009"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"c2afa7b113ceae0a55c8986113ed3173693ace397a3c24e7d3d7d217956a2f40bb7a642ed9b79f75c2e27d5ae5a5e8a76c59ff884395cd4fa41a857acf514009"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/2.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/2.root.json
index 20d1800..0b99b1b 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/2.root.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/2.root.json
@@ -1 +1,133 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"bb68cb8d5b2c477ecdf5fedbec57f948d94f728b30d74501ff2caebb5bba0368ce1b63b56cd7e26c2f8b32f3768432b7c316ff595e09873962fe986f39ddea0d"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"bb68cb8d5b2c477ecdf5fedbec57f948d94f728b30d74501ff2caebb5bba0368ce1b63b56cd7e26c2f8b32f3768432b7c316ff595e09873962fe986f39ddea0d"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "root",
+		"consistent_snapshot": false,
+		"expires": "2100-01-01T00:00:00Z",
+		"keys": {
+			"160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca"
+				},
+				"scheme": "ed25519"
+			},
+			"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			},
+			"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			},
+			"f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca"
+				},
+				"scheme": "ed25519"
+			}
+		},
+		"roles": {
+			"root": {
+				"keyids": [
+					"160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7",
+					"f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953"
+				],
+				"threshold": 1
+			},
+			"snapshot": {
+				"keyids": [
+					"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+					"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d"
+				],
+				"threshold": 1
+			},
+			"targets": {
+				"keyids": [
+					"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+					"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556"
+				],
+				"threshold": 1
+			},
+			"timestamp": {
+				"keyids": [
+					"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0",
+					"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d"
+				],
+				"threshold": 1
+			}
+		},
+		"spec_version": "1.0",
+		"version": 2
+	},
+	"signatures": [
+		{
+			"keyid": "160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7",
+			"method": "ed25519",
+			"sig": "d1495e81fd39b1c4a9837c0cadf4c395eabf2a412b3277510422bdf748e7355eea61ba056ea66641b9dc7e245931da430bf346628ed16cd2c497d820d8dd210c"
+		},
+		{
+			"keyid": "f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953",
+			"method": "ed25519",
+			"sig": "d1495e81fd39b1c4a9837c0cadf4c395eabf2a412b3277510422bdf748e7355eea61ba056ea66641b9dc7e245931da430bf346628ed16cd2c497d820d8dd210c"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/2.snapshot.json
deleted file mode 100644
index 081ff93..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/2.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68"},"length":925,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"05717c284b87c529c48b8a72ae6b9b733ac482193e5484aee21e7e96fd420a26caecbc6bf11a7993a6d3265b504340f1b78efc7f806f4f5d5c5014c5835e4203"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"05717c284b87c529c48b8a72ae6b9b733ac482193e5484aee21e7e96fd420a26caecbc6bf11a7993a6d3265b504340f1b78efc7f806f4f5d5c5014c5835e4203"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/2.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/2.targets.json
deleted file mode 100644
index da25f77..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/2.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"fc7f38192db2f74e2408f5c9c018d06fe01c65db92303a4f86090f654ba63142e088b0c888b84493d78dc0cc53c160436c08136961bc0a1621f840852566c706"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"fc7f38192db2f74e2408f5c9c018d06fe01c65db92303a4f86090f654ba63142e088b0c888b84493d78dc0cc53c160436c08136961bc0a1621f840852566c706"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df.targets.json
deleted file mode 100644
index 4e9da28..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"c2afa7b113ceae0a55c8986113ed3173693ace397a3c24e7d3d7d217956a2f40bb7a642ed9b79f75c2e27d5ae5a5e8a76c59ff884395cd4fa41a857acf514009"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"c2afa7b113ceae0a55c8986113ed3173693ace397a3c24e7d3d7d217956a2f40bb7a642ed9b79f75c2e27d5ae5a5e8a76c59ff884395cd4fa41a857acf514009"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/5870f50685abc42fa6fd4d215f177e5da7743fb1a5df85e3e7d8333f414aaf911ae97b9fbd61b33331e392affd57fb4c12f997d07530e928e5806f28853a461b.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/5870f50685abc42fa6fd4d215f177e5da7743fb1a5df85e3e7d8333f414aaf911ae97b9fbd61b33331e392affd57fb4c12f997d07530e928e5806f28853a461b.snapshot.json
deleted file mode 100644
index ba42c25..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/5870f50685abc42fa6fd4d215f177e5da7743fb1a5df85e3e7d8333f414aaf911ae97b9fbd61b33331e392affd57fb4c12f997d07530e928e5806f28853a461b.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df"},"length":757,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"a265d68caa6fbaee5bbca20a1aaafbd889a27b12a5de8c30e89da88d2cd40b1d2cf04bfdf4d00efce59c498a353ba62923736c460f7b71697ec0db0198c1e10d"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"a265d68caa6fbaee5bbca20a1aaafbd889a27b12a5de8c30e89da88d2cd40b1d2cf04bfdf4d00efce59c498a353ba62923736c460f7b71697ec0db0198c1e10d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68.targets.json
deleted file mode 100644
index da25f77..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"fc7f38192db2f74e2408f5c9c018d06fe01c65db92303a4f86090f654ba63142e088b0c888b84493d78dc0cc53c160436c08136961bc0a1621f840852566c706"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"fc7f38192db2f74e2408f5c9c018d06fe01c65db92303a4f86090f654ba63142e088b0c888b84493d78dc0cc53c160436c08136961bc0a1621f840852566c706"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/6eb5dce516520d9f9331679ea70bb38f4e9f41c6b6db5579df6954a48bed75f6435779cc8045e5f8e57c7ee7cdd077da5c4fa660b13b1fa31785e71626e4408d.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/6eb5dce516520d9f9331679ea70bb38f4e9f41c6b6db5579df6954a48bed75f6435779cc8045e5f8e57c7ee7cdd077da5c4fa660b13b1fa31785e71626e4408d.snapshot.json
deleted file mode 100644
index 081ff93..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/6eb5dce516520d9f9331679ea70bb38f4e9f41c6b6db5579df6954a48bed75f6435779cc8045e5f8e57c7ee7cdd077da5c4fa660b13b1fa31785e71626e4408d.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68"},"length":925,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"05717c284b87c529c48b8a72ae6b9b733ac482193e5484aee21e7e96fd420a26caecbc6bf11a7993a6d3265b504340f1b78efc7f806f4f5d5c5014c5835e4203"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"05717c284b87c529c48b8a72ae6b9b733ac482193e5484aee21e7e96fd420a26caecbc6bf11a7993a6d3265b504340f1b78efc7f806f4f5d5c5014c5835e4203"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c.root.json
deleted file mode 100644
index 20d1800..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"bb68cb8d5b2c477ecdf5fedbec57f948d94f728b30d74501ff2caebb5bba0368ce1b63b56cd7e26c2f8b32f3768432b7c316ff595e09873962fe986f39ddea0d"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"bb68cb8d5b2c477ecdf5fedbec57f948d94f728b30d74501ff2caebb5bba0368ce1b63b56cd7e26c2f8b32f3768432b7c316ff595e09873962fe986f39ddea0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/root.json
index 20d1800..0b99b1b 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/root.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/root.json
@@ -1 +1,133 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"bb68cb8d5b2c477ecdf5fedbec57f948d94f728b30d74501ff2caebb5bba0368ce1b63b56cd7e26c2f8b32f3768432b7c316ff595e09873962fe986f39ddea0d"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"bb68cb8d5b2c477ecdf5fedbec57f948d94f728b30d74501ff2caebb5bba0368ce1b63b56cd7e26c2f8b32f3768432b7c316ff595e09873962fe986f39ddea0d"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "root",
+		"consistent_snapshot": false,
+		"expires": "2100-01-01T00:00:00Z",
+		"keys": {
+			"160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca"
+				},
+				"scheme": "ed25519"
+			},
+			"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			},
+			"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			},
+			"f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca"
+				},
+				"scheme": "ed25519"
+			}
+		},
+		"roles": {
+			"root": {
+				"keyids": [
+					"160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7",
+					"f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953"
+				],
+				"threshold": 1
+			},
+			"snapshot": {
+				"keyids": [
+					"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+					"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d"
+				],
+				"threshold": 1
+			},
+			"targets": {
+				"keyids": [
+					"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+					"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556"
+				],
+				"threshold": 1
+			},
+			"timestamp": {
+				"keyids": [
+					"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0",
+					"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d"
+				],
+				"threshold": 1
+			}
+		},
+		"spec_version": "1.0",
+		"version": 2
+	},
+	"signatures": [
+		{
+			"keyid": "160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7",
+			"method": "ed25519",
+			"sig": "d1495e81fd39b1c4a9837c0cadf4c395eabf2a412b3277510422bdf748e7355eea61ba056ea66641b9dc7e245931da430bf346628ed16cd2c497d820d8dd210c"
+		},
+		{
+			"keyid": "f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953",
+			"method": "ed25519",
+			"sig": "d1495e81fd39b1c4a9837c0cadf4c395eabf2a412b3277510422bdf748e7355eea61ba056ea66641b9dc7e245931da430bf346628ed16cd2c497d820d8dd210c"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/snapshot.json
index 081ff93..696003d 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/snapshot.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/snapshot.json
@@ -1 +1,36 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68"},"length":925,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"05717c284b87c529c48b8a72ae6b9b733ac482193e5484aee21e7e96fd420a26caecbc6bf11a7993a6d3265b504340f1b78efc7f806f4f5d5c5014c5835e4203"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"05717c284b87c529c48b8a72ae6b9b733ac482193e5484aee21e7e96fd420a26caecbc6bf11a7993a6d3265b504340f1b78efc7f806f4f5d5c5014c5835e4203"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "snapshot",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"root.json": {
+				"hashes": {
+					"sha512": "38af59a1f2438915a07bca60a3cdf4f89eee10d26174c5ee00e226f36f878247f561ec6ac0db0f2cf90c2a295d1d388c2d4f2201c46a5e839ee9dea5d77f4ff2"
+				},
+				"length": 3832,
+				"version": 2
+			},
+			"targets.json": {
+				"hashes": {
+					"sha512": "118c2a2b6b9f7bc667dca8404a2671910a22b6fe48e460816a9f6f2be66f7806a789c9dc4880d2c2812c0bc7607caac30cc0a8299183fd7228e1049f6920ce22"
+				},
+				"length": 1067,
+				"version": 2
+			}
+		},
+		"spec_version": "1.0",
+		"version": 2
+	},
+	"signatures": [
+		{
+			"keyid": "d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+			"method": "ed25519",
+			"sig": "2cb0284786bededa35b25242432bb239d2322778476b40bafd913c82ed8861b094bc8ad67a37f5e0d7a4c03f3e443253195a492239279e5b3cf02e7810593f0c"
+		},
+		{
+			"keyid": "7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d",
+			"method": "ed25519",
+			"sig": "2cb0284786bededa35b25242432bb239d2322778476b40bafd913c82ed8861b094bc8ad67a37f5e0d7a4c03f3e443253195a492239279e5b3cf02e7810593f0c"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/targets.json
index da25f77..eeb97eb 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/targets.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/targets.json
@@ -1 +1,34 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"fc7f38192db2f74e2408f5c9c018d06fe01c65db92303a4f86090f654ba63142e088b0c888b84493d78dc0cc53c160436c08136961bc0a1621f840852566c706"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"fc7f38192db2f74e2408f5c9c018d06fe01c65db92303a4f86090f654ba63142e088b0c888b84493d78dc0cc53c160436c08136961bc0a1621f840852566c706"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "targets",
+		"expires": "2100-01-01T00:00:00Z",
+		"spec_version": "1.0",
+		"targets": {
+			"0": {
+				"hashes": {
+					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
+				},
+				"length": 1
+			},
+			"1": {
+				"hashes": {
+					"sha512": "4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"
+				},
+				"length": 1
+			}
+		},
+		"version": 2
+	},
+	"signatures": [
+		{
+			"keyid": "b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+			"method": "ed25519",
+			"sig": "81bcf5921834a20b8b0946815ad4316f43ffce20b3793e6653dc5fd4b98f1c6318ce2243948574e82414a102717a6f2d731250b3191c54abc8391fd867503e0b"
+		},
+		{
+			"keyid": "d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556",
+			"method": "ed25519",
+			"sig": "81bcf5921834a20b8b0946815ad4316f43ffce20b3793e6653dc5fd4b98f1c6318ce2243948574e82414a102717a6f2d731250b3191c54abc8391fd867503e0b"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/targets/0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/targets/0
new file mode 120000
index 0000000..aced687
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/targets/0
@@ -0,0 +1 @@
+../../../0/repository/targets/0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/targets/0.0
deleted file mode 100644
index c227083..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/targets/0.0
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/targets/0.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/targets/1
similarity index 100%
rename from client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/targets/0.1
rename to client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/targets/1
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
deleted file mode 100644
index c227083..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
deleted file mode 100644
index 56a6051..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
+++ /dev/null
@@ -1 +0,0 @@
-1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/timestamp.json
index 4658b75..ef9ec55 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/timestamp.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/timestamp.json
@@ -1 +1,29 @@
-{"signed":{"_type":"timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"6eb5dce516520d9f9331679ea70bb38f4e9f41c6b6db5579df6954a48bed75f6435779cc8045e5f8e57c7ee7cdd077da5c4fa660b13b1fa31785e71626e4408d"},"length":971,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","method":"ed25519","sig":"6e70da09d5018bac4a5dbd2569e8eae12f8cc8516b2fe2f79509176894f137f48b27b41c3f6a11c36087568fa3c4d7184b1c0200a43c2afa4fa2120b10a33402"},{"keyid":"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71","method":"ed25519","sig":"6e70da09d5018bac4a5dbd2569e8eae12f8cc8516b2fe2f79509176894f137f48b27b41c3f6a11c36087568fa3c4d7184b1c0200a43c2afa4fa2120b10a33402"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "timestamp",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"snapshot.json": {
+				"hashes": {
+					"sha512": "d53f911033f3f61287815cf3bc862974265826292ea0072cc0934562f422cc6b9d478c85f4559e07d884748f133e0d1357945a9c7d6885dbe92a7182b76123a7"
+				},
+				"length": 1126,
+				"version": 2
+			}
+		},
+		"spec_version": "1.0",
+		"version": 2
+	},
+	"signatures": [
+		{
+			"keyid": "79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0",
+			"method": "ed25519",
+			"sig": "d6d5b0aa7b583d8158820aed211dc341709757728319035bbeb70f59d1e6fff19c9bb1b7d06b7a7067f88bd035f69dc99d8a70b7504057a0bd99eb6d07db050a"
+		},
+		{
+			"keyid": "e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d",
+			"method": "ed25519",
+			"sig": "d6d5b0aa7b583d8158820aed211dc341709757728319035bbeb70f59d1e6fff19c9bb1b7d06b7a7067f88bd035f69dc99d8a70b7504057a0bd99eb6d07db050a"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/root.json
deleted file mode 100644
index f834374..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/root.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-	"encrypted": false,
-	"data": [
-		{
-			"keytype": "ed25519",
-			"scheme": "ed25519",
-			"keyid_hash_algorithms": [
-				"sha512"
-			],
-			"keyval": {
-				"public": "424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d",
-				"private": "c0f453fb5e3e9de707aec81da45dd0c0d8d34f426f0bffab1a492b252101493b424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"
-			}
-		}
-	]
-}
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/root.json
new file mode 120000
index 0000000..8b41d4a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/root.json
@@ -0,0 +1 @@
+../../1/keys/root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/snapshot.json
deleted file mode 100644
index d97cf15..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/snapshot.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-	"encrypted": false,
-	"data": [
-		{
-			"keytype": "ed25519",
-			"scheme": "ed25519",
-			"keyid_hash_algorithms": [
-				"sha512"
-			],
-			"keyval": {
-				"public": "88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33",
-				"private": "7ebf26fc9e7613ed4d2d6abd52e8186e3435955b66d61d01280047c2416055fb88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"
-			}
-		}
-	]
-}
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/snapshot.json
new file mode 120000
index 0000000..9799827
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/snapshot.json
@@ -0,0 +1 @@
+../../1/keys/snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/targets.json
deleted file mode 100644
index dca8d29..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/targets.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-	"encrypted": false,
-	"data": [
-		{
-			"keytype": "ed25519",
-			"scheme": "ed25519",
-			"keyid_hash_algorithms": [
-				"sha512"
-			],
-			"keyval": {
-				"public": "018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3",
-				"private": "034a45c47442a1eda5e96312720beb45dd19a47c9fc2481e0c694c568743640d018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"
-			}
-		}
-	]
-}
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/targets.json
new file mode 120000
index 0000000..8a4e930
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/targets.json
@@ -0,0 +1 @@
+../../1/keys/targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/timestamp.json
index 62f04c4..7c96663 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/timestamp.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/timestamp.json
@@ -1 +1 @@
-{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f","private":"cb1c93ffd3ab645ea65aad1a100d3491976beb921e04df9de680965a4a0f1861f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"}}]}
\ No newline at end of file
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha256"],"keyval":{"public":"3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76","private":"1d9a579675ee85074a7c5d8a3e4a58a21e82bddc53bbfe1bef547d681d4049783ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json
deleted file mode 100644
index 214e321..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"5ec8d1ac302695f86d975e8aa3b5533df457d0c66f544658056c536de26718bf":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"},"scheme":"ed25519"},"664e88d7e9733a882a5f49c311b38c0588545bc21bf578ac3b1aad661c9e4192":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["664e88d7e9733a882a5f49c311b38c0588545bc21bf578ac3b1aad661c9e4192","5ec8d1ac302695f86d975e8aa3b5533df457d0c66f544658056c536de26718bf"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"2e62498ed4d88a1fa086a630f8b97e7f1c93f44d6a5f1793f7aa784663eccc9b2e3cbb5bdb3ece2f5d85287a14bc28be6e905cd5e196c2f1ccacc4fff0225b05"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"2e62498ed4d88a1fa086a630f8b97e7f1c93f44d6a5f1793f7aa784663eccc9b2e3cbb5bdb3ece2f5d85287a14bc28be6e905cd5e196c2f1ccacc4fff0225b05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/1.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/1.root.json
deleted file mode 100644
index 214e321..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/1.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"5ec8d1ac302695f86d975e8aa3b5533df457d0c66f544658056c536de26718bf":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"},"scheme":"ed25519"},"664e88d7e9733a882a5f49c311b38c0588545bc21bf578ac3b1aad661c9e4192":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["664e88d7e9733a882a5f49c311b38c0588545bc21bf578ac3b1aad661c9e4192","5ec8d1ac302695f86d975e8aa3b5533df457d0c66f544658056c536de26718bf"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"2e62498ed4d88a1fa086a630f8b97e7f1c93f44d6a5f1793f7aa784663eccc9b2e3cbb5bdb3ece2f5d85287a14bc28be6e905cd5e196c2f1ccacc4fff0225b05"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"2e62498ed4d88a1fa086a630f8b97e7f1c93f44d6a5f1793f7aa784663eccc9b2e3cbb5bdb3ece2f5d85287a14bc28be6e905cd5e196c2f1ccacc4fff0225b05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/1.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/1.root.json
new file mode 120000
index 0000000..cd73051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/1.root.json
@@ -0,0 +1 @@
+../../1/repository/1.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/1.snapshot.json
deleted file mode 100644
index ba42c25..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/1.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df"},"length":757,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"a265d68caa6fbaee5bbca20a1aaafbd889a27b12a5de8c30e89da88d2cd40b1d2cf04bfdf4d00efce59c498a353ba62923736c460f7b71697ec0db0198c1e10d"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"a265d68caa6fbaee5bbca20a1aaafbd889a27b12a5de8c30e89da88d2cd40b1d2cf04bfdf4d00efce59c498a353ba62923736c460f7b71697ec0db0198c1e10d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/1.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/1.targets.json
deleted file mode 100644
index 4e9da28..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/1.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"c2afa7b113ceae0a55c8986113ed3173693ace397a3c24e7d3d7d217956a2f40bb7a642ed9b79f75c2e27d5ae5a5e8a76c59ff884395cd4fa41a857acf514009"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"c2afa7b113ceae0a55c8986113ed3173693ace397a3c24e7d3d7d217956a2f40bb7a642ed9b79f75c2e27d5ae5a5e8a76c59ff884395cd4fa41a857acf514009"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/2.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/2.root.json
deleted file mode 100644
index 20d1800..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/2.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"bb68cb8d5b2c477ecdf5fedbec57f948d94f728b30d74501ff2caebb5bba0368ce1b63b56cd7e26c2f8b32f3768432b7c316ff595e09873962fe986f39ddea0d"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"bb68cb8d5b2c477ecdf5fedbec57f948d94f728b30d74501ff2caebb5bba0368ce1b63b56cd7e26c2f8b32f3768432b7c316ff595e09873962fe986f39ddea0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/2.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/2.root.json
new file mode 120000
index 0000000..bbdcb12
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/2.root.json
@@ -0,0 +1 @@
+../../1/repository/2.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/2.snapshot.json
deleted file mode 100644
index 081ff93..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/2.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68"},"length":925,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"05717c284b87c529c48b8a72ae6b9b733ac482193e5484aee21e7e96fd420a26caecbc6bf11a7993a6d3265b504340f1b78efc7f806f4f5d5c5014c5835e4203"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"05717c284b87c529c48b8a72ae6b9b733ac482193e5484aee21e7e96fd420a26caecbc6bf11a7993a6d3265b504340f1b78efc7f806f4f5d5c5014c5835e4203"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/2.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/2.targets.json
deleted file mode 100644
index da25f77..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/2.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"fc7f38192db2f74e2408f5c9c018d06fe01c65db92303a4f86090f654ba63142e088b0c888b84493d78dc0cc53c160436c08136961bc0a1621f840852566c706"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"fc7f38192db2f74e2408f5c9c018d06fe01c65db92303a4f86090f654ba63142e088b0c888b84493d78dc0cc53c160436c08136961bc0a1621f840852566c706"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df.targets.json
deleted file mode 100644
index 4e9da28..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"c2afa7b113ceae0a55c8986113ed3173693ace397a3c24e7d3d7d217956a2f40bb7a642ed9b79f75c2e27d5ae5a5e8a76c59ff884395cd4fa41a857acf514009"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"c2afa7b113ceae0a55c8986113ed3173693ace397a3c24e7d3d7d217956a2f40bb7a642ed9b79f75c2e27d5ae5a5e8a76c59ff884395cd4fa41a857acf514009"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/3.snapshot.json
deleted file mode 100644
index 2601186..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/3.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"eda055b819c624817f6a87f5e5b545044c93200fc4f3e06f51b417e7b7da94eb61dd94d3aae2fbd7461d12430222b795f3758ce7eb135197a0a554b21c621350"},"length":1093,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"c6965758b1027ba26732acaa087e66d8461ec59af8a0b8403eb44643be55208d852c3e60a0ae2d93c1941e9a2544f6e12be99970f16128ca19eb078b1e18d50f"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"c6965758b1027ba26732acaa087e66d8461ec59af8a0b8403eb44643be55208d852c3e60a0ae2d93c1941e9a2544f6e12be99970f16128ca19eb078b1e18d50f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/3.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/3.targets.json
deleted file mode 100644
index eb3ff57..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/3.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"df34db3f94a46c54aa8a81598c5090720e72d2d92262ed3aa8ed732791f66082508c8f92c99aaff9853f9e223e70c0aed65bb5c8fb3060b04e0380fe93a2dc09"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"df34db3f94a46c54aa8a81598c5090720e72d2d92262ed3aa8ed732791f66082508c8f92c99aaff9853f9e223e70c0aed65bb5c8fb3060b04e0380fe93a2dc09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/5870f50685abc42fa6fd4d215f177e5da7743fb1a5df85e3e7d8333f414aaf911ae97b9fbd61b33331e392affd57fb4c12f997d07530e928e5806f28853a461b.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/5870f50685abc42fa6fd4d215f177e5da7743fb1a5df85e3e7d8333f414aaf911ae97b9fbd61b33331e392affd57fb4c12f997d07530e928e5806f28853a461b.snapshot.json
deleted file mode 100644
index ba42c25..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/5870f50685abc42fa6fd4d215f177e5da7743fb1a5df85e3e7d8333f414aaf911ae97b9fbd61b33331e392affd57fb4c12f997d07530e928e5806f28853a461b.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df"},"length":757,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"a265d68caa6fbaee5bbca20a1aaafbd889a27b12a5de8c30e89da88d2cd40b1d2cf04bfdf4d00efce59c498a353ba62923736c460f7b71697ec0db0198c1e10d"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"a265d68caa6fbaee5bbca20a1aaafbd889a27b12a5de8c30e89da88d2cd40b1d2cf04bfdf4d00efce59c498a353ba62923736c460f7b71697ec0db0198c1e10d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68.targets.json
deleted file mode 100644
index da25f77..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"fc7f38192db2f74e2408f5c9c018d06fe01c65db92303a4f86090f654ba63142e088b0c888b84493d78dc0cc53c160436c08136961bc0a1621f840852566c706"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"fc7f38192db2f74e2408f5c9c018d06fe01c65db92303a4f86090f654ba63142e088b0c888b84493d78dc0cc53c160436c08136961bc0a1621f840852566c706"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/6eb5dce516520d9f9331679ea70bb38f4e9f41c6b6db5579df6954a48bed75f6435779cc8045e5f8e57c7ee7cdd077da5c4fa660b13b1fa31785e71626e4408d.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/6eb5dce516520d9f9331679ea70bb38f4e9f41c6b6db5579df6954a48bed75f6435779cc8045e5f8e57c7ee7cdd077da5c4fa660b13b1fa31785e71626e4408d.snapshot.json
deleted file mode 100644
index 081ff93..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/6eb5dce516520d9f9331679ea70bb38f4e9f41c6b6db5579df6954a48bed75f6435779cc8045e5f8e57c7ee7cdd077da5c4fa660b13b1fa31785e71626e4408d.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68"},"length":925,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"05717c284b87c529c48b8a72ae6b9b733ac482193e5484aee21e7e96fd420a26caecbc6bf11a7993a6d3265b504340f1b78efc7f806f4f5d5c5014c5835e4203"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"05717c284b87c529c48b8a72ae6b9b733ac482193e5484aee21e7e96fd420a26caecbc6bf11a7993a6d3265b504340f1b78efc7f806f4f5d5c5014c5835e4203"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/89f006bd229b975982f6527ec6b52b5f4f6fe9d7dda8809d87b1b7f7cf134faef3806513675c9e004638cbc6a8d1e94d00fe86cc83f75c038c03028b129e967d.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/89f006bd229b975982f6527ec6b52b5f4f6fe9d7dda8809d87b1b7f7cf134faef3806513675c9e004638cbc6a8d1e94d00fe86cc83f75c038c03028b129e967d.snapshot.json
deleted file mode 100644
index 2601186..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/89f006bd229b975982f6527ec6b52b5f4f6fe9d7dda8809d87b1b7f7cf134faef3806513675c9e004638cbc6a8d1e94d00fe86cc83f75c038c03028b129e967d.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"eda055b819c624817f6a87f5e5b545044c93200fc4f3e06f51b417e7b7da94eb61dd94d3aae2fbd7461d12430222b795f3758ce7eb135197a0a554b21c621350"},"length":1093,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"c6965758b1027ba26732acaa087e66d8461ec59af8a0b8403eb44643be55208d852c3e60a0ae2d93c1941e9a2544f6e12be99970f16128ca19eb078b1e18d50f"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"c6965758b1027ba26732acaa087e66d8461ec59af8a0b8403eb44643be55208d852c3e60a0ae2d93c1941e9a2544f6e12be99970f16128ca19eb078b1e18d50f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c.root.json
deleted file mode 100644
index 20d1800..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"bb68cb8d5b2c477ecdf5fedbec57f948d94f728b30d74501ff2caebb5bba0368ce1b63b56cd7e26c2f8b32f3768432b7c316ff595e09873962fe986f39ddea0d"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"bb68cb8d5b2c477ecdf5fedbec57f948d94f728b30d74501ff2caebb5bba0368ce1b63b56cd7e26c2f8b32f3768432b7c316ff595e09873962fe986f39ddea0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/eda055b819c624817f6a87f5e5b545044c93200fc4f3e06f51b417e7b7da94eb61dd94d3aae2fbd7461d12430222b795f3758ce7eb135197a0a554b21c621350.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/eda055b819c624817f6a87f5e5b545044c93200fc4f3e06f51b417e7b7da94eb61dd94d3aae2fbd7461d12430222b795f3758ce7eb135197a0a554b21c621350.targets.json
deleted file mode 100644
index eb3ff57..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/eda055b819c624817f6a87f5e5b545044c93200fc4f3e06f51b417e7b7da94eb61dd94d3aae2fbd7461d12430222b795f3758ce7eb135197a0a554b21c621350.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"df34db3f94a46c54aa8a81598c5090720e72d2d92262ed3aa8ed732791f66082508c8f92c99aaff9853f9e223e70c0aed65bb5c8fb3060b04e0380fe93a2dc09"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"df34db3f94a46c54aa8a81598c5090720e72d2d92262ed3aa8ed732791f66082508c8f92c99aaff9853f9e223e70c0aed65bb5c8fb3060b04e0380fe93a2dc09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/root.json
deleted file mode 100644
index 20d1800..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"bb68cb8d5b2c477ecdf5fedbec57f948d94f728b30d74501ff2caebb5bba0368ce1b63b56cd7e26c2f8b32f3768432b7c316ff595e09873962fe986f39ddea0d"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"bb68cb8d5b2c477ecdf5fedbec57f948d94f728b30d74501ff2caebb5bba0368ce1b63b56cd7e26c2f8b32f3768432b7c316ff595e09873962fe986f39ddea0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/root.json
new file mode 120000
index 0000000..0d04901
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/root.json
@@ -0,0 +1 @@
+../../1/repository/root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/snapshot.json
index 2601186..3e57e07 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/snapshot.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/snapshot.json
@@ -1 +1,36 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"eda055b819c624817f6a87f5e5b545044c93200fc4f3e06f51b417e7b7da94eb61dd94d3aae2fbd7461d12430222b795f3758ce7eb135197a0a554b21c621350"},"length":1093,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"c6965758b1027ba26732acaa087e66d8461ec59af8a0b8403eb44643be55208d852c3e60a0ae2d93c1941e9a2544f6e12be99970f16128ca19eb078b1e18d50f"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"c6965758b1027ba26732acaa087e66d8461ec59af8a0b8403eb44643be55208d852c3e60a0ae2d93c1941e9a2544f6e12be99970f16128ca19eb078b1e18d50f"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "snapshot",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"root.json": {
+				"hashes": {
+					"sha512": "38af59a1f2438915a07bca60a3cdf4f89eee10d26174c5ee00e226f36f878247f561ec6ac0db0f2cf90c2a295d1d388c2d4f2201c46a5e839ee9dea5d77f4ff2"
+				},
+				"length": 3832,
+				"version": 2
+			},
+			"targets.json": {
+				"hashes": {
+					"sha512": "d2678da14b885b502802ee9eb93853548cf0138c9a80f5e88fea99b26c152865a9638088fee1f90cf8c3319fbc58fc8c7384b88abf6d0cc6312859070356a22f"
+				},
+				"length": 1268,
+				"version": 3
+			}
+		},
+		"spec_version": "1.0",
+		"version": 3
+	},
+	"signatures": [
+		{
+			"keyid": "d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+			"method": "ed25519",
+			"sig": "814e0ee5ad0cfbf9039792268e69f0bca7a53dac702801f172aa92e42dad354e8314318016430ebb10b7ddb886462e3b8152fcf271118f617f3fb2da09932d0b"
+		},
+		{
+			"keyid": "7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d",
+			"method": "ed25519",
+			"sig": "814e0ee5ad0cfbf9039792268e69f0bca7a53dac702801f172aa92e42dad354e8314318016430ebb10b7ddb886462e3b8152fcf271118f617f3fb2da09932d0b"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets.json
index eb3ff57..4e878ce 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets.json
@@ -1 +1,40 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"df34db3f94a46c54aa8a81598c5090720e72d2d92262ed3aa8ed732791f66082508c8f92c99aaff9853f9e223e70c0aed65bb5c8fb3060b04e0380fe93a2dc09"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"df34db3f94a46c54aa8a81598c5090720e72d2d92262ed3aa8ed732791f66082508c8f92c99aaff9853f9e223e70c0aed65bb5c8fb3060b04e0380fe93a2dc09"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "targets",
+		"expires": "2100-01-01T00:00:00Z",
+		"spec_version": "1.0",
+		"targets": {
+			"0": {
+				"hashes": {
+					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
+				},
+				"length": 1
+			},
+			"1": {
+				"hashes": {
+					"sha512": "4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"
+				},
+				"length": 1
+			},
+			"2": {
+				"hashes": {
+					"sha512": "40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"
+				},
+				"length": 1
+			}
+		},
+		"version": 3
+	},
+	"signatures": [
+		{
+			"keyid": "b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+			"method": "ed25519",
+			"sig": "2deaa932efd4600dca459bd545b456cd4baba303aebd15e3834c9554a8abeb536341ec177579c619e8a1a65f899ee158562d7e76d366a8c5d0713cde7141920b"
+		},
+		{
+			"keyid": "d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556",
+			"method": "ed25519",
+			"sig": "2deaa932efd4600dca459bd545b456cd4baba303aebd15e3834c9554a8abeb536341ec177579c619e8a1a65f899ee158562d7e76d366a8c5d0713cde7141920b"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/0
new file mode 120000
index 0000000..2ac1d8b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/0
@@ -0,0 +1 @@
+../../../1/repository/targets/0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/0.0
deleted file mode 100644
index c227083..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/0.0
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/0.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/0.1
deleted file mode 100644
index 56a6051..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/0.1
+++ /dev/null
@@ -1 +0,0 @@
-1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/1
new file mode 120000
index 0000000..8e78bc3
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/1
@@ -0,0 +1 @@
+../../../1/repository/targets/1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/0.2 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/2
similarity index 100%
rename from client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/0.2
rename to client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/2
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
deleted file mode 100644
index c227083..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
deleted file mode 100644
index d8263ee..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
+++ /dev/null
@@ -1 +0,0 @@
-2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
deleted file mode 100644
index 56a6051..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
+++ /dev/null
@@ -1 +0,0 @@
-1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/timestamp.json
index ca45fc6..e4d0e4e 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/timestamp.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/timestamp.json
@@ -1 +1,29 @@
-{"signed":{"_type":"timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"89f006bd229b975982f6527ec6b52b5f4f6fe9d7dda8809d87b1b7f7cf134faef3806513675c9e004638cbc6a8d1e94d00fe86cc83f75c038c03028b129e967d"},"length":972,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","method":"ed25519","sig":"9ed37c1cdc926fdd8a9d77115c807a3308764c5fe7340463369f47c531ae18d33a316747a9094977fa935decd294999b347ce19c3fac4c4d58ea1d89b1a1c808"},{"keyid":"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71","method":"ed25519","sig":"9ed37c1cdc926fdd8a9d77115c807a3308764c5fe7340463369f47c531ae18d33a316747a9094977fa935decd294999b347ce19c3fac4c4d58ea1d89b1a1c808"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "timestamp",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"snapshot.json": {
+				"hashes": {
+					"sha512": "31c2cf7c30bfdefa6d7d118f593adc3e6bbbacc0733e0488967c5bea300cb970a2cfea89076d9316fd65bbb321c92a74005f944a1f068ebec3d48b6869fdad09"
+				},
+				"length": 1126,
+				"version": 3
+			}
+		},
+		"spec_version": "1.0",
+		"version": 3
+	},
+	"signatures": [
+		{
+			"keyid": "79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0",
+			"method": "ed25519",
+			"sig": "4a54779d0ac0a37625c1d465ac98a98f8674e4fc2245e15f3dffaef5e83a9f42b0d4c5789d47c591281e6d8f8aeb4bb02984b2b4a44679b6c8b3e950b64ce800"
+		},
+		{
+			"keyid": "e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d",
+			"method": "ed25519",
+			"sig": "4a54779d0ac0a37625c1d465ac98a98f8674e4fc2245e15f3dffaef5e83a9f42b0d4c5789d47c591281e6d8f8aeb4bb02984b2b4a44679b6c8b3e950b64ce800"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/root.json
index 623098a..dbbe32a 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/root.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/root.json
@@ -5,22 +5,22 @@
 			"keytype": "ed25519",
 			"scheme": "ed25519",
 			"keyid_hash_algorithms": [
-				"sha512"
+				"sha256"
 			],
 			"keyval": {
-				"public": "424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d",
-				"private": "c0f453fb5e3e9de707aec81da45dd0c0d8d34f426f0bffab1a492b252101493b424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"
+				"public": "bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca",
+				"private": "68c2a06583ce83dabb1fc5d2b3697015b936f341f21be1be1397670a650ebd53bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca"
 			}
 		},
 		{
 			"keytype": "ed25519",
 			"scheme": "ed25519",
 			"keyid_hash_algorithms": [
-				"sha512"
+				"sha256"
 			],
 			"keyval": {
-				"public": "69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5",
-				"private": "bf5543ea50e330a71c0166f10fa5dcdd6359ca50f585c36bbf5060ea072f60a269c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"
+				"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54",
+				"private": "e53595d99a85a33d7c228d28b25c856148c65be36558d0d61faa7e018a51db5c153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
 			}
 		}
 	]
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/snapshot.json
deleted file mode 100644
index d97cf15..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/snapshot.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-	"encrypted": false,
-	"data": [
-		{
-			"keytype": "ed25519",
-			"scheme": "ed25519",
-			"keyid_hash_algorithms": [
-				"sha512"
-			],
-			"keyval": {
-				"public": "88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33",
-				"private": "7ebf26fc9e7613ed4d2d6abd52e8186e3435955b66d61d01280047c2416055fb88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"
-			}
-		}
-	]
-}
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/snapshot.json
new file mode 120000
index 0000000..d4551fb
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/snapshot.json
@@ -0,0 +1 @@
+../../2/keys/snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/targets.json
deleted file mode 100644
index dca8d29..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/targets.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-	"encrypted": false,
-	"data": [
-		{
-			"keytype": "ed25519",
-			"scheme": "ed25519",
-			"keyid_hash_algorithms": [
-				"sha512"
-			],
-			"keyval": {
-				"public": "018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3",
-				"private": "034a45c47442a1eda5e96312720beb45dd19a47c9fc2481e0c694c568743640d018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"
-			}
-		}
-	]
-}
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/targets.json
new file mode 120000
index 0000000..ce99ac0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/targets.json
@@ -0,0 +1 @@
+../../2/keys/targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/timestamp.json
deleted file mode 100644
index 62f04c4..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/timestamp.json
+++ /dev/null
@@ -1 +0,0 @@
-{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f","private":"cb1c93ffd3ab645ea65aad1a100d3491976beb921e04df9de680965a4a0f1861f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/timestamp.json
new file mode 120000
index 0000000..38387ec
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/timestamp.json
@@ -0,0 +1 @@
+../../2/keys/timestamp.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json
deleted file mode 100644
index 214e321..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"5ec8d1ac302695f86d975e8aa3b5533df457d0c66f544658056c536de26718bf":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"},"scheme":"ed25519"},"664e88d7e9733a882a5f49c311b38c0588545bc21bf578ac3b1aad661c9e4192":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["664e88d7e9733a882a5f49c311b38c0588545bc21bf578ac3b1aad661c9e4192","5ec8d1ac302695f86d975e8aa3b5533df457d0c66f544658056c536de26718bf"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"2e62498ed4d88a1fa086a630f8b97e7f1c93f44d6a5f1793f7aa784663eccc9b2e3cbb5bdb3ece2f5d85287a14bc28be6e905cd5e196c2f1ccacc4fff0225b05"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"2e62498ed4d88a1fa086a630f8b97e7f1c93f44d6a5f1793f7aa784663eccc9b2e3cbb5bdb3ece2f5d85287a14bc28be6e905cd5e196c2f1ccacc4fff0225b05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/1.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/1.root.json
deleted file mode 100644
index 214e321..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/1.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"5ec8d1ac302695f86d975e8aa3b5533df457d0c66f544658056c536de26718bf":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"},"scheme":"ed25519"},"664e88d7e9733a882a5f49c311b38c0588545bc21bf578ac3b1aad661c9e4192":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["664e88d7e9733a882a5f49c311b38c0588545bc21bf578ac3b1aad661c9e4192","5ec8d1ac302695f86d975e8aa3b5533df457d0c66f544658056c536de26718bf"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"2e62498ed4d88a1fa086a630f8b97e7f1c93f44d6a5f1793f7aa784663eccc9b2e3cbb5bdb3ece2f5d85287a14bc28be6e905cd5e196c2f1ccacc4fff0225b05"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"2e62498ed4d88a1fa086a630f8b97e7f1c93f44d6a5f1793f7aa784663eccc9b2e3cbb5bdb3ece2f5d85287a14bc28be6e905cd5e196c2f1ccacc4fff0225b05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/1.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/1.root.json
new file mode 120000
index 0000000..fb4fe81
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/1.root.json
@@ -0,0 +1 @@
+../../2/repository/1.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/1.snapshot.json
deleted file mode 100644
index ba42c25..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/1.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df"},"length":757,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"a265d68caa6fbaee5bbca20a1aaafbd889a27b12a5de8c30e89da88d2cd40b1d2cf04bfdf4d00efce59c498a353ba62923736c460f7b71697ec0db0198c1e10d"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"a265d68caa6fbaee5bbca20a1aaafbd889a27b12a5de8c30e89da88d2cd40b1d2cf04bfdf4d00efce59c498a353ba62923736c460f7b71697ec0db0198c1e10d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/1.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/1.targets.json
deleted file mode 100644
index 4e9da28..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/1.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"c2afa7b113ceae0a55c8986113ed3173693ace397a3c24e7d3d7d217956a2f40bb7a642ed9b79f75c2e27d5ae5a5e8a76c59ff884395cd4fa41a857acf514009"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"c2afa7b113ceae0a55c8986113ed3173693ace397a3c24e7d3d7d217956a2f40bb7a642ed9b79f75c2e27d5ae5a5e8a76c59ff884395cd4fa41a857acf514009"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/2.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/2.root.json
deleted file mode 100644
index 20d1800..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/2.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"bb68cb8d5b2c477ecdf5fedbec57f948d94f728b30d74501ff2caebb5bba0368ce1b63b56cd7e26c2f8b32f3768432b7c316ff595e09873962fe986f39ddea0d"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"bb68cb8d5b2c477ecdf5fedbec57f948d94f728b30d74501ff2caebb5bba0368ce1b63b56cd7e26c2f8b32f3768432b7c316ff595e09873962fe986f39ddea0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/2.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/2.root.json
new file mode 120000
index 0000000..55f8b9d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/2.root.json
@@ -0,0 +1 @@
+../../2/repository/2.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/2.snapshot.json
deleted file mode 100644
index 081ff93..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/2.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68"},"length":925,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"05717c284b87c529c48b8a72ae6b9b733ac482193e5484aee21e7e96fd420a26caecbc6bf11a7993a6d3265b504340f1b78efc7f806f4f5d5c5014c5835e4203"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"05717c284b87c529c48b8a72ae6b9b733ac482193e5484aee21e7e96fd420a26caecbc6bf11a7993a6d3265b504340f1b78efc7f806f4f5d5c5014c5835e4203"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/2.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/2.targets.json
deleted file mode 100644
index da25f77..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/2.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"fc7f38192db2f74e2408f5c9c018d06fe01c65db92303a4f86090f654ba63142e088b0c888b84493d78dc0cc53c160436c08136961bc0a1621f840852566c706"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"fc7f38192db2f74e2408f5c9c018d06fe01c65db92303a4f86090f654ba63142e088b0c888b84493d78dc0cc53c160436c08136961bc0a1621f840852566c706"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df.targets.json
deleted file mode 100644
index 4e9da28..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"c2afa7b113ceae0a55c8986113ed3173693ace397a3c24e7d3d7d217956a2f40bb7a642ed9b79f75c2e27d5ae5a5e8a76c59ff884395cd4fa41a857acf514009"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"c2afa7b113ceae0a55c8986113ed3173693ace397a3c24e7d3d7d217956a2f40bb7a642ed9b79f75c2e27d5ae5a5e8a76c59ff884395cd4fa41a857acf514009"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/3.root.json
index 6a8b3c9..58456f8 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/3.root.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/3.root.json
@@ -1 +1,143 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759","086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"285a62cfaa856f60331b9c5a0c531ca75353da585affd2b178ee9f7810e9f4dc03cac9163b50d56bf74e185afd14c39a62c6e0fc8ef4c97c7a5017b405d5cb0d"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"285a62cfaa856f60331b9c5a0c531ca75353da585affd2b178ee9f7810e9f4dc03cac9163b50d56bf74e185afd14c39a62c6e0fc8ef4c97c7a5017b405d5cb0d"},{"keyid":"8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759","method":"ed25519","sig":"865504a1a336b34f0463b5f2571bd96ee6804beac7241927f50828eaee20ae9de0d4b4591a646e27adcfe2712042a90f74622b353413b7381ffa55cf8357c200"},{"keyid":"086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7","method":"ed25519","sig":"865504a1a336b34f0463b5f2571bd96ee6804beac7241927f50828eaee20ae9de0d4b4591a646e27adcfe2712042a90f74622b353413b7381ffa55cf8357c200"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "root",
+		"consistent_snapshot": false,
+		"expires": "2100-01-01T00:00:00Z",
+		"keys": {
+			"4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
+				},
+				"scheme": "ed25519"
+			},
+			"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			},
+			"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
+				},
+				"scheme": "ed25519"
+			},
+			"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			}
+		},
+		"roles": {
+			"root": {
+				"keyids": [
+					"4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d",
+					"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4"
+				],
+				"threshold": 1
+			},
+			"snapshot": {
+				"keyids": [
+					"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+					"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d"
+				],
+				"threshold": 1
+			},
+			"targets": {
+				"keyids": [
+					"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+					"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556"
+				],
+				"threshold": 1
+			},
+			"timestamp": {
+				"keyids": [
+					"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0",
+					"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d"
+				],
+				"threshold": 1
+			}
+		},
+		"spec_version": "1.0",
+		"version": 3
+	},
+	"signatures": [
+		{
+			"keyid": "160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7",
+			"method": "ed25519",
+			"sig": "44a3b5e8b58d23f771ff02f656525937a849b45d5ae25a3d304319144b163212ed975973cf8a5bad9c9c1311bba130827400b96c9af03fb41975b71e44fbf10a"
+		},
+		{
+			"keyid": "f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953",
+			"method": "ed25519",
+			"sig": "44a3b5e8b58d23f771ff02f656525937a849b45d5ae25a3d304319144b163212ed975973cf8a5bad9c9c1311bba130827400b96c9af03fb41975b71e44fbf10a"
+		},
+		{
+			"keyid": "4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d",
+			"method": "ed25519",
+			"sig": "1ff86aed9afe83347e6de215cdf2248e2b3fff450b6f183cda729755d5a99fa8089b8804f6e97da1000f498497e748122c52ee1c70c17f96d9c0aece88115e02"
+		},
+		{
+			"keyid": "a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4",
+			"method": "ed25519",
+			"sig": "1ff86aed9afe83347e6de215cdf2248e2b3fff450b6f183cda729755d5a99fa8089b8804f6e97da1000f498497e748122c52ee1c70c17f96d9c0aece88115e02"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/3.snapshot.json
deleted file mode 100644
index 2601186..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/3.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"eda055b819c624817f6a87f5e5b545044c93200fc4f3e06f51b417e7b7da94eb61dd94d3aae2fbd7461d12430222b795f3758ce7eb135197a0a554b21c621350"},"length":1093,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"c6965758b1027ba26732acaa087e66d8461ec59af8a0b8403eb44643be55208d852c3e60a0ae2d93c1941e9a2544f6e12be99970f16128ca19eb078b1e18d50f"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"c6965758b1027ba26732acaa087e66d8461ec59af8a0b8403eb44643be55208d852c3e60a0ae2d93c1941e9a2544f6e12be99970f16128ca19eb078b1e18d50f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/3.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/3.targets.json
deleted file mode 100644
index eb3ff57..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/3.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"df34db3f94a46c54aa8a81598c5090720e72d2d92262ed3aa8ed732791f66082508c8f92c99aaff9853f9e223e70c0aed65bb5c8fb3060b04e0380fe93a2dc09"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"df34db3f94a46c54aa8a81598c5090720e72d2d92262ed3aa8ed732791f66082508c8f92c99aaff9853f9e223e70c0aed65bb5c8fb3060b04e0380fe93a2dc09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/4.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/4.snapshot.json
deleted file mode 100644
index fd7fd01..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/4.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"6cca8a2a26445076e2f3089dbd7845623f5b070122599ac3ca9bf83a211b599c45f2c0812b7be0a7f6bf26d61f025f160f1d8cb7453cf111a5684bed5a94dab7"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"529cca3c67703b94db2634619ed4d6844ffa4abef298ab4519263adde628523bd90b4f979972b44d798d8852ce986b8b9a9eeb744a7f3ad2ff834e6413760afc"},"length":1261,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"3d32c571d8fc190022c5afb8d68cc6ca6aa628c9ec9081f703e3abc0376349e92db0a198b5a9cbc0f501155cdcd8e777063bfbd1945075fb8647ca5e264e8208"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"3d32c571d8fc190022c5afb8d68cc6ca6aa628c9ec9081f703e3abc0376349e92db0a198b5a9cbc0f501155cdcd8e777063bfbd1945075fb8647ca5e264e8208"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/4.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/4.targets.json
deleted file mode 100644
index 2cf2e47..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/4.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1}},"version":4},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"596cbbee353cb1d9cab0c46d81a013dfdc0207979d872e945f36891c11d74611dff6fa745951d636264bd7fd004c3d03534a37a8d76d27e37562124e23bf6d05"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"596cbbee353cb1d9cab0c46d81a013dfdc0207979d872e945f36891c11d74611dff6fa745951d636264bd7fd004c3d03534a37a8d76d27e37562124e23bf6d05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/529cca3c67703b94db2634619ed4d6844ffa4abef298ab4519263adde628523bd90b4f979972b44d798d8852ce986b8b9a9eeb744a7f3ad2ff834e6413760afc.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/529cca3c67703b94db2634619ed4d6844ffa4abef298ab4519263adde628523bd90b4f979972b44d798d8852ce986b8b9a9eeb744a7f3ad2ff834e6413760afc.targets.json
deleted file mode 100644
index 2cf2e47..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/529cca3c67703b94db2634619ed4d6844ffa4abef298ab4519263adde628523bd90b4f979972b44d798d8852ce986b8b9a9eeb744a7f3ad2ff834e6413760afc.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1}},"version":4},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"596cbbee353cb1d9cab0c46d81a013dfdc0207979d872e945f36891c11d74611dff6fa745951d636264bd7fd004c3d03534a37a8d76d27e37562124e23bf6d05"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"596cbbee353cb1d9cab0c46d81a013dfdc0207979d872e945f36891c11d74611dff6fa745951d636264bd7fd004c3d03534a37a8d76d27e37562124e23bf6d05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/5870f50685abc42fa6fd4d215f177e5da7743fb1a5df85e3e7d8333f414aaf911ae97b9fbd61b33331e392affd57fb4c12f997d07530e928e5806f28853a461b.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/5870f50685abc42fa6fd4d215f177e5da7743fb1a5df85e3e7d8333f414aaf911ae97b9fbd61b33331e392affd57fb4c12f997d07530e928e5806f28853a461b.snapshot.json
deleted file mode 100644
index ba42c25..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/5870f50685abc42fa6fd4d215f177e5da7743fb1a5df85e3e7d8333f414aaf911ae97b9fbd61b33331e392affd57fb4c12f997d07530e928e5806f28853a461b.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df"},"length":757,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"a265d68caa6fbaee5bbca20a1aaafbd889a27b12a5de8c30e89da88d2cd40b1d2cf04bfdf4d00efce59c498a353ba62923736c460f7b71697ec0db0198c1e10d"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"a265d68caa6fbaee5bbca20a1aaafbd889a27b12a5de8c30e89da88d2cd40b1d2cf04bfdf4d00efce59c498a353ba62923736c460f7b71697ec0db0198c1e10d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/6cca8a2a26445076e2f3089dbd7845623f5b070122599ac3ca9bf83a211b599c45f2c0812b7be0a7f6bf26d61f025f160f1d8cb7453cf111a5684bed5a94dab7.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/6cca8a2a26445076e2f3089dbd7845623f5b070122599ac3ca9bf83a211b599c45f2c0812b7be0a7f6bf26d61f025f160f1d8cb7453cf111a5684bed5a94dab7.root.json
deleted file mode 100644
index 6a8b3c9..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/6cca8a2a26445076e2f3089dbd7845623f5b070122599ac3ca9bf83a211b599c45f2c0812b7be0a7f6bf26d61f025f160f1d8cb7453cf111a5684bed5a94dab7.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759","086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"285a62cfaa856f60331b9c5a0c531ca75353da585affd2b178ee9f7810e9f4dc03cac9163b50d56bf74e185afd14c39a62c6e0fc8ef4c97c7a5017b405d5cb0d"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"285a62cfaa856f60331b9c5a0c531ca75353da585affd2b178ee9f7810e9f4dc03cac9163b50d56bf74e185afd14c39a62c6e0fc8ef4c97c7a5017b405d5cb0d"},{"keyid":"8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759","method":"ed25519","sig":"865504a1a336b34f0463b5f2571bd96ee6804beac7241927f50828eaee20ae9de0d4b4591a646e27adcfe2712042a90f74622b353413b7381ffa55cf8357c200"},{"keyid":"086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7","method":"ed25519","sig":"865504a1a336b34f0463b5f2571bd96ee6804beac7241927f50828eaee20ae9de0d4b4591a646e27adcfe2712042a90f74622b353413b7381ffa55cf8357c200"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68.targets.json
deleted file mode 100644
index da25f77..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"fc7f38192db2f74e2408f5c9c018d06fe01c65db92303a4f86090f654ba63142e088b0c888b84493d78dc0cc53c160436c08136961bc0a1621f840852566c706"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"fc7f38192db2f74e2408f5c9c018d06fe01c65db92303a4f86090f654ba63142e088b0c888b84493d78dc0cc53c160436c08136961bc0a1621f840852566c706"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/6eb5dce516520d9f9331679ea70bb38f4e9f41c6b6db5579df6954a48bed75f6435779cc8045e5f8e57c7ee7cdd077da5c4fa660b13b1fa31785e71626e4408d.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/6eb5dce516520d9f9331679ea70bb38f4e9f41c6b6db5579df6954a48bed75f6435779cc8045e5f8e57c7ee7cdd077da5c4fa660b13b1fa31785e71626e4408d.snapshot.json
deleted file mode 100644
index 081ff93..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/6eb5dce516520d9f9331679ea70bb38f4e9f41c6b6db5579df6954a48bed75f6435779cc8045e5f8e57c7ee7cdd077da5c4fa660b13b1fa31785e71626e4408d.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68"},"length":925,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"05717c284b87c529c48b8a72ae6b9b733ac482193e5484aee21e7e96fd420a26caecbc6bf11a7993a6d3265b504340f1b78efc7f806f4f5d5c5014c5835e4203"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"05717c284b87c529c48b8a72ae6b9b733ac482193e5484aee21e7e96fd420a26caecbc6bf11a7993a6d3265b504340f1b78efc7f806f4f5d5c5014c5835e4203"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/7ad15e8b1d342260bb7426eb390f50308a349ecc7cd2ba265ba6428d84eb9f4e04ebe41698e91efc0981075904092b4ec14622309876788c1d358ea3dcc269d5.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/7ad15e8b1d342260bb7426eb390f50308a349ecc7cd2ba265ba6428d84eb9f4e04ebe41698e91efc0981075904092b4ec14622309876788c1d358ea3dcc269d5.snapshot.json
deleted file mode 100644
index fd7fd01..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/7ad15e8b1d342260bb7426eb390f50308a349ecc7cd2ba265ba6428d84eb9f4e04ebe41698e91efc0981075904092b4ec14622309876788c1d358ea3dcc269d5.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"6cca8a2a26445076e2f3089dbd7845623f5b070122599ac3ca9bf83a211b599c45f2c0812b7be0a7f6bf26d61f025f160f1d8cb7453cf111a5684bed5a94dab7"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"529cca3c67703b94db2634619ed4d6844ffa4abef298ab4519263adde628523bd90b4f979972b44d798d8852ce986b8b9a9eeb744a7f3ad2ff834e6413760afc"},"length":1261,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"3d32c571d8fc190022c5afb8d68cc6ca6aa628c9ec9081f703e3abc0376349e92db0a198b5a9cbc0f501155cdcd8e777063bfbd1945075fb8647ca5e264e8208"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"3d32c571d8fc190022c5afb8d68cc6ca6aa628c9ec9081f703e3abc0376349e92db0a198b5a9cbc0f501155cdcd8e777063bfbd1945075fb8647ca5e264e8208"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/89f006bd229b975982f6527ec6b52b5f4f6fe9d7dda8809d87b1b7f7cf134faef3806513675c9e004638cbc6a8d1e94d00fe86cc83f75c038c03028b129e967d.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/89f006bd229b975982f6527ec6b52b5f4f6fe9d7dda8809d87b1b7f7cf134faef3806513675c9e004638cbc6a8d1e94d00fe86cc83f75c038c03028b129e967d.snapshot.json
deleted file mode 100644
index 2601186..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/89f006bd229b975982f6527ec6b52b5f4f6fe9d7dda8809d87b1b7f7cf134faef3806513675c9e004638cbc6a8d1e94d00fe86cc83f75c038c03028b129e967d.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"eda055b819c624817f6a87f5e5b545044c93200fc4f3e06f51b417e7b7da94eb61dd94d3aae2fbd7461d12430222b795f3758ce7eb135197a0a554b21c621350"},"length":1093,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"c6965758b1027ba26732acaa087e66d8461ec59af8a0b8403eb44643be55208d852c3e60a0ae2d93c1941e9a2544f6e12be99970f16128ca19eb078b1e18d50f"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"c6965758b1027ba26732acaa087e66d8461ec59af8a0b8403eb44643be55208d852c3e60a0ae2d93c1941e9a2544f6e12be99970f16128ca19eb078b1e18d50f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c.root.json
deleted file mode 100644
index 20d1800..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"bb68cb8d5b2c477ecdf5fedbec57f948d94f728b30d74501ff2caebb5bba0368ce1b63b56cd7e26c2f8b32f3768432b7c316ff595e09873962fe986f39ddea0d"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"bb68cb8d5b2c477ecdf5fedbec57f948d94f728b30d74501ff2caebb5bba0368ce1b63b56cd7e26c2f8b32f3768432b7c316ff595e09873962fe986f39ddea0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/eda055b819c624817f6a87f5e5b545044c93200fc4f3e06f51b417e7b7da94eb61dd94d3aae2fbd7461d12430222b795f3758ce7eb135197a0a554b21c621350.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/eda055b819c624817f6a87f5e5b545044c93200fc4f3e06f51b417e7b7da94eb61dd94d3aae2fbd7461d12430222b795f3758ce7eb135197a0a554b21c621350.targets.json
deleted file mode 100644
index eb3ff57..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/eda055b819c624817f6a87f5e5b545044c93200fc4f3e06f51b417e7b7da94eb61dd94d3aae2fbd7461d12430222b795f3758ce7eb135197a0a554b21c621350.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"df34db3f94a46c54aa8a81598c5090720e72d2d92262ed3aa8ed732791f66082508c8f92c99aaff9853f9e223e70c0aed65bb5c8fb3060b04e0380fe93a2dc09"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"df34db3f94a46c54aa8a81598c5090720e72d2d92262ed3aa8ed732791f66082508c8f92c99aaff9853f9e223e70c0aed65bb5c8fb3060b04e0380fe93a2dc09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/root.json
index 6a8b3c9..58456f8 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/root.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/root.json
@@ -1 +1,143 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759","086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"285a62cfaa856f60331b9c5a0c531ca75353da585affd2b178ee9f7810e9f4dc03cac9163b50d56bf74e185afd14c39a62c6e0fc8ef4c97c7a5017b405d5cb0d"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"285a62cfaa856f60331b9c5a0c531ca75353da585affd2b178ee9f7810e9f4dc03cac9163b50d56bf74e185afd14c39a62c6e0fc8ef4c97c7a5017b405d5cb0d"},{"keyid":"8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759","method":"ed25519","sig":"865504a1a336b34f0463b5f2571bd96ee6804beac7241927f50828eaee20ae9de0d4b4591a646e27adcfe2712042a90f74622b353413b7381ffa55cf8357c200"},{"keyid":"086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7","method":"ed25519","sig":"865504a1a336b34f0463b5f2571bd96ee6804beac7241927f50828eaee20ae9de0d4b4591a646e27adcfe2712042a90f74622b353413b7381ffa55cf8357c200"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "root",
+		"consistent_snapshot": false,
+		"expires": "2100-01-01T00:00:00Z",
+		"keys": {
+			"4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
+				},
+				"scheme": "ed25519"
+			},
+			"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			},
+			"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
+				},
+				"scheme": "ed25519"
+			},
+			"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			}
+		},
+		"roles": {
+			"root": {
+				"keyids": [
+					"4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d",
+					"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4"
+				],
+				"threshold": 1
+			},
+			"snapshot": {
+				"keyids": [
+					"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+					"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d"
+				],
+				"threshold": 1
+			},
+			"targets": {
+				"keyids": [
+					"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+					"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556"
+				],
+				"threshold": 1
+			},
+			"timestamp": {
+				"keyids": [
+					"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0",
+					"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d"
+				],
+				"threshold": 1
+			}
+		},
+		"spec_version": "1.0",
+		"version": 3
+	},
+	"signatures": [
+		{
+			"keyid": "160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7",
+			"method": "ed25519",
+			"sig": "44a3b5e8b58d23f771ff02f656525937a849b45d5ae25a3d304319144b163212ed975973cf8a5bad9c9c1311bba130827400b96c9af03fb41975b71e44fbf10a"
+		},
+		{
+			"keyid": "f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953",
+			"method": "ed25519",
+			"sig": "44a3b5e8b58d23f771ff02f656525937a849b45d5ae25a3d304319144b163212ed975973cf8a5bad9c9c1311bba130827400b96c9af03fb41975b71e44fbf10a"
+		},
+		{
+			"keyid": "4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d",
+			"method": "ed25519",
+			"sig": "1ff86aed9afe83347e6de215cdf2248e2b3fff450b6f183cda729755d5a99fa8089b8804f6e97da1000f498497e748122c52ee1c70c17f96d9c0aece88115e02"
+		},
+		{
+			"keyid": "a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4",
+			"method": "ed25519",
+			"sig": "1ff86aed9afe83347e6de215cdf2248e2b3fff450b6f183cda729755d5a99fa8089b8804f6e97da1000f498497e748122c52ee1c70c17f96d9c0aece88115e02"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/snapshot.json
index fd7fd01..4a4fc20 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/snapshot.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/snapshot.json
@@ -1 +1,36 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"6cca8a2a26445076e2f3089dbd7845623f5b070122599ac3ca9bf83a211b599c45f2c0812b7be0a7f6bf26d61f025f160f1d8cb7453cf111a5684bed5a94dab7"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"529cca3c67703b94db2634619ed4d6844ffa4abef298ab4519263adde628523bd90b4f979972b44d798d8852ce986b8b9a9eeb744a7f3ad2ff834e6413760afc"},"length":1261,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"3d32c571d8fc190022c5afb8d68cc6ca6aa628c9ec9081f703e3abc0376349e92db0a198b5a9cbc0f501155cdcd8e777063bfbd1945075fb8647ca5e264e8208"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"3d32c571d8fc190022c5afb8d68cc6ca6aa628c9ec9081f703e3abc0376349e92db0a198b5a9cbc0f501155cdcd8e777063bfbd1945075fb8647ca5e264e8208"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "snapshot",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"root.json": {
+				"hashes": {
+					"sha512": "44839d390249a59c54e9cb41e78fb896275a27cf956f012a954f56f72068719cb87923e24a81a4a59e1961115784057d7b9b4b4c5c1248d096567f0403e134f2"
+				},
+				"length": 4340,
+				"version": 3
+			},
+			"targets.json": {
+				"hashes": {
+					"sha512": "0958a41c4b0b232addbc12a9352b9c745c54d5aafe626bc353b9ce46979282ba020175310dbd6fcc591d38751cd2980e2490a464a37e7d265c0498590e589cc0"
+				},
+				"length": 1469,
+				"version": 4
+			}
+		},
+		"spec_version": "1.0",
+		"version": 4
+	},
+	"signatures": [
+		{
+			"keyid": "d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+			"method": "ed25519",
+			"sig": "5bf4bd5323b526a197957ed96626d26649a14317458681535befba5fe8fa8ce833cbfffdaa2c3c2c72c25cbf1e6b3249a1fbaf0cd660796de5f3321c0eced609"
+		},
+		{
+			"keyid": "7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d",
+			"method": "ed25519",
+			"sig": "5bf4bd5323b526a197957ed96626d26649a14317458681535befba5fe8fa8ce833cbfffdaa2c3c2c72c25cbf1e6b3249a1fbaf0cd660796de5f3321c0eced609"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets.json
index 2cf2e47..af26a75 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets.json
@@ -1 +1,46 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1}},"version":4},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"596cbbee353cb1d9cab0c46d81a013dfdc0207979d872e945f36891c11d74611dff6fa745951d636264bd7fd004c3d03534a37a8d76d27e37562124e23bf6d05"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"596cbbee353cb1d9cab0c46d81a013dfdc0207979d872e945f36891c11d74611dff6fa745951d636264bd7fd004c3d03534a37a8d76d27e37562124e23bf6d05"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "targets",
+		"expires": "2100-01-01T00:00:00Z",
+		"spec_version": "1.0",
+		"targets": {
+			"0": {
+				"hashes": {
+					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
+				},
+				"length": 1
+			},
+			"1": {
+				"hashes": {
+					"sha512": "4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"
+				},
+				"length": 1
+			},
+			"2": {
+				"hashes": {
+					"sha512": "40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"
+				},
+				"length": 1
+			},
+			"3": {
+				"hashes": {
+					"sha512": "3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"
+				},
+				"length": 1
+			}
+		},
+		"version": 4
+	},
+	"signatures": [
+		{
+			"keyid": "b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+			"method": "ed25519",
+			"sig": "40c01f1bccc4f72e062bf07404bca3305974e75ba4e0f9e9ec49db97fcc4801ab21d87a7a52680e7c0aaea0a8ab42459f165f8b1d1db3f6ef1360d7227c37a08"
+		},
+		{
+			"keyid": "d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556",
+			"method": "ed25519",
+			"sig": "40c01f1bccc4f72e062bf07404bca3305974e75ba4e0f9e9ec49db97fcc4801ab21d87a7a52680e7c0aaea0a8ab42459f165f8b1d1db3f6ef1360d7227c37a08"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/0
new file mode 120000
index 0000000..2e6dba0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/0
@@ -0,0 +1 @@
+../../../2/repository/targets/0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/0.0
deleted file mode 100644
index c227083..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/0.0
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/0.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/0.1
deleted file mode 100644
index 56a6051..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/0.1
+++ /dev/null
@@ -1 +0,0 @@
-1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/0.2 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/0.2
deleted file mode 100644
index d8263ee..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/0.2
+++ /dev/null
@@ -1 +0,0 @@
-2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/1
new file mode 120000
index 0000000..14fee5d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/1
@@ -0,0 +1 @@
+../../../2/repository/targets/1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/2 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/2
new file mode 120000
index 0000000..dcd19e0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/2
@@ -0,0 +1 @@
+../../../2/repository/targets/2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/0.3 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/3
similarity index 100%
rename from client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/0.3
rename to client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/3
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
deleted file mode 100644
index c227083..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
deleted file mode 100644
index e440e5c..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
+++ /dev/null
@@ -1 +0,0 @@
-3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
deleted file mode 100644
index d8263ee..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
+++ /dev/null
@@ -1 +0,0 @@
-2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
deleted file mode 100644
index 56a6051..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
+++ /dev/null
@@ -1 +0,0 @@
-1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/timestamp.json
index f8aa681..e8199ee 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/timestamp.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/timestamp.json
@@ -1 +1,29 @@
-{"signed":{"_type":"timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"7ad15e8b1d342260bb7426eb390f50308a349ecc7cd2ba265ba6428d84eb9f4e04ebe41698e91efc0981075904092b4ec14622309876788c1d358ea3dcc269d5"},"length":972,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","method":"ed25519","sig":"db0a8a4a0c6ef77b9cd485738958b63cc5b9000c06924c7e84bc0386ee450b7870b7bb719e6e67c3594ee2edf2a19408bf9454c5ec7754306f9eb9e334ccdc00"},{"keyid":"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71","method":"ed25519","sig":"db0a8a4a0c6ef77b9cd485738958b63cc5b9000c06924c7e84bc0386ee450b7870b7bb719e6e67c3594ee2edf2a19408bf9454c5ec7754306f9eb9e334ccdc00"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "timestamp",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"snapshot.json": {
+				"hashes": {
+					"sha512": "731355e07542772d2ce110adab101eace0c6c95fe609323a1c0482a15447035eefaeaa37f54d5eae07fb9d979bd3aa31d0e241113fdb18009547001ccb1a9605"
+				},
+				"length": 1126,
+				"version": 4
+			}
+		},
+		"spec_version": "1.0",
+		"version": 4
+	},
+	"signatures": [
+		{
+			"keyid": "79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0",
+			"method": "ed25519",
+			"sig": "4bf0142cd06588610f50245b0ed49c095c31bb3e7929039fee9ee4996ce2edd6ee5b316f1e1efa3fa2c408af81dbfa4d96dae3c007f989237f324ef9c8bba005"
+		},
+		{
+			"keyid": "e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d",
+			"method": "ed25519",
+			"sig": "4bf0142cd06588610f50245b0ed49c095c31bb3e7929039fee9ee4996ce2edd6ee5b316f1e1efa3fa2c408af81dbfa4d96dae3c007f989237f324ef9c8bba005"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/keys/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/keys/root.json
index c950ae1..1abfd12 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/keys/root.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/keys/root.json
@@ -1 +1 @@
-{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5","private":"bf5543ea50e330a71c0166f10fa5dcdd6359ca50f585c36bbf5060ea072f60a269c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"}}]}
\ No newline at end of file
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha256"],"keyval":{"public":"153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54","private":"e53595d99a85a33d7c228d28b25c856148c65be36558d0d61faa7e018a51db5c153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/keys/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/keys/snapshot.json
index 714769d..85d0f2d 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/keys/snapshot.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/keys/snapshot.json
@@ -5,22 +5,22 @@
 			"keytype": "ed25519",
 			"scheme": "ed25519",
 			"keyid_hash_algorithms": [
-				"sha512"
+				"sha256"
 			],
 			"keyval": {
-				"public": "88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33",
-				"private": "7ebf26fc9e7613ed4d2d6abd52e8186e3435955b66d61d01280047c2416055fb88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"
+				"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94",
+				"private": "28de1763cc4cc78702167bd6cf862fc3977afc2404c5eebbdfb948bab55f14f0d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
 			}
 		},
 		{
 			"keytype": "ed25519",
 			"scheme": "ed25519",
 			"keyid_hash_algorithms": [
-				"sha512"
+				"sha256"
 			],
 			"keyval": {
-				"public": "33bad914fd588c64e37bbda1497679637ceb62c2b404d257e7a238a2c8080f59",
-				"private": "f2ab2962c2407116cdb0f9e4d1fc28b081ff3d97e7511052093650bc3d3fcdac33bad914fd588c64e37bbda1497679637ceb62c2b404d257e7a238a2c8080f59"
+				"public": "722dbc861813bb5b568524d62083e875c08e66fed1694d9161d253fa163dd86f",
+				"private": "fb85703e9c1c77cfe87c18eda24d5637d997503fef4107f6c04777b0fbec2b8c722dbc861813bb5b568524d62083e875c08e66fed1694d9161d253fa163dd86f"
 			}
 		}
 	]
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/keys/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/keys/targets.json
deleted file mode 100644
index dca8d29..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/keys/targets.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-	"encrypted": false,
-	"data": [
-		{
-			"keytype": "ed25519",
-			"scheme": "ed25519",
-			"keyid_hash_algorithms": [
-				"sha512"
-			],
-			"keyval": {
-				"public": "018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3",
-				"private": "034a45c47442a1eda5e96312720beb45dd19a47c9fc2481e0c694c568743640d018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"
-			}
-		}
-	]
-}
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/keys/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/keys/targets.json
new file mode 120000
index 0000000..36ae0a9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/keys/targets.json
@@ -0,0 +1 @@
+../../3/keys/targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/keys/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/keys/timestamp.json
deleted file mode 100644
index 62f04c4..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/keys/timestamp.json
+++ /dev/null
@@ -1 +0,0 @@
-{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f","private":"cb1c93ffd3ab645ea65aad1a100d3491976beb921e04df9de680965a4a0f1861f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/keys/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/keys/timestamp.json
new file mode 120000
index 0000000..d8f03ad
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/keys/timestamp.json
@@ -0,0 +1 @@
+../../3/keys/timestamp.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json
deleted file mode 100644
index 214e321..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"5ec8d1ac302695f86d975e8aa3b5533df457d0c66f544658056c536de26718bf":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"},"scheme":"ed25519"},"664e88d7e9733a882a5f49c311b38c0588545bc21bf578ac3b1aad661c9e4192":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["664e88d7e9733a882a5f49c311b38c0588545bc21bf578ac3b1aad661c9e4192","5ec8d1ac302695f86d975e8aa3b5533df457d0c66f544658056c536de26718bf"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"2e62498ed4d88a1fa086a630f8b97e7f1c93f44d6a5f1793f7aa784663eccc9b2e3cbb5bdb3ece2f5d85287a14bc28be6e905cd5e196c2f1ccacc4fff0225b05"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"2e62498ed4d88a1fa086a630f8b97e7f1c93f44d6a5f1793f7aa784663eccc9b2e3cbb5bdb3ece2f5d85287a14bc28be6e905cd5e196c2f1ccacc4fff0225b05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/1.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/1.root.json
deleted file mode 100644
index 214e321..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/1.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"5ec8d1ac302695f86d975e8aa3b5533df457d0c66f544658056c536de26718bf":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"},"scheme":"ed25519"},"664e88d7e9733a882a5f49c311b38c0588545bc21bf578ac3b1aad661c9e4192":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["664e88d7e9733a882a5f49c311b38c0588545bc21bf578ac3b1aad661c9e4192","5ec8d1ac302695f86d975e8aa3b5533df457d0c66f544658056c536de26718bf"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"2e62498ed4d88a1fa086a630f8b97e7f1c93f44d6a5f1793f7aa784663eccc9b2e3cbb5bdb3ece2f5d85287a14bc28be6e905cd5e196c2f1ccacc4fff0225b05"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"2e62498ed4d88a1fa086a630f8b97e7f1c93f44d6a5f1793f7aa784663eccc9b2e3cbb5bdb3ece2f5d85287a14bc28be6e905cd5e196c2f1ccacc4fff0225b05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/1.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/1.root.json
new file mode 120000
index 0000000..741d218
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/1.root.json
@@ -0,0 +1 @@
+../../3/repository/1.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/1.snapshot.json
deleted file mode 100644
index ba42c25..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/1.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df"},"length":757,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"a265d68caa6fbaee5bbca20a1aaafbd889a27b12a5de8c30e89da88d2cd40b1d2cf04bfdf4d00efce59c498a353ba62923736c460f7b71697ec0db0198c1e10d"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"a265d68caa6fbaee5bbca20a1aaafbd889a27b12a5de8c30e89da88d2cd40b1d2cf04bfdf4d00efce59c498a353ba62923736c460f7b71697ec0db0198c1e10d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/1.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/1.targets.json
deleted file mode 100644
index 4e9da28..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/1.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"c2afa7b113ceae0a55c8986113ed3173693ace397a3c24e7d3d7d217956a2f40bb7a642ed9b79f75c2e27d5ae5a5e8a76c59ff884395cd4fa41a857acf514009"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"c2afa7b113ceae0a55c8986113ed3173693ace397a3c24e7d3d7d217956a2f40bb7a642ed9b79f75c2e27d5ae5a5e8a76c59ff884395cd4fa41a857acf514009"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/127f9850bc4cfd284b49dc9bac443cd936785790f7c553eac1012af2e76839cda7abced76b2e734bd762cc9081ab0cb666569d8a099dc82d00620990e495bed0.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/127f9850bc4cfd284b49dc9bac443cd936785790f7c553eac1012af2e76839cda7abced76b2e734bd762cc9081ab0cb666569d8a099dc82d00620990e495bed0.targets.json
deleted file mode 100644
index 705c9c9..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/127f9850bc4cfd284b49dc9bac443cd936785790f7c553eac1012af2e76839cda7abced76b2e734bd762cc9081ab0cb666569d8a099dc82d00620990e495bed0.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1},"4":{"hashes":{"sha512":"a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568"},"length":1}},"version":5},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"bb49d0e7937bc249de0198738cc7a81140ff0cd19497e31e33298867ae6a49bd6fde987b4bc11dddfef2f564936abf58b9e2b6395d3d679c8e97f15cd3c57808"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"bb49d0e7937bc249de0198738cc7a81140ff0cd19497e31e33298867ae6a49bd6fde987b4bc11dddfef2f564936abf58b9e2b6395d3d679c8e97f15cd3c57808"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/2.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/2.root.json
deleted file mode 100644
index 20d1800..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/2.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"bb68cb8d5b2c477ecdf5fedbec57f948d94f728b30d74501ff2caebb5bba0368ce1b63b56cd7e26c2f8b32f3768432b7c316ff595e09873962fe986f39ddea0d"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"bb68cb8d5b2c477ecdf5fedbec57f948d94f728b30d74501ff2caebb5bba0368ce1b63b56cd7e26c2f8b32f3768432b7c316ff595e09873962fe986f39ddea0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/2.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/2.root.json
new file mode 120000
index 0000000..fb9b350
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/2.root.json
@@ -0,0 +1 @@
+../../3/repository/2.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/2.snapshot.json
deleted file mode 100644
index 081ff93..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/2.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68"},"length":925,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"05717c284b87c529c48b8a72ae6b9b733ac482193e5484aee21e7e96fd420a26caecbc6bf11a7993a6d3265b504340f1b78efc7f806f4f5d5c5014c5835e4203"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"05717c284b87c529c48b8a72ae6b9b733ac482193e5484aee21e7e96fd420a26caecbc6bf11a7993a6d3265b504340f1b78efc7f806f4f5d5c5014c5835e4203"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/2.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/2.targets.json
deleted file mode 100644
index da25f77..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/2.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"fc7f38192db2f74e2408f5c9c018d06fe01c65db92303a4f86090f654ba63142e088b0c888b84493d78dc0cc53c160436c08136961bc0a1621f840852566c706"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"fc7f38192db2f74e2408f5c9c018d06fe01c65db92303a4f86090f654ba63142e088b0c888b84493d78dc0cc53c160436c08136961bc0a1621f840852566c706"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df.targets.json
deleted file mode 100644
index 4e9da28..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"c2afa7b113ceae0a55c8986113ed3173693ace397a3c24e7d3d7d217956a2f40bb7a642ed9b79f75c2e27d5ae5a5e8a76c59ff884395cd4fa41a857acf514009"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"c2afa7b113ceae0a55c8986113ed3173693ace397a3c24e7d3d7d217956a2f40bb7a642ed9b79f75c2e27d5ae5a5e8a76c59ff884395cd4fa41a857acf514009"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/3.root.json
deleted file mode 100644
index 6a8b3c9..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/3.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759","086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"285a62cfaa856f60331b9c5a0c531ca75353da585affd2b178ee9f7810e9f4dc03cac9163b50d56bf74e185afd14c39a62c6e0fc8ef4c97c7a5017b405d5cb0d"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"285a62cfaa856f60331b9c5a0c531ca75353da585affd2b178ee9f7810e9f4dc03cac9163b50d56bf74e185afd14c39a62c6e0fc8ef4c97c7a5017b405d5cb0d"},{"keyid":"8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759","method":"ed25519","sig":"865504a1a336b34f0463b5f2571bd96ee6804beac7241927f50828eaee20ae9de0d4b4591a646e27adcfe2712042a90f74622b353413b7381ffa55cf8357c200"},{"keyid":"086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7","method":"ed25519","sig":"865504a1a336b34f0463b5f2571bd96ee6804beac7241927f50828eaee20ae9de0d4b4591a646e27adcfe2712042a90f74622b353413b7381ffa55cf8357c200"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/3.root.json
new file mode 120000
index 0000000..65e6c5b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/3.root.json
@@ -0,0 +1 @@
+../../3/repository/3.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/3.snapshot.json
deleted file mode 100644
index 2601186..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/3.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"eda055b819c624817f6a87f5e5b545044c93200fc4f3e06f51b417e7b7da94eb61dd94d3aae2fbd7461d12430222b795f3758ce7eb135197a0a554b21c621350"},"length":1093,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"c6965758b1027ba26732acaa087e66d8461ec59af8a0b8403eb44643be55208d852c3e60a0ae2d93c1941e9a2544f6e12be99970f16128ca19eb078b1e18d50f"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"c6965758b1027ba26732acaa087e66d8461ec59af8a0b8403eb44643be55208d852c3e60a0ae2d93c1941e9a2544f6e12be99970f16128ca19eb078b1e18d50f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/3.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/3.targets.json
deleted file mode 100644
index eb3ff57..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/3.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"df34db3f94a46c54aa8a81598c5090720e72d2d92262ed3aa8ed732791f66082508c8f92c99aaff9853f9e223e70c0aed65bb5c8fb3060b04e0380fe93a2dc09"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"df34db3f94a46c54aa8a81598c5090720e72d2d92262ed3aa8ed732791f66082508c8f92c99aaff9853f9e223e70c0aed65bb5c8fb3060b04e0380fe93a2dc09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/4.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/4.root.json
index b31f0ad..4b11ad3 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/4.root.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/4.root.json
@@ -1 +1,133 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759","086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71"],"threshold":1}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759","method":"ed25519","sig":"42e6e101795a25d600635d21e05086b136a08ca561e9cfc9eeb943d806e86c9e1c9d91865d6523cf79e32d9ab06f400dbd3a2803b81665e78f7289c6b6205300"},{"keyid":"086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7","method":"ed25519","sig":"42e6e101795a25d600635d21e05086b136a08ca561e9cfc9eeb943d806e86c9e1c9d91865d6523cf79e32d9ab06f400dbd3a2803b81665e78f7289c6b6205300"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "root",
+		"consistent_snapshot": false,
+		"expires": "2100-01-01T00:00:00Z",
+		"keys": {
+			"4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
+				},
+				"scheme": "ed25519"
+			},
+			"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			},
+			"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
+				},
+				"scheme": "ed25519"
+			},
+			"ad7c98dfb3b99024f8b49e33f3d92e66537f0abab78a84f1e4b667dfbf52bf60": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "722dbc861813bb5b568524d62083e875c08e66fed1694d9161d253fa163dd86f"
+				},
+				"scheme": "ed25519"
+			},
+			"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"bed15bf57ba4deb4e09667099d45d119504420983d16fd0927ebfb0c25184e7f": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "722dbc861813bb5b568524d62083e875c08e66fed1694d9161d253fa163dd86f"
+				},
+				"scheme": "ed25519"
+			},
+			"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			}
+		},
+		"roles": {
+			"root": {
+				"keyids": [
+					"4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d",
+					"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4"
+				],
+				"threshold": 1
+			},
+			"snapshot": {
+				"keyids": [
+					"bed15bf57ba4deb4e09667099d45d119504420983d16fd0927ebfb0c25184e7f",
+					"ad7c98dfb3b99024f8b49e33f3d92e66537f0abab78a84f1e4b667dfbf52bf60"
+				],
+				"threshold": 1
+			},
+			"targets": {
+				"keyids": [
+					"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+					"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556"
+				],
+				"threshold": 1
+			},
+			"timestamp": {
+				"keyids": [
+					"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0",
+					"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d"
+				],
+				"threshold": 1
+			}
+		},
+		"spec_version": "1.0",
+		"version": 4
+	},
+	"signatures": [
+		{
+			"keyid": "4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d",
+			"method": "ed25519",
+			"sig": "1c032c2997beb43da5d55b27af54cf12923dbb29cba703e69b03c039a698df1a261eef46800de343590f55134d83418f32aff3876f13b7ba3832e7c8e369a506"
+		},
+		{
+			"keyid": "a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4",
+			"method": "ed25519",
+			"sig": "1c032c2997beb43da5d55b27af54cf12923dbb29cba703e69b03c039a698df1a261eef46800de343590f55134d83418f32aff3876f13b7ba3832e7c8e369a506"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/4.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/4.snapshot.json
deleted file mode 100644
index fd7fd01..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/4.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"6cca8a2a26445076e2f3089dbd7845623f5b070122599ac3ca9bf83a211b599c45f2c0812b7be0a7f6bf26d61f025f160f1d8cb7453cf111a5684bed5a94dab7"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"529cca3c67703b94db2634619ed4d6844ffa4abef298ab4519263adde628523bd90b4f979972b44d798d8852ce986b8b9a9eeb744a7f3ad2ff834e6413760afc"},"length":1261,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"3d32c571d8fc190022c5afb8d68cc6ca6aa628c9ec9081f703e3abc0376349e92db0a198b5a9cbc0f501155cdcd8e777063bfbd1945075fb8647ca5e264e8208"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"3d32c571d8fc190022c5afb8d68cc6ca6aa628c9ec9081f703e3abc0376349e92db0a198b5a9cbc0f501155cdcd8e777063bfbd1945075fb8647ca5e264e8208"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/4.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/4.targets.json
deleted file mode 100644
index 2cf2e47..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/4.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1}},"version":4},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"596cbbee353cb1d9cab0c46d81a013dfdc0207979d872e945f36891c11d74611dff6fa745951d636264bd7fd004c3d03534a37a8d76d27e37562124e23bf6d05"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"596cbbee353cb1d9cab0c46d81a013dfdc0207979d872e945f36891c11d74611dff6fa745951d636264bd7fd004c3d03534a37a8d76d27e37562124e23bf6d05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/5.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/5.snapshot.json
deleted file mode 100644
index 9b59478..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/5.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"ad825a9c0dd87c31e43e0e780c11ce2d2083ed2b2d0f4bf519a7687d4d6921f48540e9e53e609a7a6fb28f2e0cf8f438db8a3be7959afd3d923a6bec7601b46b"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"127f9850bc4cfd284b49dc9bac443cd936785790f7c553eac1012af2e76839cda7abced76b2e734bd762cc9081ab0cb666569d8a099dc82d00620990e495bed0"},"length":1429,"version":5}},"spec_version":"1.0","version":5},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"1f00f137b5498649cc6849df275fb045fe3383191fc9844e1708a926ecba9711254b3c96f17e15980a73c711a6f7065d30a77a171fa1cdfc635acfa40e0b8109"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"1f00f137b5498649cc6849df275fb045fe3383191fc9844e1708a926ecba9711254b3c96f17e15980a73c711a6f7065d30a77a171fa1cdfc635acfa40e0b8109"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/5.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/5.targets.json
deleted file mode 100644
index 705c9c9..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/5.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1},"4":{"hashes":{"sha512":"a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568"},"length":1}},"version":5},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"bb49d0e7937bc249de0198738cc7a81140ff0cd19497e31e33298867ae6a49bd6fde987b4bc11dddfef2f564936abf58b9e2b6395d3d679c8e97f15cd3c57808"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"bb49d0e7937bc249de0198738cc7a81140ff0cd19497e31e33298867ae6a49bd6fde987b4bc11dddfef2f564936abf58b9e2b6395d3d679c8e97f15cd3c57808"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/529cca3c67703b94db2634619ed4d6844ffa4abef298ab4519263adde628523bd90b4f979972b44d798d8852ce986b8b9a9eeb744a7f3ad2ff834e6413760afc.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/529cca3c67703b94db2634619ed4d6844ffa4abef298ab4519263adde628523bd90b4f979972b44d798d8852ce986b8b9a9eeb744a7f3ad2ff834e6413760afc.targets.json
deleted file mode 100644
index 2cf2e47..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/529cca3c67703b94db2634619ed4d6844ffa4abef298ab4519263adde628523bd90b4f979972b44d798d8852ce986b8b9a9eeb744a7f3ad2ff834e6413760afc.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1}},"version":4},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"596cbbee353cb1d9cab0c46d81a013dfdc0207979d872e945f36891c11d74611dff6fa745951d636264bd7fd004c3d03534a37a8d76d27e37562124e23bf6d05"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"596cbbee353cb1d9cab0c46d81a013dfdc0207979d872e945f36891c11d74611dff6fa745951d636264bd7fd004c3d03534a37a8d76d27e37562124e23bf6d05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/5870f50685abc42fa6fd4d215f177e5da7743fb1a5df85e3e7d8333f414aaf911ae97b9fbd61b33331e392affd57fb4c12f997d07530e928e5806f28853a461b.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/5870f50685abc42fa6fd4d215f177e5da7743fb1a5df85e3e7d8333f414aaf911ae97b9fbd61b33331e392affd57fb4c12f997d07530e928e5806f28853a461b.snapshot.json
deleted file mode 100644
index ba42c25..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/5870f50685abc42fa6fd4d215f177e5da7743fb1a5df85e3e7d8333f414aaf911ae97b9fbd61b33331e392affd57fb4c12f997d07530e928e5806f28853a461b.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df"},"length":757,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"a265d68caa6fbaee5bbca20a1aaafbd889a27b12a5de8c30e89da88d2cd40b1d2cf04bfdf4d00efce59c498a353ba62923736c460f7b71697ec0db0198c1e10d"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"a265d68caa6fbaee5bbca20a1aaafbd889a27b12a5de8c30e89da88d2cd40b1d2cf04bfdf4d00efce59c498a353ba62923736c460f7b71697ec0db0198c1e10d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/6cca8a2a26445076e2f3089dbd7845623f5b070122599ac3ca9bf83a211b599c45f2c0812b7be0a7f6bf26d61f025f160f1d8cb7453cf111a5684bed5a94dab7.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/6cca8a2a26445076e2f3089dbd7845623f5b070122599ac3ca9bf83a211b599c45f2c0812b7be0a7f6bf26d61f025f160f1d8cb7453cf111a5684bed5a94dab7.root.json
deleted file mode 100644
index 6a8b3c9..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/6cca8a2a26445076e2f3089dbd7845623f5b070122599ac3ca9bf83a211b599c45f2c0812b7be0a7f6bf26d61f025f160f1d8cb7453cf111a5684bed5a94dab7.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759","086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"285a62cfaa856f60331b9c5a0c531ca75353da585affd2b178ee9f7810e9f4dc03cac9163b50d56bf74e185afd14c39a62c6e0fc8ef4c97c7a5017b405d5cb0d"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"285a62cfaa856f60331b9c5a0c531ca75353da585affd2b178ee9f7810e9f4dc03cac9163b50d56bf74e185afd14c39a62c6e0fc8ef4c97c7a5017b405d5cb0d"},{"keyid":"8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759","method":"ed25519","sig":"865504a1a336b34f0463b5f2571bd96ee6804beac7241927f50828eaee20ae9de0d4b4591a646e27adcfe2712042a90f74622b353413b7381ffa55cf8357c200"},{"keyid":"086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7","method":"ed25519","sig":"865504a1a336b34f0463b5f2571bd96ee6804beac7241927f50828eaee20ae9de0d4b4591a646e27adcfe2712042a90f74622b353413b7381ffa55cf8357c200"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68.targets.json
deleted file mode 100644
index da25f77..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"fc7f38192db2f74e2408f5c9c018d06fe01c65db92303a4f86090f654ba63142e088b0c888b84493d78dc0cc53c160436c08136961bc0a1621f840852566c706"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"fc7f38192db2f74e2408f5c9c018d06fe01c65db92303a4f86090f654ba63142e088b0c888b84493d78dc0cc53c160436c08136961bc0a1621f840852566c706"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/6eb5dce516520d9f9331679ea70bb38f4e9f41c6b6db5579df6954a48bed75f6435779cc8045e5f8e57c7ee7cdd077da5c4fa660b13b1fa31785e71626e4408d.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/6eb5dce516520d9f9331679ea70bb38f4e9f41c6b6db5579df6954a48bed75f6435779cc8045e5f8e57c7ee7cdd077da5c4fa660b13b1fa31785e71626e4408d.snapshot.json
deleted file mode 100644
index 081ff93..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/6eb5dce516520d9f9331679ea70bb38f4e9f41c6b6db5579df6954a48bed75f6435779cc8045e5f8e57c7ee7cdd077da5c4fa660b13b1fa31785e71626e4408d.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68"},"length":925,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"05717c284b87c529c48b8a72ae6b9b733ac482193e5484aee21e7e96fd420a26caecbc6bf11a7993a6d3265b504340f1b78efc7f806f4f5d5c5014c5835e4203"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"05717c284b87c529c48b8a72ae6b9b733ac482193e5484aee21e7e96fd420a26caecbc6bf11a7993a6d3265b504340f1b78efc7f806f4f5d5c5014c5835e4203"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/7ad15e8b1d342260bb7426eb390f50308a349ecc7cd2ba265ba6428d84eb9f4e04ebe41698e91efc0981075904092b4ec14622309876788c1d358ea3dcc269d5.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/7ad15e8b1d342260bb7426eb390f50308a349ecc7cd2ba265ba6428d84eb9f4e04ebe41698e91efc0981075904092b4ec14622309876788c1d358ea3dcc269d5.snapshot.json
deleted file mode 100644
index fd7fd01..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/7ad15e8b1d342260bb7426eb390f50308a349ecc7cd2ba265ba6428d84eb9f4e04ebe41698e91efc0981075904092b4ec14622309876788c1d358ea3dcc269d5.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"6cca8a2a26445076e2f3089dbd7845623f5b070122599ac3ca9bf83a211b599c45f2c0812b7be0a7f6bf26d61f025f160f1d8cb7453cf111a5684bed5a94dab7"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"529cca3c67703b94db2634619ed4d6844ffa4abef298ab4519263adde628523bd90b4f979972b44d798d8852ce986b8b9a9eeb744a7f3ad2ff834e6413760afc"},"length":1261,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"3d32c571d8fc190022c5afb8d68cc6ca6aa628c9ec9081f703e3abc0376349e92db0a198b5a9cbc0f501155cdcd8e777063bfbd1945075fb8647ca5e264e8208"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"3d32c571d8fc190022c5afb8d68cc6ca6aa628c9ec9081f703e3abc0376349e92db0a198b5a9cbc0f501155cdcd8e777063bfbd1945075fb8647ca5e264e8208"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/89f006bd229b975982f6527ec6b52b5f4f6fe9d7dda8809d87b1b7f7cf134faef3806513675c9e004638cbc6a8d1e94d00fe86cc83f75c038c03028b129e967d.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/89f006bd229b975982f6527ec6b52b5f4f6fe9d7dda8809d87b1b7f7cf134faef3806513675c9e004638cbc6a8d1e94d00fe86cc83f75c038c03028b129e967d.snapshot.json
deleted file mode 100644
index 2601186..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/89f006bd229b975982f6527ec6b52b5f4f6fe9d7dda8809d87b1b7f7cf134faef3806513675c9e004638cbc6a8d1e94d00fe86cc83f75c038c03028b129e967d.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"eda055b819c624817f6a87f5e5b545044c93200fc4f3e06f51b417e7b7da94eb61dd94d3aae2fbd7461d12430222b795f3758ce7eb135197a0a554b21c621350"},"length":1093,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"c6965758b1027ba26732acaa087e66d8461ec59af8a0b8403eb44643be55208d852c3e60a0ae2d93c1941e9a2544f6e12be99970f16128ca19eb078b1e18d50f"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"c6965758b1027ba26732acaa087e66d8461ec59af8a0b8403eb44643be55208d852c3e60a0ae2d93c1941e9a2544f6e12be99970f16128ca19eb078b1e18d50f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/ad825a9c0dd87c31e43e0e780c11ce2d2083ed2b2d0f4bf519a7687d4d6921f48540e9e53e609a7a6fb28f2e0cf8f438db8a3be7959afd3d923a6bec7601b46b.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/ad825a9c0dd87c31e43e0e780c11ce2d2083ed2b2d0f4bf519a7687d4d6921f48540e9e53e609a7a6fb28f2e0cf8f438db8a3be7959afd3d923a6bec7601b46b.root.json
deleted file mode 100644
index b31f0ad..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/ad825a9c0dd87c31e43e0e780c11ce2d2083ed2b2d0f4bf519a7687d4d6921f48540e9e53e609a7a6fb28f2e0cf8f438db8a3be7959afd3d923a6bec7601b46b.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759","086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71"],"threshold":1}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759","method":"ed25519","sig":"42e6e101795a25d600635d21e05086b136a08ca561e9cfc9eeb943d806e86c9e1c9d91865d6523cf79e32d9ab06f400dbd3a2803b81665e78f7289c6b6205300"},{"keyid":"086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7","method":"ed25519","sig":"42e6e101795a25d600635d21e05086b136a08ca561e9cfc9eeb943d806e86c9e1c9d91865d6523cf79e32d9ab06f400dbd3a2803b81665e78f7289c6b6205300"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/cf7757c4d3d4806ba695546adee0a48faf77a41a20684ee3fce9b097b3d7f841a7d2bc7bc05346b09631f8ac74824c09eb559bce2f2892d2928531d1f6926bb0.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/cf7757c4d3d4806ba695546adee0a48faf77a41a20684ee3fce9b097b3d7f841a7d2bc7bc05346b09631f8ac74824c09eb559bce2f2892d2928531d1f6926bb0.snapshot.json
deleted file mode 100644
index 9b59478..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/cf7757c4d3d4806ba695546adee0a48faf77a41a20684ee3fce9b097b3d7f841a7d2bc7bc05346b09631f8ac74824c09eb559bce2f2892d2928531d1f6926bb0.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"ad825a9c0dd87c31e43e0e780c11ce2d2083ed2b2d0f4bf519a7687d4d6921f48540e9e53e609a7a6fb28f2e0cf8f438db8a3be7959afd3d923a6bec7601b46b"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"127f9850bc4cfd284b49dc9bac443cd936785790f7c553eac1012af2e76839cda7abced76b2e734bd762cc9081ab0cb666569d8a099dc82d00620990e495bed0"},"length":1429,"version":5}},"spec_version":"1.0","version":5},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"1f00f137b5498649cc6849df275fb045fe3383191fc9844e1708a926ecba9711254b3c96f17e15980a73c711a6f7065d30a77a171fa1cdfc635acfa40e0b8109"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"1f00f137b5498649cc6849df275fb045fe3383191fc9844e1708a926ecba9711254b3c96f17e15980a73c711a6f7065d30a77a171fa1cdfc635acfa40e0b8109"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c.root.json
deleted file mode 100644
index 20d1800..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"bb68cb8d5b2c477ecdf5fedbec57f948d94f728b30d74501ff2caebb5bba0368ce1b63b56cd7e26c2f8b32f3768432b7c316ff595e09873962fe986f39ddea0d"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"bb68cb8d5b2c477ecdf5fedbec57f948d94f728b30d74501ff2caebb5bba0368ce1b63b56cd7e26c2f8b32f3768432b7c316ff595e09873962fe986f39ddea0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/eda055b819c624817f6a87f5e5b545044c93200fc4f3e06f51b417e7b7da94eb61dd94d3aae2fbd7461d12430222b795f3758ce7eb135197a0a554b21c621350.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/eda055b819c624817f6a87f5e5b545044c93200fc4f3e06f51b417e7b7da94eb61dd94d3aae2fbd7461d12430222b795f3758ce7eb135197a0a554b21c621350.targets.json
deleted file mode 100644
index eb3ff57..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/eda055b819c624817f6a87f5e5b545044c93200fc4f3e06f51b417e7b7da94eb61dd94d3aae2fbd7461d12430222b795f3758ce7eb135197a0a554b21c621350.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"df34db3f94a46c54aa8a81598c5090720e72d2d92262ed3aa8ed732791f66082508c8f92c99aaff9853f9e223e70c0aed65bb5c8fb3060b04e0380fe93a2dc09"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"df34db3f94a46c54aa8a81598c5090720e72d2d92262ed3aa8ed732791f66082508c8f92c99aaff9853f9e223e70c0aed65bb5c8fb3060b04e0380fe93a2dc09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/root.json
index b31f0ad..4b11ad3 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/root.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/root.json
@@ -1 +1,133 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759","086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71"],"threshold":1}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759","method":"ed25519","sig":"42e6e101795a25d600635d21e05086b136a08ca561e9cfc9eeb943d806e86c9e1c9d91865d6523cf79e32d9ab06f400dbd3a2803b81665e78f7289c6b6205300"},{"keyid":"086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7","method":"ed25519","sig":"42e6e101795a25d600635d21e05086b136a08ca561e9cfc9eeb943d806e86c9e1c9d91865d6523cf79e32d9ab06f400dbd3a2803b81665e78f7289c6b6205300"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "root",
+		"consistent_snapshot": false,
+		"expires": "2100-01-01T00:00:00Z",
+		"keys": {
+			"4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
+				},
+				"scheme": "ed25519"
+			},
+			"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			},
+			"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
+				},
+				"scheme": "ed25519"
+			},
+			"ad7c98dfb3b99024f8b49e33f3d92e66537f0abab78a84f1e4b667dfbf52bf60": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "722dbc861813bb5b568524d62083e875c08e66fed1694d9161d253fa163dd86f"
+				},
+				"scheme": "ed25519"
+			},
+			"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"bed15bf57ba4deb4e09667099d45d119504420983d16fd0927ebfb0c25184e7f": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "722dbc861813bb5b568524d62083e875c08e66fed1694d9161d253fa163dd86f"
+				},
+				"scheme": "ed25519"
+			},
+			"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			}
+		},
+		"roles": {
+			"root": {
+				"keyids": [
+					"4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d",
+					"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4"
+				],
+				"threshold": 1
+			},
+			"snapshot": {
+				"keyids": [
+					"bed15bf57ba4deb4e09667099d45d119504420983d16fd0927ebfb0c25184e7f",
+					"ad7c98dfb3b99024f8b49e33f3d92e66537f0abab78a84f1e4b667dfbf52bf60"
+				],
+				"threshold": 1
+			},
+			"targets": {
+				"keyids": [
+					"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+					"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556"
+				],
+				"threshold": 1
+			},
+			"timestamp": {
+				"keyids": [
+					"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0",
+					"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d"
+				],
+				"threshold": 1
+			}
+		},
+		"spec_version": "1.0",
+		"version": 4
+	},
+	"signatures": [
+		{
+			"keyid": "4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d",
+			"method": "ed25519",
+			"sig": "1c032c2997beb43da5d55b27af54cf12923dbb29cba703e69b03c039a698df1a261eef46800de343590f55134d83418f32aff3876f13b7ba3832e7c8e369a506"
+		},
+		{
+			"keyid": "a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4",
+			"method": "ed25519",
+			"sig": "1c032c2997beb43da5d55b27af54cf12923dbb29cba703e69b03c039a698df1a261eef46800de343590f55134d83418f32aff3876f13b7ba3832e7c8e369a506"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/snapshot.json
index 9b59478..b5c287f 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/snapshot.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/snapshot.json
@@ -1 +1,36 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"ad825a9c0dd87c31e43e0e780c11ce2d2083ed2b2d0f4bf519a7687d4d6921f48540e9e53e609a7a6fb28f2e0cf8f438db8a3be7959afd3d923a6bec7601b46b"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"127f9850bc4cfd284b49dc9bac443cd936785790f7c553eac1012af2e76839cda7abced76b2e734bd762cc9081ab0cb666569d8a099dc82d00620990e495bed0"},"length":1429,"version":5}},"spec_version":"1.0","version":5},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"1f00f137b5498649cc6849df275fb045fe3383191fc9844e1708a926ecba9711254b3c96f17e15980a73c711a6f7065d30a77a171fa1cdfc635acfa40e0b8109"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"1f00f137b5498649cc6849df275fb045fe3383191fc9844e1708a926ecba9711254b3c96f17e15980a73c711a6f7065d30a77a171fa1cdfc635acfa40e0b8109"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "snapshot",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"root.json": {
+				"hashes": {
+					"sha512": "29ac40063fd2e29bc2407c049680908d442a53b7bd78ff012fafb1571b0c1f8435ebf96ee33432dd4ebcfde128f7c32ba417f1f66b16742b9d306afac00149e6"
+				},
+				"length": 3832,
+				"version": 4
+			},
+			"targets.json": {
+				"hashes": {
+					"sha512": "e544e4063c93616b3bed831b0fe5cb72babef0de162da0796e9a6407564c07bdf361d91f41127632f6b2172b2922ab03fa2d9e792d5ef6af8d52aa5031888116"
+				},
+				"length": 1670,
+				"version": 5
+			}
+		},
+		"spec_version": "1.0",
+		"version": 5
+	},
+	"signatures": [
+		{
+			"keyid": "bed15bf57ba4deb4e09667099d45d119504420983d16fd0927ebfb0c25184e7f",
+			"method": "ed25519",
+			"sig": "b654e9a57ee03b6f1901ba34e0e932d37a39013ce21e1fd4da2ccd619c2579e3bbb13d016a161757d914221554d05c2ab1aef8586c08918b9aa56c6eb1bd2e00"
+		},
+		{
+			"keyid": "ad7c98dfb3b99024f8b49e33f3d92e66537f0abab78a84f1e4b667dfbf52bf60",
+			"method": "ed25519",
+			"sig": "b654e9a57ee03b6f1901ba34e0e932d37a39013ce21e1fd4da2ccd619c2579e3bbb13d016a161757d914221554d05c2ab1aef8586c08918b9aa56c6eb1bd2e00"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets.json
index 705c9c9..9551233 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets.json
@@ -1 +1,52 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1},"4":{"hashes":{"sha512":"a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568"},"length":1}},"version":5},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"bb49d0e7937bc249de0198738cc7a81140ff0cd19497e31e33298867ae6a49bd6fde987b4bc11dddfef2f564936abf58b9e2b6395d3d679c8e97f15cd3c57808"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"bb49d0e7937bc249de0198738cc7a81140ff0cd19497e31e33298867ae6a49bd6fde987b4bc11dddfef2f564936abf58b9e2b6395d3d679c8e97f15cd3c57808"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "targets",
+		"expires": "2100-01-01T00:00:00Z",
+		"spec_version": "1.0",
+		"targets": {
+			"0": {
+				"hashes": {
+					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
+				},
+				"length": 1
+			},
+			"1": {
+				"hashes": {
+					"sha512": "4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"
+				},
+				"length": 1
+			},
+			"2": {
+				"hashes": {
+					"sha512": "40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"
+				},
+				"length": 1
+			},
+			"3": {
+				"hashes": {
+					"sha512": "3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"
+				},
+				"length": 1
+			},
+			"4": {
+				"hashes": {
+					"sha512": "a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568"
+				},
+				"length": 1
+			}
+		},
+		"version": 5
+	},
+	"signatures": [
+		{
+			"keyid": "b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+			"method": "ed25519",
+			"sig": "ada232dfe3499e17c5b1f6c046375f30e930b90aed0dcf6fd7fbd631f4e5ea1ad0ebeae039920715fd1e2bdfcad017adbe20309eadb329898a9a7c8998735b00"
+		},
+		{
+			"keyid": "d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556",
+			"method": "ed25519",
+			"sig": "ada232dfe3499e17c5b1f6c046375f30e930b90aed0dcf6fd7fbd631f4e5ea1ad0ebeae039920715fd1e2bdfcad017adbe20309eadb329898a9a7c8998735b00"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/0
new file mode 120000
index 0000000..efe18e4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/0
@@ -0,0 +1 @@
+../../../3/repository/targets/0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/0.0
deleted file mode 100644
index c227083..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/0.0
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/0.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/0.1
deleted file mode 100644
index 56a6051..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/0.1
+++ /dev/null
@@ -1 +0,0 @@
-1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/0.2 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/0.2
deleted file mode 100644
index d8263ee..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/0.2
+++ /dev/null
@@ -1 +0,0 @@
-2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/0.3 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/0.3
deleted file mode 100644
index e440e5c..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/0.3
+++ /dev/null
@@ -1 +0,0 @@
-3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/1
new file mode 120000
index 0000000..b4a40c4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/1
@@ -0,0 +1 @@
+../../../3/repository/targets/1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/2 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/2
new file mode 120000
index 0000000..1c68171
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/2
@@ -0,0 +1 @@
+../../../3/repository/targets/2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/3 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/3
new file mode 120000
index 0000000..1dc4d27
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/3
@@ -0,0 +1 @@
+../../../3/repository/targets/3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
deleted file mode 100644
index c227083..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
deleted file mode 100644
index e440e5c..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
+++ /dev/null
@@ -1 +0,0 @@
-3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/0.4 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/4
similarity index 100%
rename from client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/0.4
rename to client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/4
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
deleted file mode 100644
index d8263ee..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
+++ /dev/null
@@ -1 +0,0 @@
-2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
deleted file mode 100644
index 56a6051..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
+++ /dev/null
@@ -1 +0,0 @@
-1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
deleted file mode 100644
index bf0d87a..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
+++ /dev/null
@@ -1 +0,0 @@
-4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/timestamp.json
index 2815249..bb1d22a 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/timestamp.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/timestamp.json
@@ -1 +1,29 @@
-{"signed":{"_type":"timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"cf7757c4d3d4806ba695546adee0a48faf77a41a20684ee3fce9b097b3d7f841a7d2bc7bc05346b09631f8ac74824c09eb559bce2f2892d2928531d1f6926bb0"},"length":972,"version":5}},"spec_version":"1.0","version":5},"signatures":[{"keyid":"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","method":"ed25519","sig":"69d9f612b01061388eee7767c2e5a8f5fb493de173e09a909a7eadc3dfd89f35bfcb72f0c45bb358257842584057c82a30b98f7672a43c9e37faacef87531403"},{"keyid":"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71","method":"ed25519","sig":"69d9f612b01061388eee7767c2e5a8f5fb493de173e09a909a7eadc3dfd89f35bfcb72f0c45bb358257842584057c82a30b98f7672a43c9e37faacef87531403"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "timestamp",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"snapshot.json": {
+				"hashes": {
+					"sha512": "00bf290d8ad2ada2ae6efb54923113df46244ec8cfa5bdbf8091a8175f5f6e4ae059acd030678b17ca5bb9f7e6f93d73983776094ebea89a09ecee0d0eb2da38"
+				},
+				"length": 1126,
+				"version": 5
+			}
+		},
+		"spec_version": "1.0",
+		"version": 5
+	},
+	"signatures": [
+		{
+			"keyid": "79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0",
+			"method": "ed25519",
+			"sig": "8a33cfd746677118f9e9edd325163385099085cc3d23c7482e78e7e9636ab20638ffe7b08f9dc99d4cac63dbeb057340a4b868415e5af29d0b448342cb50f40a"
+		},
+		{
+			"keyid": "e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d",
+			"method": "ed25519",
+			"sig": "8a33cfd746677118f9e9edd325163385099085cc3d23c7482e78e7e9636ab20638ffe7b08f9dc99d4cac63dbeb057340a4b868415e5af29d0b448342cb50f40a"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/root.json
deleted file mode 100644
index c950ae1..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5","private":"bf5543ea50e330a71c0166f10fa5dcdd6359ca50f585c36bbf5060ea072f60a269c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/root.json
new file mode 120000
index 0000000..0d2c005
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/root.json
@@ -0,0 +1 @@
+../../4/keys/root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/snapshot.json
deleted file mode 100644
index 714769d..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/snapshot.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-	"encrypted": false,
-	"data": [
-		{
-			"keytype": "ed25519",
-			"scheme": "ed25519",
-			"keyid_hash_algorithms": [
-				"sha512"
-			],
-			"keyval": {
-				"public": "88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33",
-				"private": "7ebf26fc9e7613ed4d2d6abd52e8186e3435955b66d61d01280047c2416055fb88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"
-			}
-		},
-		{
-			"keytype": "ed25519",
-			"scheme": "ed25519",
-			"keyid_hash_algorithms": [
-				"sha512"
-			],
-			"keyval": {
-				"public": "33bad914fd588c64e37bbda1497679637ceb62c2b404d257e7a238a2c8080f59",
-				"private": "f2ab2962c2407116cdb0f9e4d1fc28b081ff3d97e7511052093650bc3d3fcdac33bad914fd588c64e37bbda1497679637ceb62c2b404d257e7a238a2c8080f59"
-			}
-		}
-	]
-}
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/snapshot.json
new file mode 120000
index 0000000..bcf46d6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/snapshot.json
@@ -0,0 +1 @@
+../../4/keys/snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/targets.json
deleted file mode 100644
index dca8d29..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/targets.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-	"encrypted": false,
-	"data": [
-		{
-			"keytype": "ed25519",
-			"scheme": "ed25519",
-			"keyid_hash_algorithms": [
-				"sha512"
-			],
-			"keyval": {
-				"public": "018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3",
-				"private": "034a45c47442a1eda5e96312720beb45dd19a47c9fc2481e0c694c568743640d018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"
-			}
-		}
-	]
-}
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/targets.json
new file mode 120000
index 0000000..9442af0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/targets.json
@@ -0,0 +1 @@
+../../4/keys/targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/timestamp.json
deleted file mode 100644
index 62f04c4..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/timestamp.json
+++ /dev/null
@@ -1 +0,0 @@
-{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f","private":"cb1c93ffd3ab645ea65aad1a100d3491976beb921e04df9de680965a4a0f1861f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/timestamp.json
new file mode 120000
index 0000000..cee4376
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/timestamp.json
@@ -0,0 +1 @@
+../../4/keys/timestamp.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json
deleted file mode 100644
index 214e321..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"5ec8d1ac302695f86d975e8aa3b5533df457d0c66f544658056c536de26718bf":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"},"scheme":"ed25519"},"664e88d7e9733a882a5f49c311b38c0588545bc21bf578ac3b1aad661c9e4192":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["664e88d7e9733a882a5f49c311b38c0588545bc21bf578ac3b1aad661c9e4192","5ec8d1ac302695f86d975e8aa3b5533df457d0c66f544658056c536de26718bf"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"2e62498ed4d88a1fa086a630f8b97e7f1c93f44d6a5f1793f7aa784663eccc9b2e3cbb5bdb3ece2f5d85287a14bc28be6e905cd5e196c2f1ccacc4fff0225b05"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"2e62498ed4d88a1fa086a630f8b97e7f1c93f44d6a5f1793f7aa784663eccc9b2e3cbb5bdb3ece2f5d85287a14bc28be6e905cd5e196c2f1ccacc4fff0225b05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/1.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/1.root.json
deleted file mode 100644
index 214e321..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/1.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"5ec8d1ac302695f86d975e8aa3b5533df457d0c66f544658056c536de26718bf":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"},"scheme":"ed25519"},"664e88d7e9733a882a5f49c311b38c0588545bc21bf578ac3b1aad661c9e4192":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["664e88d7e9733a882a5f49c311b38c0588545bc21bf578ac3b1aad661c9e4192","5ec8d1ac302695f86d975e8aa3b5533df457d0c66f544658056c536de26718bf"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"2e62498ed4d88a1fa086a630f8b97e7f1c93f44d6a5f1793f7aa784663eccc9b2e3cbb5bdb3ece2f5d85287a14bc28be6e905cd5e196c2f1ccacc4fff0225b05"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"2e62498ed4d88a1fa086a630f8b97e7f1c93f44d6a5f1793f7aa784663eccc9b2e3cbb5bdb3ece2f5d85287a14bc28be6e905cd5e196c2f1ccacc4fff0225b05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/1.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/1.root.json
new file mode 120000
index 0000000..fb796e3
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/1.root.json
@@ -0,0 +1 @@
+../../4/repository/1.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/1.snapshot.json
deleted file mode 100644
index ba42c25..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/1.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df"},"length":757,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"a265d68caa6fbaee5bbca20a1aaafbd889a27b12a5de8c30e89da88d2cd40b1d2cf04bfdf4d00efce59c498a353ba62923736c460f7b71697ec0db0198c1e10d"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"a265d68caa6fbaee5bbca20a1aaafbd889a27b12a5de8c30e89da88d2cd40b1d2cf04bfdf4d00efce59c498a353ba62923736c460f7b71697ec0db0198c1e10d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/1.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/1.targets.json
deleted file mode 100644
index 4e9da28..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/1.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"c2afa7b113ceae0a55c8986113ed3173693ace397a3c24e7d3d7d217956a2f40bb7a642ed9b79f75c2e27d5ae5a5e8a76c59ff884395cd4fa41a857acf514009"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"c2afa7b113ceae0a55c8986113ed3173693ace397a3c24e7d3d7d217956a2f40bb7a642ed9b79f75c2e27d5ae5a5e8a76c59ff884395cd4fa41a857acf514009"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/127f9850bc4cfd284b49dc9bac443cd936785790f7c553eac1012af2e76839cda7abced76b2e734bd762cc9081ab0cb666569d8a099dc82d00620990e495bed0.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/127f9850bc4cfd284b49dc9bac443cd936785790f7c553eac1012af2e76839cda7abced76b2e734bd762cc9081ab0cb666569d8a099dc82d00620990e495bed0.targets.json
deleted file mode 100644
index 705c9c9..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/127f9850bc4cfd284b49dc9bac443cd936785790f7c553eac1012af2e76839cda7abced76b2e734bd762cc9081ab0cb666569d8a099dc82d00620990e495bed0.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1},"4":{"hashes":{"sha512":"a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568"},"length":1}},"version":5},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"bb49d0e7937bc249de0198738cc7a81140ff0cd19497e31e33298867ae6a49bd6fde987b4bc11dddfef2f564936abf58b9e2b6395d3d679c8e97f15cd3c57808"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"bb49d0e7937bc249de0198738cc7a81140ff0cd19497e31e33298867ae6a49bd6fde987b4bc11dddfef2f564936abf58b9e2b6395d3d679c8e97f15cd3c57808"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/2.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/2.root.json
deleted file mode 100644
index 20d1800..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/2.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"bb68cb8d5b2c477ecdf5fedbec57f948d94f728b30d74501ff2caebb5bba0368ce1b63b56cd7e26c2f8b32f3768432b7c316ff595e09873962fe986f39ddea0d"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"bb68cb8d5b2c477ecdf5fedbec57f948d94f728b30d74501ff2caebb5bba0368ce1b63b56cd7e26c2f8b32f3768432b7c316ff595e09873962fe986f39ddea0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/2.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/2.root.json
new file mode 120000
index 0000000..5a3e454
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/2.root.json
@@ -0,0 +1 @@
+../../4/repository/2.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/2.snapshot.json
deleted file mode 100644
index 081ff93..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/2.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68"},"length":925,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"05717c284b87c529c48b8a72ae6b9b733ac482193e5484aee21e7e96fd420a26caecbc6bf11a7993a6d3265b504340f1b78efc7f806f4f5d5c5014c5835e4203"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"05717c284b87c529c48b8a72ae6b9b733ac482193e5484aee21e7e96fd420a26caecbc6bf11a7993a6d3265b504340f1b78efc7f806f4f5d5c5014c5835e4203"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/2.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/2.targets.json
deleted file mode 100644
index da25f77..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/2.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"fc7f38192db2f74e2408f5c9c018d06fe01c65db92303a4f86090f654ba63142e088b0c888b84493d78dc0cc53c160436c08136961bc0a1621f840852566c706"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"fc7f38192db2f74e2408f5c9c018d06fe01c65db92303a4f86090f654ba63142e088b0c888b84493d78dc0cc53c160436c08136961bc0a1621f840852566c706"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df.targets.json
deleted file mode 100644
index 4e9da28..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"c2afa7b113ceae0a55c8986113ed3173693ace397a3c24e7d3d7d217956a2f40bb7a642ed9b79f75c2e27d5ae5a5e8a76c59ff884395cd4fa41a857acf514009"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"c2afa7b113ceae0a55c8986113ed3173693ace397a3c24e7d3d7d217956a2f40bb7a642ed9b79f75c2e27d5ae5a5e8a76c59ff884395cd4fa41a857acf514009"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/2adc85f0a43e959da0dcf6e40be05b378b80f52489807dfbf80057acf2481385ca0eac594a8e1b1aca6379ac256d26a812e79c5c4e244040ec721fb887e3bfaa.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/2adc85f0a43e959da0dcf6e40be05b378b80f52489807dfbf80057acf2481385ca0eac594a8e1b1aca6379ac256d26a812e79c5c4e244040ec721fb887e3bfaa.targets.json
deleted file mode 100644
index d5b9cbc..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/2adc85f0a43e959da0dcf6e40be05b378b80f52489807dfbf80057acf2481385ca0eac594a8e1b1aca6379ac256d26a812e79c5c4e244040ec721fb887e3bfaa.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1},"4":{"hashes":{"sha512":"a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568"},"length":1},"5":{"hashes":{"sha512":"06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25"},"length":1}},"version":6},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"f70c930a5742b6ba9d7a1aa2f3e027f78cfb97498459fd7a390d4ed962be0c0718358204c7f333cb5957abfcbc1282f41e4f6ff28fee64ff663bb48149b1ee0d"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"f70c930a5742b6ba9d7a1aa2f3e027f78cfb97498459fd7a390d4ed962be0c0718358204c7f333cb5957abfcbc1282f41e4f6ff28fee64ff663bb48149b1ee0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/3.root.json
deleted file mode 100644
index 6a8b3c9..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/3.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759","086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"285a62cfaa856f60331b9c5a0c531ca75353da585affd2b178ee9f7810e9f4dc03cac9163b50d56bf74e185afd14c39a62c6e0fc8ef4c97c7a5017b405d5cb0d"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"285a62cfaa856f60331b9c5a0c531ca75353da585affd2b178ee9f7810e9f4dc03cac9163b50d56bf74e185afd14c39a62c6e0fc8ef4c97c7a5017b405d5cb0d"},{"keyid":"8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759","method":"ed25519","sig":"865504a1a336b34f0463b5f2571bd96ee6804beac7241927f50828eaee20ae9de0d4b4591a646e27adcfe2712042a90f74622b353413b7381ffa55cf8357c200"},{"keyid":"086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7","method":"ed25519","sig":"865504a1a336b34f0463b5f2571bd96ee6804beac7241927f50828eaee20ae9de0d4b4591a646e27adcfe2712042a90f74622b353413b7381ffa55cf8357c200"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/3.root.json
new file mode 120000
index 0000000..d1cb251
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/3.root.json
@@ -0,0 +1 @@
+../../4/repository/3.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/3.snapshot.json
deleted file mode 100644
index 2601186..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/3.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"eda055b819c624817f6a87f5e5b545044c93200fc4f3e06f51b417e7b7da94eb61dd94d3aae2fbd7461d12430222b795f3758ce7eb135197a0a554b21c621350"},"length":1093,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"c6965758b1027ba26732acaa087e66d8461ec59af8a0b8403eb44643be55208d852c3e60a0ae2d93c1941e9a2544f6e12be99970f16128ca19eb078b1e18d50f"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"c6965758b1027ba26732acaa087e66d8461ec59af8a0b8403eb44643be55208d852c3e60a0ae2d93c1941e9a2544f6e12be99970f16128ca19eb078b1e18d50f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/3.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/3.targets.json
deleted file mode 100644
index eb3ff57..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/3.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"df34db3f94a46c54aa8a81598c5090720e72d2d92262ed3aa8ed732791f66082508c8f92c99aaff9853f9e223e70c0aed65bb5c8fb3060b04e0380fe93a2dc09"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"df34db3f94a46c54aa8a81598c5090720e72d2d92262ed3aa8ed732791f66082508c8f92c99aaff9853f9e223e70c0aed65bb5c8fb3060b04e0380fe93a2dc09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/4.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/4.root.json
deleted file mode 100644
index b31f0ad..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/4.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759","086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71"],"threshold":1}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759","method":"ed25519","sig":"42e6e101795a25d600635d21e05086b136a08ca561e9cfc9eeb943d806e86c9e1c9d91865d6523cf79e32d9ab06f400dbd3a2803b81665e78f7289c6b6205300"},{"keyid":"086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7","method":"ed25519","sig":"42e6e101795a25d600635d21e05086b136a08ca561e9cfc9eeb943d806e86c9e1c9d91865d6523cf79e32d9ab06f400dbd3a2803b81665e78f7289c6b6205300"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/4.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/4.root.json
new file mode 120000
index 0000000..bda6d08
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/4.root.json
@@ -0,0 +1 @@
+../../4/repository/4.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/4.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/4.snapshot.json
deleted file mode 100644
index fd7fd01..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/4.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"6cca8a2a26445076e2f3089dbd7845623f5b070122599ac3ca9bf83a211b599c45f2c0812b7be0a7f6bf26d61f025f160f1d8cb7453cf111a5684bed5a94dab7"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"529cca3c67703b94db2634619ed4d6844ffa4abef298ab4519263adde628523bd90b4f979972b44d798d8852ce986b8b9a9eeb744a7f3ad2ff834e6413760afc"},"length":1261,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"3d32c571d8fc190022c5afb8d68cc6ca6aa628c9ec9081f703e3abc0376349e92db0a198b5a9cbc0f501155cdcd8e777063bfbd1945075fb8647ca5e264e8208"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"3d32c571d8fc190022c5afb8d68cc6ca6aa628c9ec9081f703e3abc0376349e92db0a198b5a9cbc0f501155cdcd8e777063bfbd1945075fb8647ca5e264e8208"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/4.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/4.targets.json
deleted file mode 100644
index 2cf2e47..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/4.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1}},"version":4},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"596cbbee353cb1d9cab0c46d81a013dfdc0207979d872e945f36891c11d74611dff6fa745951d636264bd7fd004c3d03534a37a8d76d27e37562124e23bf6d05"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"596cbbee353cb1d9cab0c46d81a013dfdc0207979d872e945f36891c11d74611dff6fa745951d636264bd7fd004c3d03534a37a8d76d27e37562124e23bf6d05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/5.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/5.snapshot.json
deleted file mode 100644
index 9b59478..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/5.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"ad825a9c0dd87c31e43e0e780c11ce2d2083ed2b2d0f4bf519a7687d4d6921f48540e9e53e609a7a6fb28f2e0cf8f438db8a3be7959afd3d923a6bec7601b46b"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"127f9850bc4cfd284b49dc9bac443cd936785790f7c553eac1012af2e76839cda7abced76b2e734bd762cc9081ab0cb666569d8a099dc82d00620990e495bed0"},"length":1429,"version":5}},"spec_version":"1.0","version":5},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"1f00f137b5498649cc6849df275fb045fe3383191fc9844e1708a926ecba9711254b3c96f17e15980a73c711a6f7065d30a77a171fa1cdfc635acfa40e0b8109"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"1f00f137b5498649cc6849df275fb045fe3383191fc9844e1708a926ecba9711254b3c96f17e15980a73c711a6f7065d30a77a171fa1cdfc635acfa40e0b8109"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/5.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/5.targets.json
deleted file mode 100644
index 705c9c9..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/5.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1},"4":{"hashes":{"sha512":"a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568"},"length":1}},"version":5},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"bb49d0e7937bc249de0198738cc7a81140ff0cd19497e31e33298867ae6a49bd6fde987b4bc11dddfef2f564936abf58b9e2b6395d3d679c8e97f15cd3c57808"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"bb49d0e7937bc249de0198738cc7a81140ff0cd19497e31e33298867ae6a49bd6fde987b4bc11dddfef2f564936abf58b9e2b6395d3d679c8e97f15cd3c57808"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/529cca3c67703b94db2634619ed4d6844ffa4abef298ab4519263adde628523bd90b4f979972b44d798d8852ce986b8b9a9eeb744a7f3ad2ff834e6413760afc.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/529cca3c67703b94db2634619ed4d6844ffa4abef298ab4519263adde628523bd90b4f979972b44d798d8852ce986b8b9a9eeb744a7f3ad2ff834e6413760afc.targets.json
deleted file mode 100644
index 2cf2e47..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/529cca3c67703b94db2634619ed4d6844ffa4abef298ab4519263adde628523bd90b4f979972b44d798d8852ce986b8b9a9eeb744a7f3ad2ff834e6413760afc.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1}},"version":4},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"596cbbee353cb1d9cab0c46d81a013dfdc0207979d872e945f36891c11d74611dff6fa745951d636264bd7fd004c3d03534a37a8d76d27e37562124e23bf6d05"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"596cbbee353cb1d9cab0c46d81a013dfdc0207979d872e945f36891c11d74611dff6fa745951d636264bd7fd004c3d03534a37a8d76d27e37562124e23bf6d05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/5870f50685abc42fa6fd4d215f177e5da7743fb1a5df85e3e7d8333f414aaf911ae97b9fbd61b33331e392affd57fb4c12f997d07530e928e5806f28853a461b.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/5870f50685abc42fa6fd4d215f177e5da7743fb1a5df85e3e7d8333f414aaf911ae97b9fbd61b33331e392affd57fb4c12f997d07530e928e5806f28853a461b.snapshot.json
deleted file mode 100644
index ba42c25..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/5870f50685abc42fa6fd4d215f177e5da7743fb1a5df85e3e7d8333f414aaf911ae97b9fbd61b33331e392affd57fb4c12f997d07530e928e5806f28853a461b.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df"},"length":757,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"a265d68caa6fbaee5bbca20a1aaafbd889a27b12a5de8c30e89da88d2cd40b1d2cf04bfdf4d00efce59c498a353ba62923736c460f7b71697ec0db0198c1e10d"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"a265d68caa6fbaee5bbca20a1aaafbd889a27b12a5de8c30e89da88d2cd40b1d2cf04bfdf4d00efce59c498a353ba62923736c460f7b71697ec0db0198c1e10d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/6.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/6.snapshot.json
deleted file mode 100644
index 9a20217..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/6.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"ad825a9c0dd87c31e43e0e780c11ce2d2083ed2b2d0f4bf519a7687d4d6921f48540e9e53e609a7a6fb28f2e0cf8f438db8a3be7959afd3d923a6bec7601b46b"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"2adc85f0a43e959da0dcf6e40be05b378b80f52489807dfbf80057acf2481385ca0eac594a8e1b1aca6379ac256d26a812e79c5c4e244040ec721fb887e3bfaa"},"length":1597,"version":6}},"spec_version":"1.0","version":6},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"890cdac27022618491c2ec0cdffb526fa8ad2c25ec7c7caa71626e5d0cbe78d673f0e5c4c405eefb2af0b3ad4abf36bd00e25c9166f1df9b6fcebc655a34e004"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"890cdac27022618491c2ec0cdffb526fa8ad2c25ec7c7caa71626e5d0cbe78d673f0e5c4c405eefb2af0b3ad4abf36bd00e25c9166f1df9b6fcebc655a34e004"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/6.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/6.targets.json
deleted file mode 100644
index d5b9cbc..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/6.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1},"4":{"hashes":{"sha512":"a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568"},"length":1},"5":{"hashes":{"sha512":"06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25"},"length":1}},"version":6},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"f70c930a5742b6ba9d7a1aa2f3e027f78cfb97498459fd7a390d4ed962be0c0718358204c7f333cb5957abfcbc1282f41e4f6ff28fee64ff663bb48149b1ee0d"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"f70c930a5742b6ba9d7a1aa2f3e027f78cfb97498459fd7a390d4ed962be0c0718358204c7f333cb5957abfcbc1282f41e4f6ff28fee64ff663bb48149b1ee0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/6cca8a2a26445076e2f3089dbd7845623f5b070122599ac3ca9bf83a211b599c45f2c0812b7be0a7f6bf26d61f025f160f1d8cb7453cf111a5684bed5a94dab7.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/6cca8a2a26445076e2f3089dbd7845623f5b070122599ac3ca9bf83a211b599c45f2c0812b7be0a7f6bf26d61f025f160f1d8cb7453cf111a5684bed5a94dab7.root.json
deleted file mode 100644
index 6a8b3c9..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/6cca8a2a26445076e2f3089dbd7845623f5b070122599ac3ca9bf83a211b599c45f2c0812b7be0a7f6bf26d61f025f160f1d8cb7453cf111a5684bed5a94dab7.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759","086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"285a62cfaa856f60331b9c5a0c531ca75353da585affd2b178ee9f7810e9f4dc03cac9163b50d56bf74e185afd14c39a62c6e0fc8ef4c97c7a5017b405d5cb0d"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"285a62cfaa856f60331b9c5a0c531ca75353da585affd2b178ee9f7810e9f4dc03cac9163b50d56bf74e185afd14c39a62c6e0fc8ef4c97c7a5017b405d5cb0d"},{"keyid":"8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759","method":"ed25519","sig":"865504a1a336b34f0463b5f2571bd96ee6804beac7241927f50828eaee20ae9de0d4b4591a646e27adcfe2712042a90f74622b353413b7381ffa55cf8357c200"},{"keyid":"086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7","method":"ed25519","sig":"865504a1a336b34f0463b5f2571bd96ee6804beac7241927f50828eaee20ae9de0d4b4591a646e27adcfe2712042a90f74622b353413b7381ffa55cf8357c200"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68.targets.json
deleted file mode 100644
index da25f77..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"fc7f38192db2f74e2408f5c9c018d06fe01c65db92303a4f86090f654ba63142e088b0c888b84493d78dc0cc53c160436c08136961bc0a1621f840852566c706"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"fc7f38192db2f74e2408f5c9c018d06fe01c65db92303a4f86090f654ba63142e088b0c888b84493d78dc0cc53c160436c08136961bc0a1621f840852566c706"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/6eb5dce516520d9f9331679ea70bb38f4e9f41c6b6db5579df6954a48bed75f6435779cc8045e5f8e57c7ee7cdd077da5c4fa660b13b1fa31785e71626e4408d.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/6eb5dce516520d9f9331679ea70bb38f4e9f41c6b6db5579df6954a48bed75f6435779cc8045e5f8e57c7ee7cdd077da5c4fa660b13b1fa31785e71626e4408d.snapshot.json
deleted file mode 100644
index 081ff93..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/6eb5dce516520d9f9331679ea70bb38f4e9f41c6b6db5579df6954a48bed75f6435779cc8045e5f8e57c7ee7cdd077da5c4fa660b13b1fa31785e71626e4408d.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68"},"length":925,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"05717c284b87c529c48b8a72ae6b9b733ac482193e5484aee21e7e96fd420a26caecbc6bf11a7993a6d3265b504340f1b78efc7f806f4f5d5c5014c5835e4203"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"05717c284b87c529c48b8a72ae6b9b733ac482193e5484aee21e7e96fd420a26caecbc6bf11a7993a6d3265b504340f1b78efc7f806f4f5d5c5014c5835e4203"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/7ad15e8b1d342260bb7426eb390f50308a349ecc7cd2ba265ba6428d84eb9f4e04ebe41698e91efc0981075904092b4ec14622309876788c1d358ea3dcc269d5.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/7ad15e8b1d342260bb7426eb390f50308a349ecc7cd2ba265ba6428d84eb9f4e04ebe41698e91efc0981075904092b4ec14622309876788c1d358ea3dcc269d5.snapshot.json
deleted file mode 100644
index fd7fd01..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/7ad15e8b1d342260bb7426eb390f50308a349ecc7cd2ba265ba6428d84eb9f4e04ebe41698e91efc0981075904092b4ec14622309876788c1d358ea3dcc269d5.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"6cca8a2a26445076e2f3089dbd7845623f5b070122599ac3ca9bf83a211b599c45f2c0812b7be0a7f6bf26d61f025f160f1d8cb7453cf111a5684bed5a94dab7"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"529cca3c67703b94db2634619ed4d6844ffa4abef298ab4519263adde628523bd90b4f979972b44d798d8852ce986b8b9a9eeb744a7f3ad2ff834e6413760afc"},"length":1261,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"3d32c571d8fc190022c5afb8d68cc6ca6aa628c9ec9081f703e3abc0376349e92db0a198b5a9cbc0f501155cdcd8e777063bfbd1945075fb8647ca5e264e8208"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"3d32c571d8fc190022c5afb8d68cc6ca6aa628c9ec9081f703e3abc0376349e92db0a198b5a9cbc0f501155cdcd8e777063bfbd1945075fb8647ca5e264e8208"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/89f006bd229b975982f6527ec6b52b5f4f6fe9d7dda8809d87b1b7f7cf134faef3806513675c9e004638cbc6a8d1e94d00fe86cc83f75c038c03028b129e967d.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/89f006bd229b975982f6527ec6b52b5f4f6fe9d7dda8809d87b1b7f7cf134faef3806513675c9e004638cbc6a8d1e94d00fe86cc83f75c038c03028b129e967d.snapshot.json
deleted file mode 100644
index 2601186..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/89f006bd229b975982f6527ec6b52b5f4f6fe9d7dda8809d87b1b7f7cf134faef3806513675c9e004638cbc6a8d1e94d00fe86cc83f75c038c03028b129e967d.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"eda055b819c624817f6a87f5e5b545044c93200fc4f3e06f51b417e7b7da94eb61dd94d3aae2fbd7461d12430222b795f3758ce7eb135197a0a554b21c621350"},"length":1093,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"c6965758b1027ba26732acaa087e66d8461ec59af8a0b8403eb44643be55208d852c3e60a0ae2d93c1941e9a2544f6e12be99970f16128ca19eb078b1e18d50f"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"c6965758b1027ba26732acaa087e66d8461ec59af8a0b8403eb44643be55208d852c3e60a0ae2d93c1941e9a2544f6e12be99970f16128ca19eb078b1e18d50f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/ad825a9c0dd87c31e43e0e780c11ce2d2083ed2b2d0f4bf519a7687d4d6921f48540e9e53e609a7a6fb28f2e0cf8f438db8a3be7959afd3d923a6bec7601b46b.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/ad825a9c0dd87c31e43e0e780c11ce2d2083ed2b2d0f4bf519a7687d4d6921f48540e9e53e609a7a6fb28f2e0cf8f438db8a3be7959afd3d923a6bec7601b46b.root.json
deleted file mode 100644
index b31f0ad..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/ad825a9c0dd87c31e43e0e780c11ce2d2083ed2b2d0f4bf519a7687d4d6921f48540e9e53e609a7a6fb28f2e0cf8f438db8a3be7959afd3d923a6bec7601b46b.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759","086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71"],"threshold":1}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759","method":"ed25519","sig":"42e6e101795a25d600635d21e05086b136a08ca561e9cfc9eeb943d806e86c9e1c9d91865d6523cf79e32d9ab06f400dbd3a2803b81665e78f7289c6b6205300"},{"keyid":"086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7","method":"ed25519","sig":"42e6e101795a25d600635d21e05086b136a08ca561e9cfc9eeb943d806e86c9e1c9d91865d6523cf79e32d9ab06f400dbd3a2803b81665e78f7289c6b6205300"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/cf7757c4d3d4806ba695546adee0a48faf77a41a20684ee3fce9b097b3d7f841a7d2bc7bc05346b09631f8ac74824c09eb559bce2f2892d2928531d1f6926bb0.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/cf7757c4d3d4806ba695546adee0a48faf77a41a20684ee3fce9b097b3d7f841a7d2bc7bc05346b09631f8ac74824c09eb559bce2f2892d2928531d1f6926bb0.snapshot.json
deleted file mode 100644
index 9b59478..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/cf7757c4d3d4806ba695546adee0a48faf77a41a20684ee3fce9b097b3d7f841a7d2bc7bc05346b09631f8ac74824c09eb559bce2f2892d2928531d1f6926bb0.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"ad825a9c0dd87c31e43e0e780c11ce2d2083ed2b2d0f4bf519a7687d4d6921f48540e9e53e609a7a6fb28f2e0cf8f438db8a3be7959afd3d923a6bec7601b46b"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"127f9850bc4cfd284b49dc9bac443cd936785790f7c553eac1012af2e76839cda7abced76b2e734bd762cc9081ab0cb666569d8a099dc82d00620990e495bed0"},"length":1429,"version":5}},"spec_version":"1.0","version":5},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"1f00f137b5498649cc6849df275fb045fe3383191fc9844e1708a926ecba9711254b3c96f17e15980a73c711a6f7065d30a77a171fa1cdfc635acfa40e0b8109"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"1f00f137b5498649cc6849df275fb045fe3383191fc9844e1708a926ecba9711254b3c96f17e15980a73c711a6f7065d30a77a171fa1cdfc635acfa40e0b8109"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c.root.json
deleted file mode 100644
index 20d1800..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"44a5d027b1a72719177183669f7d9d65439f97d54a40c381f19c389584f067f0","method":"ed25519","sig":"bb68cb8d5b2c477ecdf5fedbec57f948d94f728b30d74501ff2caebb5bba0368ce1b63b56cd7e26c2f8b32f3768432b7c316ff595e09873962fe986f39ddea0d"},{"keyid":"1dc84f0990e713166efe4d3cb6488b5174b8d8d16a63d91da077be22f2b740fe","method":"ed25519","sig":"bb68cb8d5b2c477ecdf5fedbec57f948d94f728b30d74501ff2caebb5bba0368ce1b63b56cd7e26c2f8b32f3768432b7c316ff595e09873962fe986f39ddea0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/d97ce215c27e7845bf1dbb4aac2672e8586576bb4473031583c1a2ccec2306cea7b24b4c7754844619ea90ae24be3b2660eda7d7001179f4ee217d66c65a9363.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/d97ce215c27e7845bf1dbb4aac2672e8586576bb4473031583c1a2ccec2306cea7b24b4c7754844619ea90ae24be3b2660eda7d7001179f4ee217d66c65a9363.snapshot.json
deleted file mode 100644
index 9a20217..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/d97ce215c27e7845bf1dbb4aac2672e8586576bb4473031583c1a2ccec2306cea7b24b4c7754844619ea90ae24be3b2660eda7d7001179f4ee217d66c65a9363.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"ad825a9c0dd87c31e43e0e780c11ce2d2083ed2b2d0f4bf519a7687d4d6921f48540e9e53e609a7a6fb28f2e0cf8f438db8a3be7959afd3d923a6bec7601b46b"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"2adc85f0a43e959da0dcf6e40be05b378b80f52489807dfbf80057acf2481385ca0eac594a8e1b1aca6379ac256d26a812e79c5c4e244040ec721fb887e3bfaa"},"length":1597,"version":6}},"spec_version":"1.0","version":6},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"890cdac27022618491c2ec0cdffb526fa8ad2c25ec7c7caa71626e5d0cbe78d673f0e5c4c405eefb2af0b3ad4abf36bd00e25c9166f1df9b6fcebc655a34e004"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"890cdac27022618491c2ec0cdffb526fa8ad2c25ec7c7caa71626e5d0cbe78d673f0e5c4c405eefb2af0b3ad4abf36bd00e25c9166f1df9b6fcebc655a34e004"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/eda055b819c624817f6a87f5e5b545044c93200fc4f3e06f51b417e7b7da94eb61dd94d3aae2fbd7461d12430222b795f3758ce7eb135197a0a554b21c621350.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/eda055b819c624817f6a87f5e5b545044c93200fc4f3e06f51b417e7b7da94eb61dd94d3aae2fbd7461d12430222b795f3758ce7eb135197a0a554b21c621350.targets.json
deleted file mode 100644
index eb3ff57..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/eda055b819c624817f6a87f5e5b545044c93200fc4f3e06f51b417e7b7da94eb61dd94d3aae2fbd7461d12430222b795f3758ce7eb135197a0a554b21c621350.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"df34db3f94a46c54aa8a81598c5090720e72d2d92262ed3aa8ed732791f66082508c8f92c99aaff9853f9e223e70c0aed65bb5c8fb3060b04e0380fe93a2dc09"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"df34db3f94a46c54aa8a81598c5090720e72d2d92262ed3aa8ed732791f66082508c8f92c99aaff9853f9e223e70c0aed65bb5c8fb3060b04e0380fe93a2dc09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/root.json
deleted file mode 100644
index b31f0ad..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"},"scheme":"ed25519"},"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"},"scheme":"ed25519"},"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88884ccace49fe706341097367f1d9df0ace55895b1fb938b9aa78292c7e3d33"},"scheme":"ed25519"},"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"},"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"018f7eaf814fc74a459c34a42eb21e85d2998272fa6ed6775697478c6753feb3"},"scheme":"ed25519"},"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759","086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7"],"threshold":1},"snapshot":{"keyids":["90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc"],"threshold":1},"targets":{"keyids":["835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da"],"threshold":1},"timestamp":{"keyids":["ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71"],"threshold":1}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"8e4ffbc6bb2f129cb70d385ed761af8680eff2cd39e8f956a206ae34cf47f759","method":"ed25519","sig":"42e6e101795a25d600635d21e05086b136a08ca561e9cfc9eeb943d806e86c9e1c9d91865d6523cf79e32d9ab06f400dbd3a2803b81665e78f7289c6b6205300"},{"keyid":"086057b2ea40b806bedcae783e2849b46e0c6426087945c45da8f1946f6dace7","method":"ed25519","sig":"42e6e101795a25d600635d21e05086b136a08ca561e9cfc9eeb943d806e86c9e1c9d91865d6523cf79e32d9ab06f400dbd3a2803b81665e78f7289c6b6205300"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/root.json
new file mode 120000
index 0000000..3d14058
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/root.json
@@ -0,0 +1 @@
+../../4/repository/root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/snapshot.json
index 9a20217..45ef450 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/snapshot.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/snapshot.json
@@ -1 +1,36 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"ad825a9c0dd87c31e43e0e780c11ce2d2083ed2b2d0f4bf519a7687d4d6921f48540e9e53e609a7a6fb28f2e0cf8f438db8a3be7959afd3d923a6bec7601b46b"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"2adc85f0a43e959da0dcf6e40be05b378b80f52489807dfbf80057acf2481385ca0eac594a8e1b1aca6379ac256d26a812e79c5c4e244040ec721fb887e3bfaa"},"length":1597,"version":6}},"spec_version":"1.0","version":6},"signatures":[{"keyid":"90291a94eb62fda1784661cab332b6e9d606d05d0de55542a7cc3c6f77821438","method":"ed25519","sig":"890cdac27022618491c2ec0cdffb526fa8ad2c25ec7c7caa71626e5d0cbe78d673f0e5c4c405eefb2af0b3ad4abf36bd00e25c9166f1df9b6fcebc655a34e004"},{"keyid":"4a9836b6a931cf90c4281f10dbb86e58a725c9c2bb2bc88782494c8897bde9cc","method":"ed25519","sig":"890cdac27022618491c2ec0cdffb526fa8ad2c25ec7c7caa71626e5d0cbe78d673f0e5c4c405eefb2af0b3ad4abf36bd00e25c9166f1df9b6fcebc655a34e004"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "snapshot",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"root.json": {
+				"hashes": {
+					"sha512": "29ac40063fd2e29bc2407c049680908d442a53b7bd78ff012fafb1571b0c1f8435ebf96ee33432dd4ebcfde128f7c32ba417f1f66b16742b9d306afac00149e6"
+				},
+				"length": 3832,
+				"version": 4
+			},
+			"targets.json": {
+				"hashes": {
+					"sha512": "ded992dd6e0f1ca664ccd05374bc14ae670a900dd2b4354155e349feee131b57c0c4df9b54f567eee8bce6501bada871531b494f96c5cc70690c7b4a1c3182d5"
+				},
+				"length": 1871,
+				"version": 6
+			}
+		},
+		"spec_version": "1.0",
+		"version": 6
+	},
+	"signatures": [
+		{
+			"keyid": "bed15bf57ba4deb4e09667099d45d119504420983d16fd0927ebfb0c25184e7f",
+			"method": "ed25519",
+			"sig": "fd167fcf5cdca4333a9fb08a43510cf9a849c669e37c1320e074e859109cf156487a527680d97b987fcb64cd8d98f04035c8ee4c9cda0f70f169bc3277410e0e"
+		},
+		{
+			"keyid": "ad7c98dfb3b99024f8b49e33f3d92e66537f0abab78a84f1e4b667dfbf52bf60",
+			"method": "ed25519",
+			"sig": "fd167fcf5cdca4333a9fb08a43510cf9a849c669e37c1320e074e859109cf156487a527680d97b987fcb64cd8d98f04035c8ee4c9cda0f70f169bc3277410e0e"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets.json
index d5b9cbc..0db25c3 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets.json
@@ -1 +1,58 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1},"4":{"hashes":{"sha512":"a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568"},"length":1},"5":{"hashes":{"sha512":"06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25"},"length":1}},"version":6},"signatures":[{"keyid":"835d47b93cfa992987a9c86e85f7852f2bce9bbc686c7604508dc146e1107e97","method":"ed25519","sig":"f70c930a5742b6ba9d7a1aa2f3e027f78cfb97498459fd7a390d4ed962be0c0718358204c7f333cb5957abfcbc1282f41e4f6ff28fee64ff663bb48149b1ee0d"},{"keyid":"c19e03cef4b64b8066badd12bb73fa9753cc0ea5ad658c6f0d52b05cf4dd55da","method":"ed25519","sig":"f70c930a5742b6ba9d7a1aa2f3e027f78cfb97498459fd7a390d4ed962be0c0718358204c7f333cb5957abfcbc1282f41e4f6ff28fee64ff663bb48149b1ee0d"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "targets",
+		"expires": "2100-01-01T00:00:00Z",
+		"spec_version": "1.0",
+		"targets": {
+			"0": {
+				"hashes": {
+					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
+				},
+				"length": 1
+			},
+			"1": {
+				"hashes": {
+					"sha512": "4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"
+				},
+				"length": 1
+			},
+			"2": {
+				"hashes": {
+					"sha512": "40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"
+				},
+				"length": 1
+			},
+			"3": {
+				"hashes": {
+					"sha512": "3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"
+				},
+				"length": 1
+			},
+			"4": {
+				"hashes": {
+					"sha512": "a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568"
+				},
+				"length": 1
+			},
+			"5": {
+				"hashes": {
+					"sha512": "06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25"
+				},
+				"length": 1
+			}
+		},
+		"version": 6
+	},
+	"signatures": [
+		{
+			"keyid": "b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+			"method": "ed25519",
+			"sig": "4d0beb0e65a6a3c7de8b78fc2339e82105a86afec1dbae2da073bff472d66d7c522202bae21756d03d43a25df72df40dc01840616ce5badd3082eb11feb90d0a"
+		},
+		{
+			"keyid": "d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556",
+			"method": "ed25519",
+			"sig": "4d0beb0e65a6a3c7de8b78fc2339e82105a86afec1dbae2da073bff472d66d7c522202bae21756d03d43a25df72df40dc01840616ce5badd3082eb11feb90d0a"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/0
new file mode 120000
index 0000000..94cc287
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/0
@@ -0,0 +1 @@
+../../../4/repository/targets/0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/0.0
deleted file mode 100644
index c227083..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/0.0
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/0.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/0.1
deleted file mode 100644
index 56a6051..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/0.1
+++ /dev/null
@@ -1 +0,0 @@
-1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/0.2 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/0.2
deleted file mode 100644
index d8263ee..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/0.2
+++ /dev/null
@@ -1 +0,0 @@
-2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/0.3 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/0.3
deleted file mode 100644
index e440e5c..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/0.3
+++ /dev/null
@@ -1 +0,0 @@
-3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/0.4 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/0.4
deleted file mode 100644
index bf0d87a..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/0.4
+++ /dev/null
@@ -1 +0,0 @@
-4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5
deleted file mode 100644
index 7813681..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5
+++ /dev/null
@@ -1 +0,0 @@
-5
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/1
new file mode 120000
index 0000000..51c7c9a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/1
@@ -0,0 +1 @@
+../../../4/repository/targets/1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/2 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/2
new file mode 120000
index 0000000..46e3032
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/2
@@ -0,0 +1 @@
+../../../4/repository/targets/2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/3 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/3
new file mode 120000
index 0000000..ca268e9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/3
@@ -0,0 +1 @@
+../../../4/repository/targets/3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
deleted file mode 100644
index c227083..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
deleted file mode 100644
index e440e5c..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
+++ /dev/null
@@ -1 +0,0 @@
-3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/4 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/4
new file mode 120000
index 0000000..19339ad
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/4
@@ -0,0 +1 @@
+../../../4/repository/targets/4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
deleted file mode 100644
index d8263ee..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
+++ /dev/null
@@ -1 +0,0 @@
-2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
deleted file mode 100644
index 56a6051..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
+++ /dev/null
@@ -1 +0,0 @@
-1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/0.5 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/5
similarity index 100%
rename from client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/0.5
rename to client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/5
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
deleted file mode 100644
index bf0d87a..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
+++ /dev/null
@@ -1 +0,0 @@
-4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/timestamp.json
index dbe74fd..7f2e37a 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/timestamp.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/timestamp.json
@@ -1 +1,29 @@
-{"signed":{"_type":"timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"d97ce215c27e7845bf1dbb4aac2672e8586576bb4473031583c1a2ccec2306cea7b24b4c7754844619ea90ae24be3b2660eda7d7001179f4ee217d66c65a9363"},"length":972,"version":6}},"spec_version":"1.0","version":6},"signatures":[{"keyid":"ebb1bada37d880aef004ac2df19569a29e9bbbbf4ac4172ea4c625acdc550ff4","method":"ed25519","sig":"a24ea4ca07cd89db6d046ddbf14532364e301384771d6e9ccf7dbcc243d092732eea90b4a4c361c1132184cfb68d266a19988d4aaf210853d11d7ef3d074c10a"},{"keyid":"b5b23fcf8c2cea49cbf699df0e5a2d161a2b2c4515e28326ce167ffc97d96d71","method":"ed25519","sig":"a24ea4ca07cd89db6d046ddbf14532364e301384771d6e9ccf7dbcc243d092732eea90b4a4c361c1132184cfb68d266a19988d4aaf210853d11d7ef3d074c10a"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "timestamp",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"snapshot.json": {
+				"hashes": {
+					"sha512": "f17638a24cc81d96951118f789e9c221132a655855a408c78efc4f44ed390df2d1719ea2a9bf75d2d70f3fd6dbc516600f38a743160155460f43c1eef6c48b27"
+				},
+				"length": 1126,
+				"version": 6
+			}
+		},
+		"spec_version": "1.0",
+		"version": 6
+	},
+	"signatures": [
+		{
+			"keyid": "79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0",
+			"method": "ed25519",
+			"sig": "90ab6dde8ddf689abade92b950402e9aef731269796f132ebbff0f35a5a64ee27cc4fcd6188483aa602efd7e124977f4a791a359abfd1e9b68d08c89acddea04"
+		},
+		{
+			"keyid": "e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d",
+			"method": "ed25519",
+			"sig": "90ab6dde8ddf689abade92b950402e9aef731269796f132ebbff0f35a5a64ee27cc4fcd6188483aa602efd7e124977f4a791a359abfd1e9b68d08c89acddea04"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/keys/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/keys/root.json
index af8add2..20f7ab8 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/keys/root.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/keys/root.json
@@ -5,11 +5,11 @@
 			"keytype": "ed25519",
 			"scheme": "ed25519",
 			"keyid_hash_algorithms": [
-				"sha512"
+				"sha256"
 			],
 			"keyval": {
-				"public": "c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2",
-				"private": "03805d15a81784855af1d957ad6db22dd8fe2c94781a068c9d65b895f87aa1b1c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"
+				"public": "bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca",
+				"private": "68c2a06583ce83dabb1fc5d2b3697015b936f341f21be1be1397670a650ebd53bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca"
 			}
 		}
 	]
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/keys/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/keys/snapshot.json
index 63867bf..215f430 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/keys/snapshot.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/keys/snapshot.json
@@ -5,11 +5,11 @@
 			"keytype": "ed25519",
 			"scheme": "ed25519",
 			"keyid_hash_algorithms": [
-				"sha512"
+				"sha256"
 			],
 			"keyval": {
-				"public": "ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517",
-				"private": "a36682d4e7d45d509b657c80bc808603e0ba2ce0cbf54694f7e58c2bb7fc381ded4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"
+				"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94",
+				"private": "28de1763cc4cc78702167bd6cf862fc3977afc2404c5eebbdfb948bab55f14f0d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
 			}
 		}
 	]
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/keys/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/keys/targets.json
index 04b647b..f288768 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/keys/targets.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/keys/targets.json
@@ -5,11 +5,11 @@
 			"keytype": "ed25519",
 			"scheme": "ed25519",
 			"keyid_hash_algorithms": [
-				"sha512"
+				"sha256"
 			],
 			"keyval": {
-				"public": "35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb",
-				"private": "4ed1e6ebbbaa57ddf1a0e01aa9e8ccf91b53fde12fed1ad9aea393f50d68ab9535f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"
+				"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a",
+				"private": "dee6d1fa7f041bee48a4e783d416e12c72ecdbd164202a71b23149adbb1c3d1f62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
 			}
 		}
 	]
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/keys/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/keys/timestamp.json
index 8fc8926..873c002 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/keys/timestamp.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/keys/timestamp.json
@@ -5,11 +5,11 @@
 			"keytype": "ed25519",
 			"scheme": "ed25519",
 			"keyid_hash_algorithms": [
-				"sha512"
+				"sha256"
 			],
 			"keyval": {
-				"public": "0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7",
-				"private": "32b3fc0fbfca0d6c40560804020a50042c1385604b826c41575afb6dbf124f390c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"
+				"public": "8656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160",
+				"private": "2ef838a6f0aa4bc0a746b8086098683f96bb5118c4dca7d3caa3dee5c86ea8398656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160"
 			}
 		}
 	]
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/1.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/1.root.json
index 5c62584..93189d2 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/1.root.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/1.root.json
@@ -1 +1,133 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1de2ee941697a910bccddd52dd7f379f9a447da5f78db7147660b1ef48da2256":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"},"scheme":"ed25519"},"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"703624c663edb3f393804dfe7ce22f80a99b7d75c946a8a263231d6d15407af7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["1de2ee941697a910bccddd52dd7f379f9a447da5f78db7147660b1ef48da2256","703624c663edb3f393804dfe7ce22f80a99b7d75c946a8a263231d6d15407af7"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"64c0f98592410dd851b25a59f9a1a9fb48d4911ecd4795ae415d6e1e9c5d3067a97cf24d2b463c2e6faad47fb68dbc41d4ced93bdb17852fec782e8da2bb370a"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"64c0f98592410dd851b25a59f9a1a9fb48d4911ecd4795ae415d6e1e9c5d3067a97cf24d2b463c2e6faad47fb68dbc41d4ced93bdb17852fec782e8da2bb370a"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "root",
+		"consistent_snapshot": true,
+		"expires": "2100-01-01T00:00:00Z",
+		"keys": {
+			"160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca"
+				},
+				"scheme": "ed25519"
+			},
+			"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"b59406a55fbe2492022f2951dacd01fc7b400b7b41ec4028b8356161a5a71a33": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "8656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160"
+				},
+				"scheme": "ed25519"
+			},
+			"c7a2ca868b0e65b50cc6a2dfcfd9c129bdcb3da390ac78bb83a732be02ed5a5d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "8656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160"
+				},
+				"scheme": "ed25519"
+			},
+			"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca"
+				},
+				"scheme": "ed25519"
+			}
+		},
+		"roles": {
+			"root": {
+				"keyids": [
+					"160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7",
+					"f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953"
+				],
+				"threshold": 1
+			},
+			"snapshot": {
+				"keyids": [
+					"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+					"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d"
+				],
+				"threshold": 1
+			},
+			"targets": {
+				"keyids": [
+					"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+					"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556"
+				],
+				"threshold": 1
+			},
+			"timestamp": {
+				"keyids": [
+					"b59406a55fbe2492022f2951dacd01fc7b400b7b41ec4028b8356161a5a71a33",
+					"c7a2ca868b0e65b50cc6a2dfcfd9c129bdcb3da390ac78bb83a732be02ed5a5d"
+				],
+				"threshold": 1
+			}
+		},
+		"spec_version": "1.0",
+		"version": 1
+	},
+	"signatures": [
+		{
+			"keyid": "160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7",
+			"method": "ed25519",
+			"sig": "485c97e0bb392ee60f9644cdd430f1325cb2329a8c0223fc69b209061d8f3a72268a087f4a715f5a0f70f967edaecebdcc8e9fc914ea8aff1c9741d495f5f904"
+		},
+		{
+			"keyid": "f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953",
+			"method": "ed25519",
+			"sig": "485c97e0bb392ee60f9644cdd430f1325cb2329a8c0223fc69b209061d8f3a72268a087f4a715f5a0f70f967edaecebdcc8e9fc914ea8aff1c9741d495f5f904"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/1.snapshot.json
index 5423a69..7bf654d 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/1.snapshot.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/1.snapshot.json
@@ -1 +1,36 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624"},"length":757,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"997c432689ad2de3a379c95f3a28fff2d1f9b2efa39989a6d3fc2138ffa5d3e87ad29a28547a837bd7e1b51f540c2d909af55840cd8dc7ff01a568858e42b007"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"997c432689ad2de3a379c95f3a28fff2d1f9b2efa39989a6d3fc2138ffa5d3e87ad29a28547a837bd7e1b51f540c2d909af55840cd8dc7ff01a568858e42b007"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "snapshot",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"root.json": {
+				"hashes": {
+					"sha512": "bf4f7f4a062fd3780055d98572619db84d6d6c9b9b647bf6bca1190e984963ffb86189fb455110f4c13956ce9cbe72d95d03c5e6d72295414ac6bbcc3d1957c3"
+				},
+				"length": 3831,
+				"version": 1
+			},
+			"targets.json": {
+				"hashes": {
+					"sha512": "6ecff211b4df20d84e5a99a1145b7f96752efe880147439a3a8c2ecc080762f84b5b784da1b41d2ccb1492d112c521b4b82973589285dfbcfbb6c423c559ff4e"
+				},
+				"length": 866,
+				"version": 1
+			}
+		},
+		"spec_version": "1.0",
+		"version": 1
+	},
+	"signatures": [
+		{
+			"keyid": "d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+			"method": "ed25519",
+			"sig": "f2ee59f04d66fa5a73249e985bae22e04bad839131334b630a2bd57566a2da2e5c32179c147daac927909a88a4896cc541dc30129450549c63b41bb5f0506e0d"
+		},
+		{
+			"keyid": "7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d",
+			"method": "ed25519",
+			"sig": "f2ee59f04d66fa5a73249e985bae22e04bad839131334b630a2bd57566a2da2e5c32179c147daac927909a88a4896cc541dc30129450549c63b41bb5f0506e0d"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/1.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/1.targets.json
index ec4336b..60091e7 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/1.targets.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/1.targets.json
@@ -1 +1,28 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"443b774c4daddeb137a6bdb0800cdf4450bb7a11bfb1df5a745641c16e7ea9503d1db05da4a8ce165034c602e708ef60a3a5d6d28af5b7c1479ef4dc4ef0bf04"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"443b774c4daddeb137a6bdb0800cdf4450bb7a11bfb1df5a745641c16e7ea9503d1db05da4a8ce165034c602e708ef60a3a5d6d28af5b7c1479ef4dc4ef0bf04"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "targets",
+		"expires": "2100-01-01T00:00:00Z",
+		"spec_version": "1.0",
+		"targets": {
+			"0": {
+				"hashes": {
+					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
+				},
+				"length": 1
+			}
+		},
+		"version": 1
+	},
+	"signatures": [
+		{
+			"keyid": "b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+			"method": "ed25519",
+			"sig": "4d5c3a5da43f3792d077c1128fa28585982ff2957fae59be02a831fc920d0b91cbeaa99fd6c15066ec4da8bf12f993440a90d1624fd7b0a68070e5d60ed2500f"
+		},
+		{
+			"keyid": "d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556",
+			"method": "ed25519",
+			"sig": "4d5c3a5da43f3792d077c1128fa28585982ff2957fae59be02a831fc920d0b91cbeaa99fd6c15066ec4da8bf12f993440a90d1624fd7b0a68070e5d60ed2500f"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json
deleted file mode 100644
index 5c62584..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1de2ee941697a910bccddd52dd7f379f9a447da5f78db7147660b1ef48da2256":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"},"scheme":"ed25519"},"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"703624c663edb3f393804dfe7ce22f80a99b7d75c946a8a263231d6d15407af7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["1de2ee941697a910bccddd52dd7f379f9a447da5f78db7147660b1ef48da2256","703624c663edb3f393804dfe7ce22f80a99b7d75c946a8a263231d6d15407af7"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"64c0f98592410dd851b25a59f9a1a9fb48d4911ecd4795ae415d6e1e9c5d3067a97cf24d2b463c2e6faad47fb68dbc41d4ced93bdb17852fec782e8da2bb370a"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"64c0f98592410dd851b25a59f9a1a9fb48d4911ecd4795ae415d6e1e9c5d3067a97cf24d2b463c2e6faad47fb68dbc41d4ced93bdb17852fec782e8da2bb370a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json
deleted file mode 100644
index ec4336b..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"443b774c4daddeb137a6bdb0800cdf4450bb7a11bfb1df5a745641c16e7ea9503d1db05da4a8ce165034c602e708ef60a3a5d6d28af5b7c1479ef4dc4ef0bf04"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"443b774c4daddeb137a6bdb0800cdf4450bb7a11bfb1df5a745641c16e7ea9503d1db05da4a8ce165034c602e708ef60a3a5d6d28af5b7c1479ef4dc4ef0bf04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/33b282c1970996734deff944f2862f84b196f0b2b67dfa7383f75f95ef3e8673602aa411e05572075729ead6caa35df6720ce5723fd67c63d4aaa81dd966c5a4.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/33b282c1970996734deff944f2862f84b196f0b2b67dfa7383f75f95ef3e8673602aa411e05572075729ead6caa35df6720ce5723fd67c63d4aaa81dd966c5a4.snapshot.json
new file mode 100644
index 0000000..7bf654d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/33b282c1970996734deff944f2862f84b196f0b2b67dfa7383f75f95ef3e8673602aa411e05572075729ead6caa35df6720ce5723fd67c63d4aaa81dd966c5a4.snapshot.json
@@ -0,0 +1,36 @@
+{
+	"signed": {
+		"_type": "snapshot",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"root.json": {
+				"hashes": {
+					"sha512": "bf4f7f4a062fd3780055d98572619db84d6d6c9b9b647bf6bca1190e984963ffb86189fb455110f4c13956ce9cbe72d95d03c5e6d72295414ac6bbcc3d1957c3"
+				},
+				"length": 3831,
+				"version": 1
+			},
+			"targets.json": {
+				"hashes": {
+					"sha512": "6ecff211b4df20d84e5a99a1145b7f96752efe880147439a3a8c2ecc080762f84b5b784da1b41d2ccb1492d112c521b4b82973589285dfbcfbb6c423c559ff4e"
+				},
+				"length": 866,
+				"version": 1
+			}
+		},
+		"spec_version": "1.0",
+		"version": 1
+	},
+	"signatures": [
+		{
+			"keyid": "d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+			"method": "ed25519",
+			"sig": "f2ee59f04d66fa5a73249e985bae22e04bad839131334b630a2bd57566a2da2e5c32179c147daac927909a88a4896cc541dc30129450549c63b41bb5f0506e0d"
+		},
+		{
+			"keyid": "7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d",
+			"method": "ed25519",
+			"sig": "f2ee59f04d66fa5a73249e985bae22e04bad839131334b630a2bd57566a2da2e5c32179c147daac927909a88a4896cc541dc30129450549c63b41bb5f0506e0d"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/6ecff211b4df20d84e5a99a1145b7f96752efe880147439a3a8c2ecc080762f84b5b784da1b41d2ccb1492d112c521b4b82973589285dfbcfbb6c423c559ff4e.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/6ecff211b4df20d84e5a99a1145b7f96752efe880147439a3a8c2ecc080762f84b5b784da1b41d2ccb1492d112c521b4b82973589285dfbcfbb6c423c559ff4e.targets.json
new file mode 100644
index 0000000..60091e7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/6ecff211b4df20d84e5a99a1145b7f96752efe880147439a3a8c2ecc080762f84b5b784da1b41d2ccb1492d112c521b4b82973589285dfbcfbb6c423c559ff4e.targets.json
@@ -0,0 +1,28 @@
+{
+	"signed": {
+		"_type": "targets",
+		"expires": "2100-01-01T00:00:00Z",
+		"spec_version": "1.0",
+		"targets": {
+			"0": {
+				"hashes": {
+					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
+				},
+				"length": 1
+			}
+		},
+		"version": 1
+	},
+	"signatures": [
+		{
+			"keyid": "b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+			"method": "ed25519",
+			"sig": "4d5c3a5da43f3792d077c1128fa28585982ff2957fae59be02a831fc920d0b91cbeaa99fd6c15066ec4da8bf12f993440a90d1624fd7b0a68070e5d60ed2500f"
+		},
+		{
+			"keyid": "d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556",
+			"method": "ed25519",
+			"sig": "4d5c3a5da43f3792d077c1128fa28585982ff2957fae59be02a831fc920d0b91cbeaa99fd6c15066ec4da8bf12f993440a90d1624fd7b0a68070e5d60ed2500f"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/bf4f7f4a062fd3780055d98572619db84d6d6c9b9b647bf6bca1190e984963ffb86189fb455110f4c13956ce9cbe72d95d03c5e6d72295414ac6bbcc3d1957c3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/bf4f7f4a062fd3780055d98572619db84d6d6c9b9b647bf6bca1190e984963ffb86189fb455110f4c13956ce9cbe72d95d03c5e6d72295414ac6bbcc3d1957c3.root.json
new file mode 100644
index 0000000..93189d2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/bf4f7f4a062fd3780055d98572619db84d6d6c9b9b647bf6bca1190e984963ffb86189fb455110f4c13956ce9cbe72d95d03c5e6d72295414ac6bbcc3d1957c3.root.json
@@ -0,0 +1,133 @@
+{
+	"signed": {
+		"_type": "root",
+		"consistent_snapshot": true,
+		"expires": "2100-01-01T00:00:00Z",
+		"keys": {
+			"160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca"
+				},
+				"scheme": "ed25519"
+			},
+			"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"b59406a55fbe2492022f2951dacd01fc7b400b7b41ec4028b8356161a5a71a33": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "8656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160"
+				},
+				"scheme": "ed25519"
+			},
+			"c7a2ca868b0e65b50cc6a2dfcfd9c129bdcb3da390ac78bb83a732be02ed5a5d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "8656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160"
+				},
+				"scheme": "ed25519"
+			},
+			"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca"
+				},
+				"scheme": "ed25519"
+			}
+		},
+		"roles": {
+			"root": {
+				"keyids": [
+					"160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7",
+					"f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953"
+				],
+				"threshold": 1
+			},
+			"snapshot": {
+				"keyids": [
+					"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+					"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d"
+				],
+				"threshold": 1
+			},
+			"targets": {
+				"keyids": [
+					"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+					"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556"
+				],
+				"threshold": 1
+			},
+			"timestamp": {
+				"keyids": [
+					"b59406a55fbe2492022f2951dacd01fc7b400b7b41ec4028b8356161a5a71a33",
+					"c7a2ca868b0e65b50cc6a2dfcfd9c129bdcb3da390ac78bb83a732be02ed5a5d"
+				],
+				"threshold": 1
+			}
+		},
+		"spec_version": "1.0",
+		"version": 1
+	},
+	"signatures": [
+		{
+			"keyid": "160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7",
+			"method": "ed25519",
+			"sig": "485c97e0bb392ee60f9644cdd430f1325cb2329a8c0223fc69b209061d8f3a72268a087f4a715f5a0f70f967edaecebdcc8e9fc914ea8aff1c9741d495f5f904"
+		},
+		{
+			"keyid": "f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953",
+			"method": "ed25519",
+			"sig": "485c97e0bb392ee60f9644cdd430f1325cb2329a8c0223fc69b209061d8f3a72268a087f4a715f5a0f70f967edaecebdcc8e9fc914ea8aff1c9741d495f5f904"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json
deleted file mode 100644
index 5423a69..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624"},"length":757,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"997c432689ad2de3a379c95f3a28fff2d1f9b2efa39989a6d3fc2138ffa5d3e87ad29a28547a837bd7e1b51f540c2d909af55840cd8dc7ff01a568858e42b007"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"997c432689ad2de3a379c95f3a28fff2d1f9b2efa39989a6d3fc2138ffa5d3e87ad29a28547a837bd7e1b51f540c2d909af55840cd8dc7ff01a568858e42b007"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/root.json
index 5c62584..93189d2 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/root.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/root.json
@@ -1 +1,133 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1de2ee941697a910bccddd52dd7f379f9a447da5f78db7147660b1ef48da2256":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"},"scheme":"ed25519"},"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"703624c663edb3f393804dfe7ce22f80a99b7d75c946a8a263231d6d15407af7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["1de2ee941697a910bccddd52dd7f379f9a447da5f78db7147660b1ef48da2256","703624c663edb3f393804dfe7ce22f80a99b7d75c946a8a263231d6d15407af7"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"64c0f98592410dd851b25a59f9a1a9fb48d4911ecd4795ae415d6e1e9c5d3067a97cf24d2b463c2e6faad47fb68dbc41d4ced93bdb17852fec782e8da2bb370a"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"64c0f98592410dd851b25a59f9a1a9fb48d4911ecd4795ae415d6e1e9c5d3067a97cf24d2b463c2e6faad47fb68dbc41d4ced93bdb17852fec782e8da2bb370a"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "root",
+		"consistent_snapshot": true,
+		"expires": "2100-01-01T00:00:00Z",
+		"keys": {
+			"160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca"
+				},
+				"scheme": "ed25519"
+			},
+			"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"b59406a55fbe2492022f2951dacd01fc7b400b7b41ec4028b8356161a5a71a33": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "8656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160"
+				},
+				"scheme": "ed25519"
+			},
+			"c7a2ca868b0e65b50cc6a2dfcfd9c129bdcb3da390ac78bb83a732be02ed5a5d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "8656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160"
+				},
+				"scheme": "ed25519"
+			},
+			"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca"
+				},
+				"scheme": "ed25519"
+			}
+		},
+		"roles": {
+			"root": {
+				"keyids": [
+					"160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7",
+					"f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953"
+				],
+				"threshold": 1
+			},
+			"snapshot": {
+				"keyids": [
+					"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+					"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d"
+				],
+				"threshold": 1
+			},
+			"targets": {
+				"keyids": [
+					"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+					"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556"
+				],
+				"threshold": 1
+			},
+			"timestamp": {
+				"keyids": [
+					"b59406a55fbe2492022f2951dacd01fc7b400b7b41ec4028b8356161a5a71a33",
+					"c7a2ca868b0e65b50cc6a2dfcfd9c129bdcb3da390ac78bb83a732be02ed5a5d"
+				],
+				"threshold": 1
+			}
+		},
+		"spec_version": "1.0",
+		"version": 1
+	},
+	"signatures": [
+		{
+			"keyid": "160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7",
+			"method": "ed25519",
+			"sig": "485c97e0bb392ee60f9644cdd430f1325cb2329a8c0223fc69b209061d8f3a72268a087f4a715f5a0f70f967edaecebdcc8e9fc914ea8aff1c9741d495f5f904"
+		},
+		{
+			"keyid": "f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953",
+			"method": "ed25519",
+			"sig": "485c97e0bb392ee60f9644cdd430f1325cb2329a8c0223fc69b209061d8f3a72268a087f4a715f5a0f70f967edaecebdcc8e9fc914ea8aff1c9741d495f5f904"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/snapshot.json
index 5423a69..7bf654d 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/snapshot.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/snapshot.json
@@ -1 +1,36 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624"},"length":757,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"997c432689ad2de3a379c95f3a28fff2d1f9b2efa39989a6d3fc2138ffa5d3e87ad29a28547a837bd7e1b51f540c2d909af55840cd8dc7ff01a568858e42b007"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"997c432689ad2de3a379c95f3a28fff2d1f9b2efa39989a6d3fc2138ffa5d3e87ad29a28547a837bd7e1b51f540c2d909af55840cd8dc7ff01a568858e42b007"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "snapshot",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"root.json": {
+				"hashes": {
+					"sha512": "bf4f7f4a062fd3780055d98572619db84d6d6c9b9b647bf6bca1190e984963ffb86189fb455110f4c13956ce9cbe72d95d03c5e6d72295414ac6bbcc3d1957c3"
+				},
+				"length": 3831,
+				"version": 1
+			},
+			"targets.json": {
+				"hashes": {
+					"sha512": "6ecff211b4df20d84e5a99a1145b7f96752efe880147439a3a8c2ecc080762f84b5b784da1b41d2ccb1492d112c521b4b82973589285dfbcfbb6c423c559ff4e"
+				},
+				"length": 866,
+				"version": 1
+			}
+		},
+		"spec_version": "1.0",
+		"version": 1
+	},
+	"signatures": [
+		{
+			"keyid": "d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+			"method": "ed25519",
+			"sig": "f2ee59f04d66fa5a73249e985bae22e04bad839131334b630a2bd57566a2da2e5c32179c147daac927909a88a4896cc541dc30129450549c63b41bb5f0506e0d"
+		},
+		{
+			"keyid": "7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d",
+			"method": "ed25519",
+			"sig": "f2ee59f04d66fa5a73249e985bae22e04bad839131334b630a2bd57566a2da2e5c32179c147daac927909a88a4896cc541dc30129450549c63b41bb5f0506e0d"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/targets.json
index ec4336b..60091e7 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/targets.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/targets.json
@@ -1 +1,28 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"443b774c4daddeb137a6bdb0800cdf4450bb7a11bfb1df5a745641c16e7ea9503d1db05da4a8ce165034c602e708ef60a3a5d6d28af5b7c1479ef4dc4ef0bf04"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"443b774c4daddeb137a6bdb0800cdf4450bb7a11bfb1df5a745641c16e7ea9503d1db05da4a8ce165034c602e708ef60a3a5d6d28af5b7c1479ef4dc4ef0bf04"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "targets",
+		"expires": "2100-01-01T00:00:00Z",
+		"spec_version": "1.0",
+		"targets": {
+			"0": {
+				"hashes": {
+					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
+				},
+				"length": 1
+			}
+		},
+		"version": 1
+	},
+	"signatures": [
+		{
+			"keyid": "b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+			"method": "ed25519",
+			"sig": "4d5c3a5da43f3792d077c1128fa28585982ff2957fae59be02a831fc920d0b91cbeaa99fd6c15066ec4da8bf12f993440a90d1624fd7b0a68070e5d60ed2500f"
+		},
+		{
+			"keyid": "d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556",
+			"method": "ed25519",
+			"sig": "4d5c3a5da43f3792d077c1128fa28585982ff2957fae59be02a831fc920d0b91cbeaa99fd6c15066ec4da8bf12f993440a90d1624fd7b0a68070e5d60ed2500f"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/timestamp.json
index 2d93956..ca0d4e3 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/timestamp.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/timestamp.json
@@ -1 +1,29 @@
-{"signed":{"_type":"timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67"},"length":971,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"1de2ee941697a910bccddd52dd7f379f9a447da5f78db7147660b1ef48da2256","method":"ed25519","sig":"11efc24643582d41078fe7c319bd3b660edbeee0b9d06369a5eb70caf2ea771df8123ada21c993985bbbd1e857efe7d6792d979f1bbe4f289e374f1e31bbaf01"},{"keyid":"703624c663edb3f393804dfe7ce22f80a99b7d75c946a8a263231d6d15407af7","method":"ed25519","sig":"11efc24643582d41078fe7c319bd3b660edbeee0b9d06369a5eb70caf2ea771df8123ada21c993985bbbd1e857efe7d6792d979f1bbe4f289e374f1e31bbaf01"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "timestamp",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"snapshot.json": {
+				"hashes": {
+					"sha512": "33b282c1970996734deff944f2862f84b196f0b2b67dfa7383f75f95ef3e8673602aa411e05572075729ead6caa35df6720ce5723fd67c63d4aaa81dd966c5a4"
+				},
+				"length": 1125,
+				"version": 1
+			}
+		},
+		"spec_version": "1.0",
+		"version": 1
+	},
+	"signatures": [
+		{
+			"keyid": "b59406a55fbe2492022f2951dacd01fc7b400b7b41ec4028b8356161a5a71a33",
+			"method": "ed25519",
+			"sig": "1b51547737f70f5a3c4ee95c4ae9698d571777dd8b0a3c5d57af266beb95802889b3d7ba9062ff06e85427f05b76ad193d5f3ca45e1be86a266e53b2d0526504"
+		},
+		{
+			"keyid": "c7a2ca868b0e65b50cc6a2dfcfd9c129bdcb3da390ac78bb83a732be02ed5a5d",
+			"method": "ed25519",
+			"sig": "1b51547737f70f5a3c4ee95c4ae9698d571777dd8b0a3c5d57af266beb95802889b3d7ba9062ff06e85427f05b76ad193d5f3ca45e1be86a266e53b2d0526504"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/root.json
deleted file mode 100644
index af8add2..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/root.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-	"encrypted": false,
-	"data": [
-		{
-			"keytype": "ed25519",
-			"scheme": "ed25519",
-			"keyid_hash_algorithms": [
-				"sha512"
-			],
-			"keyval": {
-				"public": "c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2",
-				"private": "03805d15a81784855af1d957ad6db22dd8fe2c94781a068c9d65b895f87aa1b1c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"
-			}
-		}
-	]
-}
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/root.json
new file mode 120000
index 0000000..4177eb3
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/root.json
@@ -0,0 +1 @@
+../../0/keys/root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/snapshot.json
deleted file mode 100644
index 63867bf..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/snapshot.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-	"encrypted": false,
-	"data": [
-		{
-			"keytype": "ed25519",
-			"scheme": "ed25519",
-			"keyid_hash_algorithms": [
-				"sha512"
-			],
-			"keyval": {
-				"public": "ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517",
-				"private": "a36682d4e7d45d509b657c80bc808603e0ba2ce0cbf54694f7e58c2bb7fc381ded4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"
-			}
-		}
-	]
-}
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/snapshot.json
new file mode 120000
index 0000000..26c030c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/snapshot.json
@@ -0,0 +1 @@
+../../0/keys/snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/targets.json
deleted file mode 100644
index 04b647b..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/targets.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-	"encrypted": false,
-	"data": [
-		{
-			"keytype": "ed25519",
-			"scheme": "ed25519",
-			"keyid_hash_algorithms": [
-				"sha512"
-			],
-			"keyval": {
-				"public": "35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb",
-				"private": "4ed1e6ebbbaa57ddf1a0e01aa9e8ccf91b53fde12fed1ad9aea393f50d68ab9535f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"
-			}
-		}
-	]
-}
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/targets.json
new file mode 120000
index 0000000..cb2245f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/targets.json
@@ -0,0 +1 @@
+../../0/keys/targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/timestamp.json
index 4c3c304..ea82dd8 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/timestamp.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/timestamp.json
@@ -5,22 +5,22 @@
 			"keytype": "ed25519",
 			"scheme": "ed25519",
 			"keyid_hash_algorithms": [
-				"sha512"
+				"sha256"
 			],
 			"keyval": {
-				"public": "0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7",
-				"private": "32b3fc0fbfca0d6c40560804020a50042c1385604b826c41575afb6dbf124f390c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"
+				"public": "8656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160",
+				"private": "2ef838a6f0aa4bc0a746b8086098683f96bb5118c4dca7d3caa3dee5c86ea8398656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160"
 			}
 		},
 		{
 			"keytype": "ed25519",
 			"scheme": "ed25519",
 			"keyid_hash_algorithms": [
-				"sha512"
+				"sha256"
 			],
 			"keyval": {
-				"public": "cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b",
-				"private": "b55b6f61ca3d2a77b5d2331787a77e430cd287d9eae4350292df8fc2fc0707f6cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"
+				"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76",
+				"private": "1d9a579675ee85074a7c5d8a3e4a58a21e82bddc53bbfe1bef547d681d4049783ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
 			}
 		}
 	]
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1.root.json
deleted file mode 100644
index 5c62584..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1de2ee941697a910bccddd52dd7f379f9a447da5f78db7147660b1ef48da2256":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"},"scheme":"ed25519"},"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"703624c663edb3f393804dfe7ce22f80a99b7d75c946a8a263231d6d15407af7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["1de2ee941697a910bccddd52dd7f379f9a447da5f78db7147660b1ef48da2256","703624c663edb3f393804dfe7ce22f80a99b7d75c946a8a263231d6d15407af7"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"64c0f98592410dd851b25a59f9a1a9fb48d4911ecd4795ae415d6e1e9c5d3067a97cf24d2b463c2e6faad47fb68dbc41d4ced93bdb17852fec782e8da2bb370a"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"64c0f98592410dd851b25a59f9a1a9fb48d4911ecd4795ae415d6e1e9c5d3067a97cf24d2b463c2e6faad47fb68dbc41d4ced93bdb17852fec782e8da2bb370a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1.root.json
new file mode 120000
index 0000000..0ffd2b6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1.root.json
@@ -0,0 +1 @@
+../../0/repository/1.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1.snapshot.json
deleted file mode 100644
index 5423a69..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624"},"length":757,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"997c432689ad2de3a379c95f3a28fff2d1f9b2efa39989a6d3fc2138ffa5d3e87ad29a28547a837bd7e1b51f540c2d909af55840cd8dc7ff01a568858e42b007"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"997c432689ad2de3a379c95f3a28fff2d1f9b2efa39989a6d3fc2138ffa5d3e87ad29a28547a837bd7e1b51f540c2d909af55840cd8dc7ff01a568858e42b007"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1.snapshot.json
new file mode 120000
index 0000000..840f843
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1.snapshot.json
@@ -0,0 +1 @@
+../../0/repository/1.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1.targets.json
deleted file mode 100644
index ec4336b..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"443b774c4daddeb137a6bdb0800cdf4450bb7a11bfb1df5a745641c16e7ea9503d1db05da4a8ce165034c602e708ef60a3a5d6d28af5b7c1479ef4dc4ef0bf04"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"443b774c4daddeb137a6bdb0800cdf4450bb7a11bfb1df5a745641c16e7ea9503d1db05da4a8ce165034c602e708ef60a3a5d6d28af5b7c1479ef4dc4ef0bf04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1.targets.json
new file mode 120000
index 0000000..4d11148
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1.targets.json
@@ -0,0 +1 @@
+../../0/repository/1.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json
deleted file mode 100644
index 5c62584..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1de2ee941697a910bccddd52dd7f379f9a447da5f78db7147660b1ef48da2256":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"},"scheme":"ed25519"},"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"703624c663edb3f393804dfe7ce22f80a99b7d75c946a8a263231d6d15407af7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["1de2ee941697a910bccddd52dd7f379f9a447da5f78db7147660b1ef48da2256","703624c663edb3f393804dfe7ce22f80a99b7d75c946a8a263231d6d15407af7"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"64c0f98592410dd851b25a59f9a1a9fb48d4911ecd4795ae415d6e1e9c5d3067a97cf24d2b463c2e6faad47fb68dbc41d4ced93bdb17852fec782e8da2bb370a"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"64c0f98592410dd851b25a59f9a1a9fb48d4911ecd4795ae415d6e1e9c5d3067a97cf24d2b463c2e6faad47fb68dbc41d4ced93bdb17852fec782e8da2bb370a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/118c2a2b6b9f7bc667dca8404a2671910a22b6fe48e460816a9f6f2be66f7806a789c9dc4880d2c2812c0bc7607caac30cc0a8299183fd7228e1049f6920ce22.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/118c2a2b6b9f7bc667dca8404a2671910a22b6fe48e460816a9f6f2be66f7806a789c9dc4880d2c2812c0bc7607caac30cc0a8299183fd7228e1049f6920ce22.targets.json
new file mode 100644
index 0000000..eeb97eb
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/118c2a2b6b9f7bc667dca8404a2671910a22b6fe48e460816a9f6f2be66f7806a789c9dc4880d2c2812c0bc7607caac30cc0a8299183fd7228e1049f6920ce22.targets.json
@@ -0,0 +1,34 @@
+{
+	"signed": {
+		"_type": "targets",
+		"expires": "2100-01-01T00:00:00Z",
+		"spec_version": "1.0",
+		"targets": {
+			"0": {
+				"hashes": {
+					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
+				},
+				"length": 1
+			},
+			"1": {
+				"hashes": {
+					"sha512": "4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"
+				},
+				"length": 1
+			}
+		},
+		"version": 2
+	},
+	"signatures": [
+		{
+			"keyid": "b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+			"method": "ed25519",
+			"sig": "81bcf5921834a20b8b0946815ad4316f43ffce20b3793e6653dc5fd4b98f1c6318ce2243948574e82414a102717a6f2d731250b3191c54abc8391fd867503e0b"
+		},
+		{
+			"keyid": "d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556",
+			"method": "ed25519",
+			"sig": "81bcf5921834a20b8b0946815ad4316f43ffce20b3793e6653dc5fd4b98f1c6318ce2243948574e82414a102717a6f2d731250b3191c54abc8391fd867503e0b"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json
deleted file mode 100644
index ec4336b..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"443b774c4daddeb137a6bdb0800cdf4450bb7a11bfb1df5a745641c16e7ea9503d1db05da4a8ce165034c602e708ef60a3a5d6d28af5b7c1479ef4dc4ef0bf04"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"443b774c4daddeb137a6bdb0800cdf4450bb7a11bfb1df5a745641c16e7ea9503d1db05da4a8ce165034c602e708ef60a3a5d6d28af5b7c1479ef4dc4ef0bf04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1e8baadc56616d9fa750c0be8ff3318cd1774422cb43f95a4eb562b50f871af82be23f4a9a5a280cf1d63c1163bb4e502ebb1ecc7ba0537010bd451f3f6fb54a.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1e8baadc56616d9fa750c0be8ff3318cd1774422cb43f95a4eb562b50f871af82be23f4a9a5a280cf1d63c1163bb4e502ebb1ecc7ba0537010bd451f3f6fb54a.snapshot.json
new file mode 100644
index 0000000..ba29d3b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1e8baadc56616d9fa750c0be8ff3318cd1774422cb43f95a4eb562b50f871af82be23f4a9a5a280cf1d63c1163bb4e502ebb1ecc7ba0537010bd451f3f6fb54a.snapshot.json
@@ -0,0 +1,36 @@
+{
+	"signed": {
+		"_type": "snapshot",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"root.json": {
+				"hashes": {
+					"sha512": "c524226038aea1ef7b929eacee647d6306473e4bf121cf7fa6716a7afe67f4c60b3e9910b363f04e58effe7ce9ebedd1849cadc14dcdb8651a892c751f5ebe1d"
+				},
+				"length": 3831,
+				"version": 2
+			},
+			"targets.json": {
+				"hashes": {
+					"sha512": "118c2a2b6b9f7bc667dca8404a2671910a22b6fe48e460816a9f6f2be66f7806a789c9dc4880d2c2812c0bc7607caac30cc0a8299183fd7228e1049f6920ce22"
+				},
+				"length": 1067,
+				"version": 2
+			}
+		},
+		"spec_version": "1.0",
+		"version": 2
+	},
+	"signatures": [
+		{
+			"keyid": "d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+			"method": "ed25519",
+			"sig": "0ec2af8c131a28e31f3bd411d0970c0adbb6418a74661f0b65cd48c56fc64b63812fcc1a22df878e876331ab76c97a8b7c99ee882e0bd76b7c44369b2b58550e"
+		},
+		{
+			"keyid": "7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d",
+			"method": "ed25519",
+			"sig": "0ec2af8c131a28e31f3bd411d0970c0adbb6418a74661f0b65cd48c56fc64b63812fcc1a22df878e876331ab76c97a8b7c99ee882e0bd76b7c44369b2b58550e"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/2.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/2.root.json
index c88a251..4a9e644 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/2.root.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/2.root.json
@@ -1 +1,133 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"b04a67e12f944f732a1da50b2a6df5818f16660007bc8236dbd480a64ce3bf6d253057619bea30d6c63b3e597ac5fe5e286e29bce05bbbe9f3917e340f66e10e"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"b04a67e12f944f732a1da50b2a6df5818f16660007bc8236dbd480a64ce3bf6d253057619bea30d6c63b3e597ac5fe5e286e29bce05bbbe9f3917e340f66e10e"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "root",
+		"consistent_snapshot": true,
+		"expires": "2100-01-01T00:00:00Z",
+		"keys": {
+			"160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca"
+				},
+				"scheme": "ed25519"
+			},
+			"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			},
+			"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			},
+			"f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca"
+				},
+				"scheme": "ed25519"
+			}
+		},
+		"roles": {
+			"root": {
+				"keyids": [
+					"160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7",
+					"f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953"
+				],
+				"threshold": 1
+			},
+			"snapshot": {
+				"keyids": [
+					"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+					"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d"
+				],
+				"threshold": 1
+			},
+			"targets": {
+				"keyids": [
+					"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+					"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556"
+				],
+				"threshold": 1
+			},
+			"timestamp": {
+				"keyids": [
+					"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0",
+					"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d"
+				],
+				"threshold": 1
+			}
+		},
+		"spec_version": "1.0",
+		"version": 2
+	},
+	"signatures": [
+		{
+			"keyid": "160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7",
+			"method": "ed25519",
+			"sig": "00253046b8b90d0b6940aa851114667151a78d2c9ac0e9a62a5fb410af040bc3416cb784b4f0b2d4179f3ebbc4a2633e82bbb6d479b1208a6fc59c85e6a7d704"
+		},
+		{
+			"keyid": "f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953",
+			"method": "ed25519",
+			"sig": "00253046b8b90d0b6940aa851114667151a78d2c9ac0e9a62a5fb410af040bc3416cb784b4f0b2d4179f3ebbc4a2633e82bbb6d479b1208a6fc59c85e6a7d704"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/2.snapshot.json
index 2f81d28..ba29d3b 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/2.snapshot.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/2.snapshot.json
@@ -1 +1,36 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695"},"length":925,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"704b54d9063d6efb9e6bb2e1b68e92f1a47e668c16b2c872585b487deb4c9c985d49d6b04f746c8c65bdf1cb2c19bd910518d64e5e77055cf5167fb15970b207"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"704b54d9063d6efb9e6bb2e1b68e92f1a47e668c16b2c872585b487deb4c9c985d49d6b04f746c8c65bdf1cb2c19bd910518d64e5e77055cf5167fb15970b207"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "snapshot",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"root.json": {
+				"hashes": {
+					"sha512": "c524226038aea1ef7b929eacee647d6306473e4bf121cf7fa6716a7afe67f4c60b3e9910b363f04e58effe7ce9ebedd1849cadc14dcdb8651a892c751f5ebe1d"
+				},
+				"length": 3831,
+				"version": 2
+			},
+			"targets.json": {
+				"hashes": {
+					"sha512": "118c2a2b6b9f7bc667dca8404a2671910a22b6fe48e460816a9f6f2be66f7806a789c9dc4880d2c2812c0bc7607caac30cc0a8299183fd7228e1049f6920ce22"
+				},
+				"length": 1067,
+				"version": 2
+			}
+		},
+		"spec_version": "1.0",
+		"version": 2
+	},
+	"signatures": [
+		{
+			"keyid": "d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+			"method": "ed25519",
+			"sig": "0ec2af8c131a28e31f3bd411d0970c0adbb6418a74661f0b65cd48c56fc64b63812fcc1a22df878e876331ab76c97a8b7c99ee882e0bd76b7c44369b2b58550e"
+		},
+		{
+			"keyid": "7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d",
+			"method": "ed25519",
+			"sig": "0ec2af8c131a28e31f3bd411d0970c0adbb6418a74661f0b65cd48c56fc64b63812fcc1a22df878e876331ab76c97a8b7c99ee882e0bd76b7c44369b2b58550e"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/2.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/2.targets.json
index b11f3de..eeb97eb 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/2.targets.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/2.targets.json
@@ -1 +1,34 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"5496d35371c10aa6a1a15b2f883580a977a7871b8759139f14e2eb9a215b804f936fa9acf83799c69062775a7c4c3ebd8c9ad49b1db69a6e8c70a035ad10bb0b"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"5496d35371c10aa6a1a15b2f883580a977a7871b8759139f14e2eb9a215b804f936fa9acf83799c69062775a7c4c3ebd8c9ad49b1db69a6e8c70a035ad10bb0b"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "targets",
+		"expires": "2100-01-01T00:00:00Z",
+		"spec_version": "1.0",
+		"targets": {
+			"0": {
+				"hashes": {
+					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
+				},
+				"length": 1
+			},
+			"1": {
+				"hashes": {
+					"sha512": "4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"
+				},
+				"length": 1
+			}
+		},
+		"version": 2
+	},
+	"signatures": [
+		{
+			"keyid": "b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+			"method": "ed25519",
+			"sig": "81bcf5921834a20b8b0946815ad4316f43ffce20b3793e6653dc5fd4b98f1c6318ce2243948574e82414a102717a6f2d731250b3191c54abc8391fd867503e0b"
+		},
+		{
+			"keyid": "d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556",
+			"method": "ed25519",
+			"sig": "81bcf5921834a20b8b0946815ad4316f43ffce20b3793e6653dc5fd4b98f1c6318ce2243948574e82414a102717a6f2d731250b3191c54abc8391fd867503e0b"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json
deleted file mode 100644
index 2f81d28..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695"},"length":925,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"704b54d9063d6efb9e6bb2e1b68e92f1a47e668c16b2c872585b487deb4c9c985d49d6b04f746c8c65bdf1cb2c19bd910518d64e5e77055cf5167fb15970b207"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"704b54d9063d6efb9e6bb2e1b68e92f1a47e668c16b2c872585b487deb4c9c985d49d6b04f746c8c65bdf1cb2c19bd910518d64e5e77055cf5167fb15970b207"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626.root.json
deleted file mode 100644
index c88a251..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"b04a67e12f944f732a1da50b2a6df5818f16660007bc8236dbd480a64ce3bf6d253057619bea30d6c63b3e597ac5fe5e286e29bce05bbbe9f3917e340f66e10e"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"b04a67e12f944f732a1da50b2a6df5818f16660007bc8236dbd480a64ce3bf6d253057619bea30d6c63b3e597ac5fe5e286e29bce05bbbe9f3917e340f66e10e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/33b282c1970996734deff944f2862f84b196f0b2b67dfa7383f75f95ef3e8673602aa411e05572075729ead6caa35df6720ce5723fd67c63d4aaa81dd966c5a4.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/33b282c1970996734deff944f2862f84b196f0b2b67dfa7383f75f95ef3e8673602aa411e05572075729ead6caa35df6720ce5723fd67c63d4aaa81dd966c5a4.snapshot.json
new file mode 120000
index 0000000..027671c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/33b282c1970996734deff944f2862f84b196f0b2b67dfa7383f75f95ef3e8673602aa411e05572075729ead6caa35df6720ce5723fd67c63d4aaa81dd966c5a4.snapshot.json
@@ -0,0 +1 @@
+../../0/repository/33b282c1970996734deff944f2862f84b196f0b2b67dfa7383f75f95ef3e8673602aa411e05572075729ead6caa35df6720ce5723fd67c63d4aaa81dd966c5a4.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/6ecff211b4df20d84e5a99a1145b7f96752efe880147439a3a8c2ecc080762f84b5b784da1b41d2ccb1492d112c521b4b82973589285dfbcfbb6c423c559ff4e.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/6ecff211b4df20d84e5a99a1145b7f96752efe880147439a3a8c2ecc080762f84b5b784da1b41d2ccb1492d112c521b4b82973589285dfbcfbb6c423c559ff4e.targets.json
new file mode 120000
index 0000000..aecd947
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/6ecff211b4df20d84e5a99a1145b7f96752efe880147439a3a8c2ecc080762f84b5b784da1b41d2ccb1492d112c521b4b82973589285dfbcfbb6c423c559ff4e.targets.json
@@ -0,0 +1 @@
+../../0/repository/6ecff211b4df20d84e5a99a1145b7f96752efe880147439a3a8c2ecc080762f84b5b784da1b41d2ccb1492d112c521b4b82973589285dfbcfbb6c423c559ff4e.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json
deleted file mode 100644
index b11f3de..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"5496d35371c10aa6a1a15b2f883580a977a7871b8759139f14e2eb9a215b804f936fa9acf83799c69062775a7c4c3ebd8c9ad49b1db69a6e8c70a035ad10bb0b"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"5496d35371c10aa6a1a15b2f883580a977a7871b8759139f14e2eb9a215b804f936fa9acf83799c69062775a7c4c3ebd8c9ad49b1db69a6e8c70a035ad10bb0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/bf4f7f4a062fd3780055d98572619db84d6d6c9b9b647bf6bca1190e984963ffb86189fb455110f4c13956ce9cbe72d95d03c5e6d72295414ac6bbcc3d1957c3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/bf4f7f4a062fd3780055d98572619db84d6d6c9b9b647bf6bca1190e984963ffb86189fb455110f4c13956ce9cbe72d95d03c5e6d72295414ac6bbcc3d1957c3.root.json
new file mode 120000
index 0000000..70b171e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/bf4f7f4a062fd3780055d98572619db84d6d6c9b9b647bf6bca1190e984963ffb86189fb455110f4c13956ce9cbe72d95d03c5e6d72295414ac6bbcc3d1957c3.root.json
@@ -0,0 +1 @@
+../../0/repository/bf4f7f4a062fd3780055d98572619db84d6d6c9b9b647bf6bca1190e984963ffb86189fb455110f4c13956ce9cbe72d95d03c5e6d72295414ac6bbcc3d1957c3.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/c524226038aea1ef7b929eacee647d6306473e4bf121cf7fa6716a7afe67f4c60b3e9910b363f04e58effe7ce9ebedd1849cadc14dcdb8651a892c751f5ebe1d.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/c524226038aea1ef7b929eacee647d6306473e4bf121cf7fa6716a7afe67f4c60b3e9910b363f04e58effe7ce9ebedd1849cadc14dcdb8651a892c751f5ebe1d.root.json
new file mode 100644
index 0000000..4a9e644
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/c524226038aea1ef7b929eacee647d6306473e4bf121cf7fa6716a7afe67f4c60b3e9910b363f04e58effe7ce9ebedd1849cadc14dcdb8651a892c751f5ebe1d.root.json
@@ -0,0 +1,133 @@
+{
+	"signed": {
+		"_type": "root",
+		"consistent_snapshot": true,
+		"expires": "2100-01-01T00:00:00Z",
+		"keys": {
+			"160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca"
+				},
+				"scheme": "ed25519"
+			},
+			"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			},
+			"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			},
+			"f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca"
+				},
+				"scheme": "ed25519"
+			}
+		},
+		"roles": {
+			"root": {
+				"keyids": [
+					"160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7",
+					"f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953"
+				],
+				"threshold": 1
+			},
+			"snapshot": {
+				"keyids": [
+					"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+					"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d"
+				],
+				"threshold": 1
+			},
+			"targets": {
+				"keyids": [
+					"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+					"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556"
+				],
+				"threshold": 1
+			},
+			"timestamp": {
+				"keyids": [
+					"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0",
+					"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d"
+				],
+				"threshold": 1
+			}
+		},
+		"spec_version": "1.0",
+		"version": 2
+	},
+	"signatures": [
+		{
+			"keyid": "160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7",
+			"method": "ed25519",
+			"sig": "00253046b8b90d0b6940aa851114667151a78d2c9ac0e9a62a5fb410af040bc3416cb784b4f0b2d4179f3ebbc4a2633e82bbb6d479b1208a6fc59c85e6a7d704"
+		},
+		{
+			"keyid": "f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953",
+			"method": "ed25519",
+			"sig": "00253046b8b90d0b6940aa851114667151a78d2c9ac0e9a62a5fb410af040bc3416cb784b4f0b2d4179f3ebbc4a2633e82bbb6d479b1208a6fc59c85e6a7d704"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json
deleted file mode 100644
index 5423a69..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624"},"length":757,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"997c432689ad2de3a379c95f3a28fff2d1f9b2efa39989a6d3fc2138ffa5d3e87ad29a28547a837bd7e1b51f540c2d909af55840cd8dc7ff01a568858e42b007"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"997c432689ad2de3a379c95f3a28fff2d1f9b2efa39989a6d3fc2138ffa5d3e87ad29a28547a837bd7e1b51f540c2d909af55840cd8dc7ff01a568858e42b007"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/root.json
index c88a251..4a9e644 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/root.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/root.json
@@ -1 +1,133 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"b04a67e12f944f732a1da50b2a6df5818f16660007bc8236dbd480a64ce3bf6d253057619bea30d6c63b3e597ac5fe5e286e29bce05bbbe9f3917e340f66e10e"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"b04a67e12f944f732a1da50b2a6df5818f16660007bc8236dbd480a64ce3bf6d253057619bea30d6c63b3e597ac5fe5e286e29bce05bbbe9f3917e340f66e10e"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "root",
+		"consistent_snapshot": true,
+		"expires": "2100-01-01T00:00:00Z",
+		"keys": {
+			"160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca"
+				},
+				"scheme": "ed25519"
+			},
+			"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			},
+			"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			},
+			"f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca"
+				},
+				"scheme": "ed25519"
+			}
+		},
+		"roles": {
+			"root": {
+				"keyids": [
+					"160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7",
+					"f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953"
+				],
+				"threshold": 1
+			},
+			"snapshot": {
+				"keyids": [
+					"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+					"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d"
+				],
+				"threshold": 1
+			},
+			"targets": {
+				"keyids": [
+					"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+					"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556"
+				],
+				"threshold": 1
+			},
+			"timestamp": {
+				"keyids": [
+					"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0",
+					"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d"
+				],
+				"threshold": 1
+			}
+		},
+		"spec_version": "1.0",
+		"version": 2
+	},
+	"signatures": [
+		{
+			"keyid": "160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7",
+			"method": "ed25519",
+			"sig": "00253046b8b90d0b6940aa851114667151a78d2c9ac0e9a62a5fb410af040bc3416cb784b4f0b2d4179f3ebbc4a2633e82bbb6d479b1208a6fc59c85e6a7d704"
+		},
+		{
+			"keyid": "f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953",
+			"method": "ed25519",
+			"sig": "00253046b8b90d0b6940aa851114667151a78d2c9ac0e9a62a5fb410af040bc3416cb784b4f0b2d4179f3ebbc4a2633e82bbb6d479b1208a6fc59c85e6a7d704"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/snapshot.json
index 2f81d28..ba29d3b 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/snapshot.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/snapshot.json
@@ -1 +1,36 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695"},"length":925,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"704b54d9063d6efb9e6bb2e1b68e92f1a47e668c16b2c872585b487deb4c9c985d49d6b04f746c8c65bdf1cb2c19bd910518d64e5e77055cf5167fb15970b207"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"704b54d9063d6efb9e6bb2e1b68e92f1a47e668c16b2c872585b487deb4c9c985d49d6b04f746c8c65bdf1cb2c19bd910518d64e5e77055cf5167fb15970b207"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "snapshot",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"root.json": {
+				"hashes": {
+					"sha512": "c524226038aea1ef7b929eacee647d6306473e4bf121cf7fa6716a7afe67f4c60b3e9910b363f04e58effe7ce9ebedd1849cadc14dcdb8651a892c751f5ebe1d"
+				},
+				"length": 3831,
+				"version": 2
+			},
+			"targets.json": {
+				"hashes": {
+					"sha512": "118c2a2b6b9f7bc667dca8404a2671910a22b6fe48e460816a9f6f2be66f7806a789c9dc4880d2c2812c0bc7607caac30cc0a8299183fd7228e1049f6920ce22"
+				},
+				"length": 1067,
+				"version": 2
+			}
+		},
+		"spec_version": "1.0",
+		"version": 2
+	},
+	"signatures": [
+		{
+			"keyid": "d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+			"method": "ed25519",
+			"sig": "0ec2af8c131a28e31f3bd411d0970c0adbb6418a74661f0b65cd48c56fc64b63812fcc1a22df878e876331ab76c97a8b7c99ee882e0bd76b7c44369b2b58550e"
+		},
+		{
+			"keyid": "7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d",
+			"method": "ed25519",
+			"sig": "0ec2af8c131a28e31f3bd411d0970c0adbb6418a74661f0b65cd48c56fc64b63812fcc1a22df878e876331ab76c97a8b7c99ee882e0bd76b7c44369b2b58550e"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/targets.json
index b11f3de..eeb97eb 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/targets.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/targets.json
@@ -1 +1,34 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"5496d35371c10aa6a1a15b2f883580a977a7871b8759139f14e2eb9a215b804f936fa9acf83799c69062775a7c4c3ebd8c9ad49b1db69a6e8c70a035ad10bb0b"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"5496d35371c10aa6a1a15b2f883580a977a7871b8759139f14e2eb9a215b804f936fa9acf83799c69062775a7c4c3ebd8c9ad49b1db69a6e8c70a035ad10bb0b"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "targets",
+		"expires": "2100-01-01T00:00:00Z",
+		"spec_version": "1.0",
+		"targets": {
+			"0": {
+				"hashes": {
+					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
+				},
+				"length": 1
+			},
+			"1": {
+				"hashes": {
+					"sha512": "4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"
+				},
+				"length": 1
+			}
+		},
+		"version": 2
+	},
+	"signatures": [
+		{
+			"keyid": "b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+			"method": "ed25519",
+			"sig": "81bcf5921834a20b8b0946815ad4316f43ffce20b3793e6653dc5fd4b98f1c6318ce2243948574e82414a102717a6f2d731250b3191c54abc8391fd867503e0b"
+		},
+		{
+			"keyid": "d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556",
+			"method": "ed25519",
+			"sig": "81bcf5921834a20b8b0946815ad4316f43ffce20b3793e6653dc5fd4b98f1c6318ce2243948574e82414a102717a6f2d731250b3191c54abc8391fd867503e0b"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/targets/0.0
deleted file mode 100644
index c227083..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/targets/0.0
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/targets/0.0
new file mode 120000
index 0000000..0a5640e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/targets/0.0
@@ -0,0 +1 @@
+../../../0/repository/targets/0.0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
deleted file mode 100644
index c227083..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 120000
index 0000000..b0c459f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+../../../0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/timestamp.json
index a6f85eb..decfc1e 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/timestamp.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/timestamp.json
@@ -1 +1,29 @@
-{"signed":{"_type":"timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a"},"length":971,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","method":"ed25519","sig":"ec5ccfbd21f2dcee394c8c29883dd5534cf160f92bfe1cc24a7dc40430e87925250663cfedbca08c495908818a9a7213872603f2d68f8a48686ddee3b2cf1303"},{"keyid":"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5","method":"ed25519","sig":"ec5ccfbd21f2dcee394c8c29883dd5534cf160f92bfe1cc24a7dc40430e87925250663cfedbca08c495908818a9a7213872603f2d68f8a48686ddee3b2cf1303"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "timestamp",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"snapshot.json": {
+				"hashes": {
+					"sha512": "1e8baadc56616d9fa750c0be8ff3318cd1774422cb43f95a4eb562b50f871af82be23f4a9a5a280cf1d63c1163bb4e502ebb1ecc7ba0537010bd451f3f6fb54a"
+				},
+				"length": 1126,
+				"version": 2
+			}
+		},
+		"spec_version": "1.0",
+		"version": 2
+	},
+	"signatures": [
+		{
+			"keyid": "79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0",
+			"method": "ed25519",
+			"sig": "3a5ea6e4dbe663ed4e865c03f8a8dd2d750536e7e4fcef77230f0a8a9da200479c2e9a0c82e23890771fb54892bd04b98d8cc300c12f5533422edb15bc87b308"
+		},
+		{
+			"keyid": "e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d",
+			"method": "ed25519",
+			"sig": "3a5ea6e4dbe663ed4e865c03f8a8dd2d750536e7e4fcef77230f0a8a9da200479c2e9a0c82e23890771fb54892bd04b98d8cc300c12f5533422edb15bc87b308"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/root.json
deleted file mode 100644
index af8add2..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/root.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-	"encrypted": false,
-	"data": [
-		{
-			"keytype": "ed25519",
-			"scheme": "ed25519",
-			"keyid_hash_algorithms": [
-				"sha512"
-			],
-			"keyval": {
-				"public": "c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2",
-				"private": "03805d15a81784855af1d957ad6db22dd8fe2c94781a068c9d65b895f87aa1b1c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"
-			}
-		}
-	]
-}
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/root.json
new file mode 120000
index 0000000..8b41d4a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/root.json
@@ -0,0 +1 @@
+../../1/keys/root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/snapshot.json
deleted file mode 100644
index 63867bf..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/snapshot.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-	"encrypted": false,
-	"data": [
-		{
-			"keytype": "ed25519",
-			"scheme": "ed25519",
-			"keyid_hash_algorithms": [
-				"sha512"
-			],
-			"keyval": {
-				"public": "ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517",
-				"private": "a36682d4e7d45d509b657c80bc808603e0ba2ce0cbf54694f7e58c2bb7fc381ded4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"
-			}
-		}
-	]
-}
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/snapshot.json
new file mode 120000
index 0000000..9799827
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/snapshot.json
@@ -0,0 +1 @@
+../../1/keys/snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/targets.json
deleted file mode 100644
index 04b647b..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/targets.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-	"encrypted": false,
-	"data": [
-		{
-			"keytype": "ed25519",
-			"scheme": "ed25519",
-			"keyid_hash_algorithms": [
-				"sha512"
-			],
-			"keyval": {
-				"public": "35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb",
-				"private": "4ed1e6ebbbaa57ddf1a0e01aa9e8ccf91b53fde12fed1ad9aea393f50d68ab9535f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"
-			}
-		}
-	]
-}
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/targets.json
new file mode 120000
index 0000000..8a4e930
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/targets.json
@@ -0,0 +1 @@
+../../1/keys/targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/timestamp.json
index 1e8b0d5..7c96663 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/timestamp.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/timestamp.json
@@ -1 +1 @@
-{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b","private":"b55b6f61ca3d2a77b5d2331787a77e430cd287d9eae4350292df8fc2fc0707f6cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"}}]}
\ No newline at end of file
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha256"],"keyval":{"public":"3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76","private":"1d9a579675ee85074a7c5d8a3e4a58a21e82bddc53bbfe1bef547d681d4049783ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1.root.json
deleted file mode 100644
index 5c62584..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1de2ee941697a910bccddd52dd7f379f9a447da5f78db7147660b1ef48da2256":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"},"scheme":"ed25519"},"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"703624c663edb3f393804dfe7ce22f80a99b7d75c946a8a263231d6d15407af7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["1de2ee941697a910bccddd52dd7f379f9a447da5f78db7147660b1ef48da2256","703624c663edb3f393804dfe7ce22f80a99b7d75c946a8a263231d6d15407af7"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"64c0f98592410dd851b25a59f9a1a9fb48d4911ecd4795ae415d6e1e9c5d3067a97cf24d2b463c2e6faad47fb68dbc41d4ced93bdb17852fec782e8da2bb370a"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"64c0f98592410dd851b25a59f9a1a9fb48d4911ecd4795ae415d6e1e9c5d3067a97cf24d2b463c2e6faad47fb68dbc41d4ced93bdb17852fec782e8da2bb370a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1.root.json
new file mode 120000
index 0000000..cd73051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1.root.json
@@ -0,0 +1 @@
+../../1/repository/1.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1.snapshot.json
deleted file mode 100644
index 5423a69..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624"},"length":757,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"997c432689ad2de3a379c95f3a28fff2d1f9b2efa39989a6d3fc2138ffa5d3e87ad29a28547a837bd7e1b51f540c2d909af55840cd8dc7ff01a568858e42b007"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"997c432689ad2de3a379c95f3a28fff2d1f9b2efa39989a6d3fc2138ffa5d3e87ad29a28547a837bd7e1b51f540c2d909af55840cd8dc7ff01a568858e42b007"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1.snapshot.json
new file mode 120000
index 0000000..1307f57
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1.snapshot.json
@@ -0,0 +1 @@
+../../1/repository/1.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1.targets.json
deleted file mode 100644
index ec4336b..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"443b774c4daddeb137a6bdb0800cdf4450bb7a11bfb1df5a745641c16e7ea9503d1db05da4a8ce165034c602e708ef60a3a5d6d28af5b7c1479ef4dc4ef0bf04"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"443b774c4daddeb137a6bdb0800cdf4450bb7a11bfb1df5a745641c16e7ea9503d1db05da4a8ce165034c602e708ef60a3a5d6d28af5b7c1479ef4dc4ef0bf04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1.targets.json
new file mode 120000
index 0000000..85e1ecc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1.targets.json
@@ -0,0 +1 @@
+../../1/repository/1.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json
deleted file mode 100644
index 5c62584..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1de2ee941697a910bccddd52dd7f379f9a447da5f78db7147660b1ef48da2256":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"},"scheme":"ed25519"},"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"703624c663edb3f393804dfe7ce22f80a99b7d75c946a8a263231d6d15407af7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["1de2ee941697a910bccddd52dd7f379f9a447da5f78db7147660b1ef48da2256","703624c663edb3f393804dfe7ce22f80a99b7d75c946a8a263231d6d15407af7"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"64c0f98592410dd851b25a59f9a1a9fb48d4911ecd4795ae415d6e1e9c5d3067a97cf24d2b463c2e6faad47fb68dbc41d4ced93bdb17852fec782e8da2bb370a"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"64c0f98592410dd851b25a59f9a1a9fb48d4911ecd4795ae415d6e1e9c5d3067a97cf24d2b463c2e6faad47fb68dbc41d4ced93bdb17852fec782e8da2bb370a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/118c2a2b6b9f7bc667dca8404a2671910a22b6fe48e460816a9f6f2be66f7806a789c9dc4880d2c2812c0bc7607caac30cc0a8299183fd7228e1049f6920ce22.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/118c2a2b6b9f7bc667dca8404a2671910a22b6fe48e460816a9f6f2be66f7806a789c9dc4880d2c2812c0bc7607caac30cc0a8299183fd7228e1049f6920ce22.targets.json
new file mode 120000
index 0000000..0018c82
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/118c2a2b6b9f7bc667dca8404a2671910a22b6fe48e460816a9f6f2be66f7806a789c9dc4880d2c2812c0bc7607caac30cc0a8299183fd7228e1049f6920ce22.targets.json
@@ -0,0 +1 @@
+../../1/repository/118c2a2b6b9f7bc667dca8404a2671910a22b6fe48e460816a9f6f2be66f7806a789c9dc4880d2c2812c0bc7607caac30cc0a8299183fd7228e1049f6920ce22.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json
deleted file mode 100644
index ec4336b..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"443b774c4daddeb137a6bdb0800cdf4450bb7a11bfb1df5a745641c16e7ea9503d1db05da4a8ce165034c602e708ef60a3a5d6d28af5b7c1479ef4dc4ef0bf04"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"443b774c4daddeb137a6bdb0800cdf4450bb7a11bfb1df5a745641c16e7ea9503d1db05da4a8ce165034c602e708ef60a3a5d6d28af5b7c1479ef4dc4ef0bf04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1e8baadc56616d9fa750c0be8ff3318cd1774422cb43f95a4eb562b50f871af82be23f4a9a5a280cf1d63c1163bb4e502ebb1ecc7ba0537010bd451f3f6fb54a.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1e8baadc56616d9fa750c0be8ff3318cd1774422cb43f95a4eb562b50f871af82be23f4a9a5a280cf1d63c1163bb4e502ebb1ecc7ba0537010bd451f3f6fb54a.snapshot.json
new file mode 120000
index 0000000..62df9c7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1e8baadc56616d9fa750c0be8ff3318cd1774422cb43f95a4eb562b50f871af82be23f4a9a5a280cf1d63c1163bb4e502ebb1ecc7ba0537010bd451f3f6fb54a.snapshot.json
@@ -0,0 +1 @@
+../../1/repository/1e8baadc56616d9fa750c0be8ff3318cd1774422cb43f95a4eb562b50f871af82be23f4a9a5a280cf1d63c1163bb4e502ebb1ecc7ba0537010bd451f3f6fb54a.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2.root.json
deleted file mode 100644
index c88a251..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"b04a67e12f944f732a1da50b2a6df5818f16660007bc8236dbd480a64ce3bf6d253057619bea30d6c63b3e597ac5fe5e286e29bce05bbbe9f3917e340f66e10e"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"b04a67e12f944f732a1da50b2a6df5818f16660007bc8236dbd480a64ce3bf6d253057619bea30d6c63b3e597ac5fe5e286e29bce05bbbe9f3917e340f66e10e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2.root.json
new file mode 120000
index 0000000..bbdcb12
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2.root.json
@@ -0,0 +1 @@
+../../1/repository/2.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2.snapshot.json
deleted file mode 100644
index 2f81d28..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695"},"length":925,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"704b54d9063d6efb9e6bb2e1b68e92f1a47e668c16b2c872585b487deb4c9c985d49d6b04f746c8c65bdf1cb2c19bd910518d64e5e77055cf5167fb15970b207"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"704b54d9063d6efb9e6bb2e1b68e92f1a47e668c16b2c872585b487deb4c9c985d49d6b04f746c8c65bdf1cb2c19bd910518d64e5e77055cf5167fb15970b207"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2.snapshot.json
new file mode 120000
index 0000000..24d1075
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2.snapshot.json
@@ -0,0 +1 @@
+../../1/repository/2.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2.targets.json
deleted file mode 100644
index b11f3de..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"5496d35371c10aa6a1a15b2f883580a977a7871b8759139f14e2eb9a215b804f936fa9acf83799c69062775a7c4c3ebd8c9ad49b1db69a6e8c70a035ad10bb0b"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"5496d35371c10aa6a1a15b2f883580a977a7871b8759139f14e2eb9a215b804f936fa9acf83799c69062775a7c4c3ebd8c9ad49b1db69a6e8c70a035ad10bb0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2.targets.json
new file mode 120000
index 0000000..f6a1749
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2.targets.json
@@ -0,0 +1 @@
+../../1/repository/2.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json
deleted file mode 100644
index 2f81d28..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695"},"length":925,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"704b54d9063d6efb9e6bb2e1b68e92f1a47e668c16b2c872585b487deb4c9c985d49d6b04f746c8c65bdf1cb2c19bd910518d64e5e77055cf5167fb15970b207"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"704b54d9063d6efb9e6bb2e1b68e92f1a47e668c16b2c872585b487deb4c9c985d49d6b04f746c8c65bdf1cb2c19bd910518d64e5e77055cf5167fb15970b207"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626.root.json
deleted file mode 100644
index c88a251..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"b04a67e12f944f732a1da50b2a6df5818f16660007bc8236dbd480a64ce3bf6d253057619bea30d6c63b3e597ac5fe5e286e29bce05bbbe9f3917e340f66e10e"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"b04a67e12f944f732a1da50b2a6df5818f16660007bc8236dbd480a64ce3bf6d253057619bea30d6c63b3e597ac5fe5e286e29bce05bbbe9f3917e340f66e10e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/3.snapshot.json
index 00e1c43..f449bfb 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/3.snapshot.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/3.snapshot.json
@@ -1 +1,36 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730"},"length":1093,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"f89f4d7afd5abc3d4c95997f0550a837d72a42a82423ce36ddeceecda0416e48193395ebc96ebfa5c818ebe9f27812cc844ca34654287da0d81c1e3af9096206"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"f89f4d7afd5abc3d4c95997f0550a837d72a42a82423ce36ddeceecda0416e48193395ebc96ebfa5c818ebe9f27812cc844ca34654287da0d81c1e3af9096206"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "snapshot",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"root.json": {
+				"hashes": {
+					"sha512": "c524226038aea1ef7b929eacee647d6306473e4bf121cf7fa6716a7afe67f4c60b3e9910b363f04e58effe7ce9ebedd1849cadc14dcdb8651a892c751f5ebe1d"
+				},
+				"length": 3831,
+				"version": 2
+			},
+			"targets.json": {
+				"hashes": {
+					"sha512": "d2678da14b885b502802ee9eb93853548cf0138c9a80f5e88fea99b26c152865a9638088fee1f90cf8c3319fbc58fc8c7384b88abf6d0cc6312859070356a22f"
+				},
+				"length": 1268,
+				"version": 3
+			}
+		},
+		"spec_version": "1.0",
+		"version": 3
+	},
+	"signatures": [
+		{
+			"keyid": "d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+			"method": "ed25519",
+			"sig": "c5f5894259f50e0f17b831e0575410f803dedb113b8a55986aeb3004a73d274fe5c9a7e4614832cff7251d449b7096e00dc2331cde5817a771b84dc2216f2007"
+		},
+		{
+			"keyid": "7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d",
+			"method": "ed25519",
+			"sig": "c5f5894259f50e0f17b831e0575410f803dedb113b8a55986aeb3004a73d274fe5c9a7e4614832cff7251d449b7096e00dc2331cde5817a771b84dc2216f2007"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/3.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/3.targets.json
index 68d4266..4e878ce 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/3.targets.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/3.targets.json
@@ -1 +1,40 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"f7a427ebebf3168387543661963556c0a0132940600573c76b3fc304ee1dc589218cbf54a84c95070b6757d967e2c076741469307fb1324ce9cab6dd0ca01405"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"f7a427ebebf3168387543661963556c0a0132940600573c76b3fc304ee1dc589218cbf54a84c95070b6757d967e2c076741469307fb1324ce9cab6dd0ca01405"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "targets",
+		"expires": "2100-01-01T00:00:00Z",
+		"spec_version": "1.0",
+		"targets": {
+			"0": {
+				"hashes": {
+					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
+				},
+				"length": 1
+			},
+			"1": {
+				"hashes": {
+					"sha512": "4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"
+				},
+				"length": 1
+			},
+			"2": {
+				"hashes": {
+					"sha512": "40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"
+				},
+				"length": 1
+			}
+		},
+		"version": 3
+	},
+	"signatures": [
+		{
+			"keyid": "b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+			"method": "ed25519",
+			"sig": "2deaa932efd4600dca459bd545b456cd4baba303aebd15e3834c9554a8abeb536341ec177579c619e8a1a65f899ee158562d7e76d366a8c5d0713cde7141920b"
+		},
+		{
+			"keyid": "d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556",
+			"method": "ed25519",
+			"sig": "2deaa932efd4600dca459bd545b456cd4baba303aebd15e3834c9554a8abeb536341ec177579c619e8a1a65f899ee158562d7e76d366a8c5d0713cde7141920b"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/33b282c1970996734deff944f2862f84b196f0b2b67dfa7383f75f95ef3e8673602aa411e05572075729ead6caa35df6720ce5723fd67c63d4aaa81dd966c5a4.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/33b282c1970996734deff944f2862f84b196f0b2b67dfa7383f75f95ef3e8673602aa411e05572075729ead6caa35df6720ce5723fd67c63d4aaa81dd966c5a4.snapshot.json
new file mode 120000
index 0000000..944d357
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/33b282c1970996734deff944f2862f84b196f0b2b67dfa7383f75f95ef3e8673602aa411e05572075729ead6caa35df6720ce5723fd67c63d4aaa81dd966c5a4.snapshot.json
@@ -0,0 +1 @@
+../../1/repository/33b282c1970996734deff944f2862f84b196f0b2b67dfa7383f75f95ef3e8673602aa411e05572075729ead6caa35df6720ce5723fd67c63d4aaa81dd966c5a4.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730.targets.json
deleted file mode 100644
index 68d4266..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"f7a427ebebf3168387543661963556c0a0132940600573c76b3fc304ee1dc589218cbf54a84c95070b6757d967e2c076741469307fb1324ce9cab6dd0ca01405"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"f7a427ebebf3168387543661963556c0a0132940600573c76b3fc304ee1dc589218cbf54a84c95070b6757d967e2c076741469307fb1324ce9cab6dd0ca01405"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/6ecff211b4df20d84e5a99a1145b7f96752efe880147439a3a8c2ecc080762f84b5b784da1b41d2ccb1492d112c521b4b82973589285dfbcfbb6c423c559ff4e.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/6ecff211b4df20d84e5a99a1145b7f96752efe880147439a3a8c2ecc080762f84b5b784da1b41d2ccb1492d112c521b4b82973589285dfbcfbb6c423c559ff4e.targets.json
new file mode 120000
index 0000000..de6ef37
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/6ecff211b4df20d84e5a99a1145b7f96752efe880147439a3a8c2ecc080762f84b5b784da1b41d2ccb1492d112c521b4b82973589285dfbcfbb6c423c559ff4e.targets.json
@@ -0,0 +1 @@
+../../1/repository/6ecff211b4df20d84e5a99a1145b7f96752efe880147439a3a8c2ecc080762f84b5b784da1b41d2ccb1492d112c521b4b82973589285dfbcfbb6c423c559ff4e.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json
deleted file mode 100644
index b11f3de..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"5496d35371c10aa6a1a15b2f883580a977a7871b8759139f14e2eb9a215b804f936fa9acf83799c69062775a7c4c3ebd8c9ad49b1db69a6e8c70a035ad10bb0b"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"5496d35371c10aa6a1a15b2f883580a977a7871b8759139f14e2eb9a215b804f936fa9acf83799c69062775a7c4c3ebd8c9ad49b1db69a6e8c70a035ad10bb0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/8f58f3f272b5e33f1b2c7545dbef1ba0dddfba4f8b6c742164d9b89c8648cde4ecace9f392365426a688bc5d11a207d0fe248712f05927573f7f5c709ba457e8.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/8f58f3f272b5e33f1b2c7545dbef1ba0dddfba4f8b6c742164d9b89c8648cde4ecace9f392365426a688bc5d11a207d0fe248712f05927573f7f5c709ba457e8.snapshot.json
deleted file mode 100644
index 00e1c43..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/8f58f3f272b5e33f1b2c7545dbef1ba0dddfba4f8b6c742164d9b89c8648cde4ecace9f392365426a688bc5d11a207d0fe248712f05927573f7f5c709ba457e8.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730"},"length":1093,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"f89f4d7afd5abc3d4c95997f0550a837d72a42a82423ce36ddeceecda0416e48193395ebc96ebfa5c818ebe9f27812cc844ca34654287da0d81c1e3af9096206"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"f89f4d7afd5abc3d4c95997f0550a837d72a42a82423ce36ddeceecda0416e48193395ebc96ebfa5c818ebe9f27812cc844ca34654287da0d81c1e3af9096206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/b6e5aa107d62973842336ce39bd8c12f21acecd11ee4b5054ddb6d033a0a81eaf0ca087611771fd53ee8639f00ab8657317832f4ae352ca42bc4ece39e08c949.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/b6e5aa107d62973842336ce39bd8c12f21acecd11ee4b5054ddb6d033a0a81eaf0ca087611771fd53ee8639f00ab8657317832f4ae352ca42bc4ece39e08c949.snapshot.json
new file mode 100644
index 0000000..f449bfb
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/b6e5aa107d62973842336ce39bd8c12f21acecd11ee4b5054ddb6d033a0a81eaf0ca087611771fd53ee8639f00ab8657317832f4ae352ca42bc4ece39e08c949.snapshot.json
@@ -0,0 +1,36 @@
+{
+	"signed": {
+		"_type": "snapshot",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"root.json": {
+				"hashes": {
+					"sha512": "c524226038aea1ef7b929eacee647d6306473e4bf121cf7fa6716a7afe67f4c60b3e9910b363f04e58effe7ce9ebedd1849cadc14dcdb8651a892c751f5ebe1d"
+				},
+				"length": 3831,
+				"version": 2
+			},
+			"targets.json": {
+				"hashes": {
+					"sha512": "d2678da14b885b502802ee9eb93853548cf0138c9a80f5e88fea99b26c152865a9638088fee1f90cf8c3319fbc58fc8c7384b88abf6d0cc6312859070356a22f"
+				},
+				"length": 1268,
+				"version": 3
+			}
+		},
+		"spec_version": "1.0",
+		"version": 3
+	},
+	"signatures": [
+		{
+			"keyid": "d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+			"method": "ed25519",
+			"sig": "c5f5894259f50e0f17b831e0575410f803dedb113b8a55986aeb3004a73d274fe5c9a7e4614832cff7251d449b7096e00dc2331cde5817a771b84dc2216f2007"
+		},
+		{
+			"keyid": "7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d",
+			"method": "ed25519",
+			"sig": "c5f5894259f50e0f17b831e0575410f803dedb113b8a55986aeb3004a73d274fe5c9a7e4614832cff7251d449b7096e00dc2331cde5817a771b84dc2216f2007"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/bf4f7f4a062fd3780055d98572619db84d6d6c9b9b647bf6bca1190e984963ffb86189fb455110f4c13956ce9cbe72d95d03c5e6d72295414ac6bbcc3d1957c3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/bf4f7f4a062fd3780055d98572619db84d6d6c9b9b647bf6bca1190e984963ffb86189fb455110f4c13956ce9cbe72d95d03c5e6d72295414ac6bbcc3d1957c3.root.json
new file mode 120000
index 0000000..ce078d7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/bf4f7f4a062fd3780055d98572619db84d6d6c9b9b647bf6bca1190e984963ffb86189fb455110f4c13956ce9cbe72d95d03c5e6d72295414ac6bbcc3d1957c3.root.json
@@ -0,0 +1 @@
+../../1/repository/bf4f7f4a062fd3780055d98572619db84d6d6c9b9b647bf6bca1190e984963ffb86189fb455110f4c13956ce9cbe72d95d03c5e6d72295414ac6bbcc3d1957c3.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/c524226038aea1ef7b929eacee647d6306473e4bf121cf7fa6716a7afe67f4c60b3e9910b363f04e58effe7ce9ebedd1849cadc14dcdb8651a892c751f5ebe1d.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/c524226038aea1ef7b929eacee647d6306473e4bf121cf7fa6716a7afe67f4c60b3e9910b363f04e58effe7ce9ebedd1849cadc14dcdb8651a892c751f5ebe1d.root.json
new file mode 120000
index 0000000..59ad842
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/c524226038aea1ef7b929eacee647d6306473e4bf121cf7fa6716a7afe67f4c60b3e9910b363f04e58effe7ce9ebedd1849cadc14dcdb8651a892c751f5ebe1d.root.json
@@ -0,0 +1 @@
+../../1/repository/c524226038aea1ef7b929eacee647d6306473e4bf121cf7fa6716a7afe67f4c60b3e9910b363f04e58effe7ce9ebedd1849cadc14dcdb8651a892c751f5ebe1d.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/d2678da14b885b502802ee9eb93853548cf0138c9a80f5e88fea99b26c152865a9638088fee1f90cf8c3319fbc58fc8c7384b88abf6d0cc6312859070356a22f.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/d2678da14b885b502802ee9eb93853548cf0138c9a80f5e88fea99b26c152865a9638088fee1f90cf8c3319fbc58fc8c7384b88abf6d0cc6312859070356a22f.targets.json
new file mode 100644
index 0000000..4e878ce
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/d2678da14b885b502802ee9eb93853548cf0138c9a80f5e88fea99b26c152865a9638088fee1f90cf8c3319fbc58fc8c7384b88abf6d0cc6312859070356a22f.targets.json
@@ -0,0 +1,40 @@
+{
+	"signed": {
+		"_type": "targets",
+		"expires": "2100-01-01T00:00:00Z",
+		"spec_version": "1.0",
+		"targets": {
+			"0": {
+				"hashes": {
+					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
+				},
+				"length": 1
+			},
+			"1": {
+				"hashes": {
+					"sha512": "4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"
+				},
+				"length": 1
+			},
+			"2": {
+				"hashes": {
+					"sha512": "40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"
+				},
+				"length": 1
+			}
+		},
+		"version": 3
+	},
+	"signatures": [
+		{
+			"keyid": "b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+			"method": "ed25519",
+			"sig": "2deaa932efd4600dca459bd545b456cd4baba303aebd15e3834c9554a8abeb536341ec177579c619e8a1a65f899ee158562d7e76d366a8c5d0713cde7141920b"
+		},
+		{
+			"keyid": "d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556",
+			"method": "ed25519",
+			"sig": "2deaa932efd4600dca459bd545b456cd4baba303aebd15e3834c9554a8abeb536341ec177579c619e8a1a65f899ee158562d7e76d366a8c5d0713cde7141920b"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json
deleted file mode 100644
index 5423a69..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624"},"length":757,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"997c432689ad2de3a379c95f3a28fff2d1f9b2efa39989a6d3fc2138ffa5d3e87ad29a28547a837bd7e1b51f540c2d909af55840cd8dc7ff01a568858e42b007"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"997c432689ad2de3a379c95f3a28fff2d1f9b2efa39989a6d3fc2138ffa5d3e87ad29a28547a837bd7e1b51f540c2d909af55840cd8dc7ff01a568858e42b007"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/root.json
deleted file mode 100644
index c88a251..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"b04a67e12f944f732a1da50b2a6df5818f16660007bc8236dbd480a64ce3bf6d253057619bea30d6c63b3e597ac5fe5e286e29bce05bbbe9f3917e340f66e10e"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"b04a67e12f944f732a1da50b2a6df5818f16660007bc8236dbd480a64ce3bf6d253057619bea30d6c63b3e597ac5fe5e286e29bce05bbbe9f3917e340f66e10e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/root.json
new file mode 120000
index 0000000..0d04901
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/root.json
@@ -0,0 +1 @@
+../../1/repository/root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/snapshot.json
index 00e1c43..f449bfb 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/snapshot.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/snapshot.json
@@ -1 +1,36 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730"},"length":1093,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"f89f4d7afd5abc3d4c95997f0550a837d72a42a82423ce36ddeceecda0416e48193395ebc96ebfa5c818ebe9f27812cc844ca34654287da0d81c1e3af9096206"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"f89f4d7afd5abc3d4c95997f0550a837d72a42a82423ce36ddeceecda0416e48193395ebc96ebfa5c818ebe9f27812cc844ca34654287da0d81c1e3af9096206"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "snapshot",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"root.json": {
+				"hashes": {
+					"sha512": "c524226038aea1ef7b929eacee647d6306473e4bf121cf7fa6716a7afe67f4c60b3e9910b363f04e58effe7ce9ebedd1849cadc14dcdb8651a892c751f5ebe1d"
+				},
+				"length": 3831,
+				"version": 2
+			},
+			"targets.json": {
+				"hashes": {
+					"sha512": "d2678da14b885b502802ee9eb93853548cf0138c9a80f5e88fea99b26c152865a9638088fee1f90cf8c3319fbc58fc8c7384b88abf6d0cc6312859070356a22f"
+				},
+				"length": 1268,
+				"version": 3
+			}
+		},
+		"spec_version": "1.0",
+		"version": 3
+	},
+	"signatures": [
+		{
+			"keyid": "d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+			"method": "ed25519",
+			"sig": "c5f5894259f50e0f17b831e0575410f803dedb113b8a55986aeb3004a73d274fe5c9a7e4614832cff7251d449b7096e00dc2331cde5817a771b84dc2216f2007"
+		},
+		{
+			"keyid": "7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d",
+			"method": "ed25519",
+			"sig": "c5f5894259f50e0f17b831e0575410f803dedb113b8a55986aeb3004a73d274fe5c9a7e4614832cff7251d449b7096e00dc2331cde5817a771b84dc2216f2007"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets.json
index 68d4266..4e878ce 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets.json
@@ -1 +1,40 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"f7a427ebebf3168387543661963556c0a0132940600573c76b3fc304ee1dc589218cbf54a84c95070b6757d967e2c076741469307fb1324ce9cab6dd0ca01405"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"f7a427ebebf3168387543661963556c0a0132940600573c76b3fc304ee1dc589218cbf54a84c95070b6757d967e2c076741469307fb1324ce9cab6dd0ca01405"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "targets",
+		"expires": "2100-01-01T00:00:00Z",
+		"spec_version": "1.0",
+		"targets": {
+			"0": {
+				"hashes": {
+					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
+				},
+				"length": 1
+			},
+			"1": {
+				"hashes": {
+					"sha512": "4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"
+				},
+				"length": 1
+			},
+			"2": {
+				"hashes": {
+					"sha512": "40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"
+				},
+				"length": 1
+			}
+		},
+		"version": 3
+	},
+	"signatures": [
+		{
+			"keyid": "b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+			"method": "ed25519",
+			"sig": "2deaa932efd4600dca459bd545b456cd4baba303aebd15e3834c9554a8abeb536341ec177579c619e8a1a65f899ee158562d7e76d366a8c5d0713cde7141920b"
+		},
+		{
+			"keyid": "d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556",
+			"method": "ed25519",
+			"sig": "2deaa932efd4600dca459bd545b456cd4baba303aebd15e3834c9554a8abeb536341ec177579c619e8a1a65f899ee158562d7e76d366a8c5d0713cde7141920b"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/0.0
deleted file mode 100644
index c227083..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/0.0
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/0.0
new file mode 120000
index 0000000..59c65e1
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/0.0
@@ -0,0 +1 @@
+../../../1/repository/targets/0.0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/0.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/0.1
deleted file mode 100644
index 56a6051..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/0.1
+++ /dev/null
@@ -1 +0,0 @@
-1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/0.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/0.1
new file mode 120000
index 0000000..37e8fbc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/0.1
@@ -0,0 +1 @@
+../../../1/repository/targets/0.1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
deleted file mode 100644
index c227083..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 120000
index 0000000..de9aac3
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+../../../1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
deleted file mode 100644
index 56a6051..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
+++ /dev/null
@@ -1 +0,0 @@
-1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 120000
index 0000000..2ebb2d3
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+../../../1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/timestamp.json
index ad2de4b..86ec4bb 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/timestamp.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/timestamp.json
@@ -1 +1,29 @@
-{"signed":{"_type":"timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"8f58f3f272b5e33f1b2c7545dbef1ba0dddfba4f8b6c742164d9b89c8648cde4ecace9f392365426a688bc5d11a207d0fe248712f05927573f7f5c709ba457e8"},"length":972,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","method":"ed25519","sig":"68baac4f6559684bdd05aeab21d713e3844e2d280228c5d8466e0695e42be9dae33e6c459b67fee4b815a4476961227462a80b84f086ba21fb7392094e977d0f"},{"keyid":"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5","method":"ed25519","sig":"68baac4f6559684bdd05aeab21d713e3844e2d280228c5d8466e0695e42be9dae33e6c459b67fee4b815a4476961227462a80b84f086ba21fb7392094e977d0f"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "timestamp",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"snapshot.json": {
+				"hashes": {
+					"sha512": "b6e5aa107d62973842336ce39bd8c12f21acecd11ee4b5054ddb6d033a0a81eaf0ca087611771fd53ee8639f00ab8657317832f4ae352ca42bc4ece39e08c949"
+				},
+				"length": 1126,
+				"version": 3
+			}
+		},
+		"spec_version": "1.0",
+		"version": 3
+	},
+	"signatures": [
+		{
+			"keyid": "79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0",
+			"method": "ed25519",
+			"sig": "9f159f945f7c2dd7332bcc20647e71c2ebc285caa217477dee23dd1f3a74c73d5f7bcdd34bc8f91120141fbbfac732c3fc39cf2234fd49aed618031dbcba9901"
+		},
+		{
+			"keyid": "e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d",
+			"method": "ed25519",
+			"sig": "9f159f945f7c2dd7332bcc20647e71c2ebc285caa217477dee23dd1f3a74c73d5f7bcdd34bc8f91120141fbbfac732c3fc39cf2234fd49aed618031dbcba9901"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/root.json
index 2e15ab3..dbbe32a 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/root.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/root.json
@@ -5,22 +5,22 @@
 			"keytype": "ed25519",
 			"scheme": "ed25519",
 			"keyid_hash_algorithms": [
-				"sha512"
+				"sha256"
 			],
 			"keyval": {
-				"public": "c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2",
-				"private": "03805d15a81784855af1d957ad6db22dd8fe2c94781a068c9d65b895f87aa1b1c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"
+				"public": "bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca",
+				"private": "68c2a06583ce83dabb1fc5d2b3697015b936f341f21be1be1397670a650ebd53bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca"
 			}
 		},
 		{
 			"keytype": "ed25519",
 			"scheme": "ed25519",
 			"keyid_hash_algorithms": [
-				"sha512"
+				"sha256"
 			],
 			"keyval": {
-				"public": "fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c",
-				"private": "e36f5f08db141807c3e2e715c92f60001e9f4b98cda9981cbcb05019c452ed3ffe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"
+				"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54",
+				"private": "e53595d99a85a33d7c228d28b25c856148c65be36558d0d61faa7e018a51db5c153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
 			}
 		}
 	]
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/snapshot.json
deleted file mode 100644
index 63867bf..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/snapshot.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-	"encrypted": false,
-	"data": [
-		{
-			"keytype": "ed25519",
-			"scheme": "ed25519",
-			"keyid_hash_algorithms": [
-				"sha512"
-			],
-			"keyval": {
-				"public": "ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517",
-				"private": "a36682d4e7d45d509b657c80bc808603e0ba2ce0cbf54694f7e58c2bb7fc381ded4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"
-			}
-		}
-	]
-}
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/snapshot.json
new file mode 120000
index 0000000..d4551fb
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/snapshot.json
@@ -0,0 +1 @@
+../../2/keys/snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/targets.json
deleted file mode 100644
index 04b647b..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/targets.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-	"encrypted": false,
-	"data": [
-		{
-			"keytype": "ed25519",
-			"scheme": "ed25519",
-			"keyid_hash_algorithms": [
-				"sha512"
-			],
-			"keyval": {
-				"public": "35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb",
-				"private": "4ed1e6ebbbaa57ddf1a0e01aa9e8ccf91b53fde12fed1ad9aea393f50d68ab9535f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"
-			}
-		}
-	]
-}
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/targets.json
new file mode 120000
index 0000000..ce99ac0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/targets.json
@@ -0,0 +1 @@
+../../2/keys/targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/timestamp.json
deleted file mode 100644
index 1e8b0d5..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/timestamp.json
+++ /dev/null
@@ -1 +0,0 @@
-{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b","private":"b55b6f61ca3d2a77b5d2331787a77e430cd287d9eae4350292df8fc2fc0707f6cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/timestamp.json
new file mode 120000
index 0000000..38387ec
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/timestamp.json
@@ -0,0 +1 @@
+../../2/keys/timestamp.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/0958a41c4b0b232addbc12a9352b9c745c54d5aafe626bc353b9ce46979282ba020175310dbd6fcc591d38751cd2980e2490a464a37e7d265c0498590e589cc0.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/0958a41c4b0b232addbc12a9352b9c745c54d5aafe626bc353b9ce46979282ba020175310dbd6fcc591d38751cd2980e2490a464a37e7d265c0498590e589cc0.targets.json
new file mode 100644
index 0000000..af26a75
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/0958a41c4b0b232addbc12a9352b9c745c54d5aafe626bc353b9ce46979282ba020175310dbd6fcc591d38751cd2980e2490a464a37e7d265c0498590e589cc0.targets.json
@@ -0,0 +1,46 @@
+{
+	"signed": {
+		"_type": "targets",
+		"expires": "2100-01-01T00:00:00Z",
+		"spec_version": "1.0",
+		"targets": {
+			"0": {
+				"hashes": {
+					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
+				},
+				"length": 1
+			},
+			"1": {
+				"hashes": {
+					"sha512": "4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"
+				},
+				"length": 1
+			},
+			"2": {
+				"hashes": {
+					"sha512": "40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"
+				},
+				"length": 1
+			},
+			"3": {
+				"hashes": {
+					"sha512": "3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"
+				},
+				"length": 1
+			}
+		},
+		"version": 4
+	},
+	"signatures": [
+		{
+			"keyid": "b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+			"method": "ed25519",
+			"sig": "40c01f1bccc4f72e062bf07404bca3305974e75ba4e0f9e9ec49db97fcc4801ab21d87a7a52680e7c0aaea0a8ab42459f165f8b1d1db3f6ef1360d7227c37a08"
+		},
+		{
+			"keyid": "d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556",
+			"method": "ed25519",
+			"sig": "40c01f1bccc4f72e062bf07404bca3305974e75ba4e0f9e9ec49db97fcc4801ab21d87a7a52680e7c0aaea0a8ab42459f165f8b1d1db3f6ef1360d7227c37a08"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/0d27c60944035233503fa1ac6023fada94ea21b947bf53500cf95460ec32445903ef835dbb5f5ad9fe6442007e63b8de487065c8e75ee32053d89db175f45a1f.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/0d27c60944035233503fa1ac6023fada94ea21b947bf53500cf95460ec32445903ef835dbb5f5ad9fe6442007e63b8de487065c8e75ee32053d89db175f45a1f.snapshot.json
new file mode 100644
index 0000000..5965ff8
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/0d27c60944035233503fa1ac6023fada94ea21b947bf53500cf95460ec32445903ef835dbb5f5ad9fe6442007e63b8de487065c8e75ee32053d89db175f45a1f.snapshot.json
@@ -0,0 +1,36 @@
+{
+	"signed": {
+		"_type": "snapshot",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"root.json": {
+				"hashes": {
+					"sha512": "858f38b3b040da754db743b564112c9a9b745b9fb0ffd2b5ee77cdf90799bd3675dfccc03e17e1bfe02b1c736a8b1f9e5862214e63c865c14a038f515d0ca0a8"
+				},
+				"length": 4339,
+				"version": 3
+			},
+			"targets.json": {
+				"hashes": {
+					"sha512": "0958a41c4b0b232addbc12a9352b9c745c54d5aafe626bc353b9ce46979282ba020175310dbd6fcc591d38751cd2980e2490a464a37e7d265c0498590e589cc0"
+				},
+				"length": 1469,
+				"version": 4
+			}
+		},
+		"spec_version": "1.0",
+		"version": 4
+	},
+	"signatures": [
+		{
+			"keyid": "d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+			"method": "ed25519",
+			"sig": "5bd326a781c857f583c18355a465b0808b7fb02753fb29c34ae4c10b7fb69cd94edff27ea3fd6dc8cf0956cca0ab2cc5cea721b5d8a6aa25600627d530623207"
+		},
+		{
+			"keyid": "7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d",
+			"method": "ed25519",
+			"sig": "5bd326a781c857f583c18355a465b0808b7fb02753fb29c34ae4c10b7fb69cd94edff27ea3fd6dc8cf0956cca0ab2cc5cea721b5d8a6aa25600627d530623207"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1.root.json
deleted file mode 100644
index 5c62584..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1de2ee941697a910bccddd52dd7f379f9a447da5f78db7147660b1ef48da2256":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"},"scheme":"ed25519"},"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"703624c663edb3f393804dfe7ce22f80a99b7d75c946a8a263231d6d15407af7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["1de2ee941697a910bccddd52dd7f379f9a447da5f78db7147660b1ef48da2256","703624c663edb3f393804dfe7ce22f80a99b7d75c946a8a263231d6d15407af7"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"64c0f98592410dd851b25a59f9a1a9fb48d4911ecd4795ae415d6e1e9c5d3067a97cf24d2b463c2e6faad47fb68dbc41d4ced93bdb17852fec782e8da2bb370a"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"64c0f98592410dd851b25a59f9a1a9fb48d4911ecd4795ae415d6e1e9c5d3067a97cf24d2b463c2e6faad47fb68dbc41d4ced93bdb17852fec782e8da2bb370a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1.root.json
new file mode 120000
index 0000000..fb4fe81
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1.root.json
@@ -0,0 +1 @@
+../../2/repository/1.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1.snapshot.json
deleted file mode 100644
index 5423a69..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624"},"length":757,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"997c432689ad2de3a379c95f3a28fff2d1f9b2efa39989a6d3fc2138ffa5d3e87ad29a28547a837bd7e1b51f540c2d909af55840cd8dc7ff01a568858e42b007"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"997c432689ad2de3a379c95f3a28fff2d1f9b2efa39989a6d3fc2138ffa5d3e87ad29a28547a837bd7e1b51f540c2d909af55840cd8dc7ff01a568858e42b007"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1.snapshot.json
new file mode 120000
index 0000000..4dfb0d0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1.snapshot.json
@@ -0,0 +1 @@
+../../2/repository/1.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1.targets.json
deleted file mode 100644
index ec4336b..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"443b774c4daddeb137a6bdb0800cdf4450bb7a11bfb1df5a745641c16e7ea9503d1db05da4a8ce165034c602e708ef60a3a5d6d28af5b7c1479ef4dc4ef0bf04"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"443b774c4daddeb137a6bdb0800cdf4450bb7a11bfb1df5a745641c16e7ea9503d1db05da4a8ce165034c602e708ef60a3a5d6d28af5b7c1479ef4dc4ef0bf04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1.targets.json
new file mode 120000
index 0000000..1eeb564
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1.targets.json
@@ -0,0 +1 @@
+../../2/repository/1.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json
deleted file mode 100644
index 5c62584..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1de2ee941697a910bccddd52dd7f379f9a447da5f78db7147660b1ef48da2256":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"},"scheme":"ed25519"},"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"703624c663edb3f393804dfe7ce22f80a99b7d75c946a8a263231d6d15407af7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["1de2ee941697a910bccddd52dd7f379f9a447da5f78db7147660b1ef48da2256","703624c663edb3f393804dfe7ce22f80a99b7d75c946a8a263231d6d15407af7"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"64c0f98592410dd851b25a59f9a1a9fb48d4911ecd4795ae415d6e1e9c5d3067a97cf24d2b463c2e6faad47fb68dbc41d4ced93bdb17852fec782e8da2bb370a"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"64c0f98592410dd851b25a59f9a1a9fb48d4911ecd4795ae415d6e1e9c5d3067a97cf24d2b463c2e6faad47fb68dbc41d4ced93bdb17852fec782e8da2bb370a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/118c2a2b6b9f7bc667dca8404a2671910a22b6fe48e460816a9f6f2be66f7806a789c9dc4880d2c2812c0bc7607caac30cc0a8299183fd7228e1049f6920ce22.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/118c2a2b6b9f7bc667dca8404a2671910a22b6fe48e460816a9f6f2be66f7806a789c9dc4880d2c2812c0bc7607caac30cc0a8299183fd7228e1049f6920ce22.targets.json
new file mode 120000
index 0000000..32bd324
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/118c2a2b6b9f7bc667dca8404a2671910a22b6fe48e460816a9f6f2be66f7806a789c9dc4880d2c2812c0bc7607caac30cc0a8299183fd7228e1049f6920ce22.targets.json
@@ -0,0 +1 @@
+../../2/repository/118c2a2b6b9f7bc667dca8404a2671910a22b6fe48e460816a9f6f2be66f7806a789c9dc4880d2c2812c0bc7607caac30cc0a8299183fd7228e1049f6920ce22.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/12203374023883bb7ffba3156974a45fe25f55201ff8ca5e182adba37875f05dde21c887b7bf5fabc653370fa88c193a895ce4f445bb9b8d966eccd08dc740fa.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/12203374023883bb7ffba3156974a45fe25f55201ff8ca5e182adba37875f05dde21c887b7bf5fabc653370fa88c193a895ce4f445bb9b8d966eccd08dc740fa.root.json
deleted file mode 100644
index d765d03..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/12203374023883bb7ffba3156974a45fe25f55201ff8ca5e182adba37875f05dde21c887b7bf5fabc653370fa88c193a895ce4f445bb9b8d966eccd08dc740fa.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"},"scheme":"ed25519"},"c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"},"scheme":"ed25519"},"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063","abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"ba5468fd33eaf23033d643539249d330207ab0599333b0d103eadcd1d1d95b4d8cab79c870deaac5fd5f63b1400664bc1ed17cd07d11b959d983c14d3dc0380e"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"ba5468fd33eaf23033d643539249d330207ab0599333b0d103eadcd1d1d95b4d8cab79c870deaac5fd5f63b1400664bc1ed17cd07d11b959d983c14d3dc0380e"},{"keyid":"c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063","method":"ed25519","sig":"72da122707b6f06db38481012804417cfeab6c250818c8d48eea37845f39c8bcf5e5865482910642c64b83ebdeb85787016e846154b32a1b41bbbf758abeef05"},{"keyid":"abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5","method":"ed25519","sig":"72da122707b6f06db38481012804417cfeab6c250818c8d48eea37845f39c8bcf5e5865482910642c64b83ebdeb85787016e846154b32a1b41bbbf758abeef05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json
deleted file mode 100644
index ec4336b..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"443b774c4daddeb137a6bdb0800cdf4450bb7a11bfb1df5a745641c16e7ea9503d1db05da4a8ce165034c602e708ef60a3a5d6d28af5b7c1479ef4dc4ef0bf04"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"443b774c4daddeb137a6bdb0800cdf4450bb7a11bfb1df5a745641c16e7ea9503d1db05da4a8ce165034c602e708ef60a3a5d6d28af5b7c1479ef4dc4ef0bf04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1e8baadc56616d9fa750c0be8ff3318cd1774422cb43f95a4eb562b50f871af82be23f4a9a5a280cf1d63c1163bb4e502ebb1ecc7ba0537010bd451f3f6fb54a.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1e8baadc56616d9fa750c0be8ff3318cd1774422cb43f95a4eb562b50f871af82be23f4a9a5a280cf1d63c1163bb4e502ebb1ecc7ba0537010bd451f3f6fb54a.snapshot.json
new file mode 120000
index 0000000..e41dd4d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1e8baadc56616d9fa750c0be8ff3318cd1774422cb43f95a4eb562b50f871af82be23f4a9a5a280cf1d63c1163bb4e502ebb1ecc7ba0537010bd451f3f6fb54a.snapshot.json
@@ -0,0 +1 @@
+../../2/repository/1e8baadc56616d9fa750c0be8ff3318cd1774422cb43f95a4eb562b50f871af82be23f4a9a5a280cf1d63c1163bb4e502ebb1ecc7ba0537010bd451f3f6fb54a.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2.root.json
deleted file mode 100644
index c88a251..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"b04a67e12f944f732a1da50b2a6df5818f16660007bc8236dbd480a64ce3bf6d253057619bea30d6c63b3e597ac5fe5e286e29bce05bbbe9f3917e340f66e10e"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"b04a67e12f944f732a1da50b2a6df5818f16660007bc8236dbd480a64ce3bf6d253057619bea30d6c63b3e597ac5fe5e286e29bce05bbbe9f3917e340f66e10e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2.root.json
new file mode 120000
index 0000000..55f8b9d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2.root.json
@@ -0,0 +1 @@
+../../2/repository/2.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2.snapshot.json
deleted file mode 100644
index 2f81d28..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695"},"length":925,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"704b54d9063d6efb9e6bb2e1b68e92f1a47e668c16b2c872585b487deb4c9c985d49d6b04f746c8c65bdf1cb2c19bd910518d64e5e77055cf5167fb15970b207"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"704b54d9063d6efb9e6bb2e1b68e92f1a47e668c16b2c872585b487deb4c9c985d49d6b04f746c8c65bdf1cb2c19bd910518d64e5e77055cf5167fb15970b207"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2.snapshot.json
new file mode 120000
index 0000000..65445cb
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2.snapshot.json
@@ -0,0 +1 @@
+../../2/repository/2.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2.targets.json
deleted file mode 100644
index b11f3de..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"5496d35371c10aa6a1a15b2f883580a977a7871b8759139f14e2eb9a215b804f936fa9acf83799c69062775a7c4c3ebd8c9ad49b1db69a6e8c70a035ad10bb0b"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"5496d35371c10aa6a1a15b2f883580a977a7871b8759139f14e2eb9a215b804f936fa9acf83799c69062775a7c4c3ebd8c9ad49b1db69a6e8c70a035ad10bb0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2.targets.json
new file mode 120000
index 0000000..3600a0f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2.targets.json
@@ -0,0 +1 @@
+../../2/repository/2.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json
deleted file mode 100644
index 2f81d28..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695"},"length":925,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"704b54d9063d6efb9e6bb2e1b68e92f1a47e668c16b2c872585b487deb4c9c985d49d6b04f746c8c65bdf1cb2c19bd910518d64e5e77055cf5167fb15970b207"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"704b54d9063d6efb9e6bb2e1b68e92f1a47e668c16b2c872585b487deb4c9c985d49d6b04f746c8c65bdf1cb2c19bd910518d64e5e77055cf5167fb15970b207"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626.root.json
deleted file mode 100644
index c88a251..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"b04a67e12f944f732a1da50b2a6df5818f16660007bc8236dbd480a64ce3bf6d253057619bea30d6c63b3e597ac5fe5e286e29bce05bbbe9f3917e340f66e10e"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"b04a67e12f944f732a1da50b2a6df5818f16660007bc8236dbd480a64ce3bf6d253057619bea30d6c63b3e597ac5fe5e286e29bce05bbbe9f3917e340f66e10e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/3.root.json
index d765d03..6919bca 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/3.root.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/3.root.json
@@ -1 +1,143 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"},"scheme":"ed25519"},"c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"},"scheme":"ed25519"},"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063","abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"ba5468fd33eaf23033d643539249d330207ab0599333b0d103eadcd1d1d95b4d8cab79c870deaac5fd5f63b1400664bc1ed17cd07d11b959d983c14d3dc0380e"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"ba5468fd33eaf23033d643539249d330207ab0599333b0d103eadcd1d1d95b4d8cab79c870deaac5fd5f63b1400664bc1ed17cd07d11b959d983c14d3dc0380e"},{"keyid":"c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063","method":"ed25519","sig":"72da122707b6f06db38481012804417cfeab6c250818c8d48eea37845f39c8bcf5e5865482910642c64b83ebdeb85787016e846154b32a1b41bbbf758abeef05"},{"keyid":"abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5","method":"ed25519","sig":"72da122707b6f06db38481012804417cfeab6c250818c8d48eea37845f39c8bcf5e5865482910642c64b83ebdeb85787016e846154b32a1b41bbbf758abeef05"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "root",
+		"consistent_snapshot": true,
+		"expires": "2100-01-01T00:00:00Z",
+		"keys": {
+			"4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
+				},
+				"scheme": "ed25519"
+			},
+			"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			},
+			"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
+				},
+				"scheme": "ed25519"
+			},
+			"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			}
+		},
+		"roles": {
+			"root": {
+				"keyids": [
+					"4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d",
+					"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4"
+				],
+				"threshold": 1
+			},
+			"snapshot": {
+				"keyids": [
+					"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+					"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d"
+				],
+				"threshold": 1
+			},
+			"targets": {
+				"keyids": [
+					"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+					"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556"
+				],
+				"threshold": 1
+			},
+			"timestamp": {
+				"keyids": [
+					"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0",
+					"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d"
+				],
+				"threshold": 1
+			}
+		},
+		"spec_version": "1.0",
+		"version": 3
+	},
+	"signatures": [
+		{
+			"keyid": "160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7",
+			"method": "ed25519",
+			"sig": "3b0240ca3d8403a83af3cbd00ee3815355da0a26ab24ef8f948a420a0c842447048631b67a16028aba0c546059c10837c8600158ac525c80a50626d59a726e07"
+		},
+		{
+			"keyid": "f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953",
+			"method": "ed25519",
+			"sig": "3b0240ca3d8403a83af3cbd00ee3815355da0a26ab24ef8f948a420a0c842447048631b67a16028aba0c546059c10837c8600158ac525c80a50626d59a726e07"
+		},
+		{
+			"keyid": "4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d",
+			"method": "ed25519",
+			"sig": "4b366963a3f43d8b1006ab5e6ef1dfb5efb0ef1b66d4568f9bfeda248a5cf38420f4f2773d38c7caeafbf430bb655f197f0193c136bfaf2ea8e801ff1e5c3907"
+		},
+		{
+			"keyid": "a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4",
+			"method": "ed25519",
+			"sig": "4b366963a3f43d8b1006ab5e6ef1dfb5efb0ef1b66d4568f9bfeda248a5cf38420f4f2773d38c7caeafbf430bb655f197f0193c136bfaf2ea8e801ff1e5c3907"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/3.snapshot.json
deleted file mode 100644
index 00e1c43..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/3.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730"},"length":1093,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"f89f4d7afd5abc3d4c95997f0550a837d72a42a82423ce36ddeceecda0416e48193395ebc96ebfa5c818ebe9f27812cc844ca34654287da0d81c1e3af9096206"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"f89f4d7afd5abc3d4c95997f0550a837d72a42a82423ce36ddeceecda0416e48193395ebc96ebfa5c818ebe9f27812cc844ca34654287da0d81c1e3af9096206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/3.snapshot.json
new file mode 120000
index 0000000..7d86b95
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/3.snapshot.json
@@ -0,0 +1 @@
+../../2/repository/3.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/3.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/3.targets.json
deleted file mode 100644
index 68d4266..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/3.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"f7a427ebebf3168387543661963556c0a0132940600573c76b3fc304ee1dc589218cbf54a84c95070b6757d967e2c076741469307fb1324ce9cab6dd0ca01405"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"f7a427ebebf3168387543661963556c0a0132940600573c76b3fc304ee1dc589218cbf54a84c95070b6757d967e2c076741469307fb1324ce9cab6dd0ca01405"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/3.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/3.targets.json
new file mode 120000
index 0000000..d1df10e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/3.targets.json
@@ -0,0 +1 @@
+../../2/repository/3.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/33b282c1970996734deff944f2862f84b196f0b2b67dfa7383f75f95ef3e8673602aa411e05572075729ead6caa35df6720ce5723fd67c63d4aaa81dd966c5a4.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/33b282c1970996734deff944f2862f84b196f0b2b67dfa7383f75f95ef3e8673602aa411e05572075729ead6caa35df6720ce5723fd67c63d4aaa81dd966c5a4.snapshot.json
new file mode 120000
index 0000000..d137215
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/33b282c1970996734deff944f2862f84b196f0b2b67dfa7383f75f95ef3e8673602aa411e05572075729ead6caa35df6720ce5723fd67c63d4aaa81dd966c5a4.snapshot.json
@@ -0,0 +1 @@
+../../2/repository/33b282c1970996734deff944f2862f84b196f0b2b67dfa7383f75f95ef3e8673602aa411e05572075729ead6caa35df6720ce5723fd67c63d4aaa81dd966c5a4.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/4.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/4.snapshot.json
index 367619b..5965ff8 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/4.snapshot.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/4.snapshot.json
@@ -1 +1,36 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"12203374023883bb7ffba3156974a45fe25f55201ff8ca5e182adba37875f05dde21c887b7bf5fabc653370fa88c193a895ce4f445bb9b8d966eccd08dc740fa"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"95144e44f804d137a00f2f3f8e4907456c62c5d3b8dc0d1d2374c8b16d1c14357f68d96c26f1045014de7cc8f38cee3eed407afdd8247f394ee0209f72fcbebe"},"length":1261,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"f163d5690ea3316843d6b6e2d571ae5092382c61cacffff82b719151b006a72eec18281640bdd61ec31c805a01f4d470f795b12728cf2430b74c70ac9ff26105"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"f163d5690ea3316843d6b6e2d571ae5092382c61cacffff82b719151b006a72eec18281640bdd61ec31c805a01f4d470f795b12728cf2430b74c70ac9ff26105"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "snapshot",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"root.json": {
+				"hashes": {
+					"sha512": "858f38b3b040da754db743b564112c9a9b745b9fb0ffd2b5ee77cdf90799bd3675dfccc03e17e1bfe02b1c736a8b1f9e5862214e63c865c14a038f515d0ca0a8"
+				},
+				"length": 4339,
+				"version": 3
+			},
+			"targets.json": {
+				"hashes": {
+					"sha512": "0958a41c4b0b232addbc12a9352b9c745c54d5aafe626bc353b9ce46979282ba020175310dbd6fcc591d38751cd2980e2490a464a37e7d265c0498590e589cc0"
+				},
+				"length": 1469,
+				"version": 4
+			}
+		},
+		"spec_version": "1.0",
+		"version": 4
+	},
+	"signatures": [
+		{
+			"keyid": "d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+			"method": "ed25519",
+			"sig": "5bd326a781c857f583c18355a465b0808b7fb02753fb29c34ae4c10b7fb69cd94edff27ea3fd6dc8cf0956cca0ab2cc5cea721b5d8a6aa25600627d530623207"
+		},
+		{
+			"keyid": "7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d",
+			"method": "ed25519",
+			"sig": "5bd326a781c857f583c18355a465b0808b7fb02753fb29c34ae4c10b7fb69cd94edff27ea3fd6dc8cf0956cca0ab2cc5cea721b5d8a6aa25600627d530623207"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/4.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/4.targets.json
index 0435b8f..af26a75 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/4.targets.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/4.targets.json
@@ -1 +1,46 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1}},"version":4},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"fece6676d9a489cd2da6981e25067705721545987401c6e32079205087015bccc14fa51cad967f2bbab3521048a669da52e4cc8885dd8ca61ca9056296b9dc0f"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"fece6676d9a489cd2da6981e25067705721545987401c6e32079205087015bccc14fa51cad967f2bbab3521048a669da52e4cc8885dd8ca61ca9056296b9dc0f"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "targets",
+		"expires": "2100-01-01T00:00:00Z",
+		"spec_version": "1.0",
+		"targets": {
+			"0": {
+				"hashes": {
+					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
+				},
+				"length": 1
+			},
+			"1": {
+				"hashes": {
+					"sha512": "4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"
+				},
+				"length": 1
+			},
+			"2": {
+				"hashes": {
+					"sha512": "40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"
+				},
+				"length": 1
+			},
+			"3": {
+				"hashes": {
+					"sha512": "3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"
+				},
+				"length": 1
+			}
+		},
+		"version": 4
+	},
+	"signatures": [
+		{
+			"keyid": "b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+			"method": "ed25519",
+			"sig": "40c01f1bccc4f72e062bf07404bca3305974e75ba4e0f9e9ec49db97fcc4801ab21d87a7a52680e7c0aaea0a8ab42459f165f8b1d1db3f6ef1360d7227c37a08"
+		},
+		{
+			"keyid": "d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556",
+			"method": "ed25519",
+			"sig": "40c01f1bccc4f72e062bf07404bca3305974e75ba4e0f9e9ec49db97fcc4801ab21d87a7a52680e7c0aaea0a8ab42459f165f8b1d1db3f6ef1360d7227c37a08"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730.targets.json
deleted file mode 100644
index 68d4266..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"f7a427ebebf3168387543661963556c0a0132940600573c76b3fc304ee1dc589218cbf54a84c95070b6757d967e2c076741469307fb1324ce9cab6dd0ca01405"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"f7a427ebebf3168387543661963556c0a0132940600573c76b3fc304ee1dc589218cbf54a84c95070b6757d967e2c076741469307fb1324ce9cab6dd0ca01405"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/6ecff211b4df20d84e5a99a1145b7f96752efe880147439a3a8c2ecc080762f84b5b784da1b41d2ccb1492d112c521b4b82973589285dfbcfbb6c423c559ff4e.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/6ecff211b4df20d84e5a99a1145b7f96752efe880147439a3a8c2ecc080762f84b5b784da1b41d2ccb1492d112c521b4b82973589285dfbcfbb6c423c559ff4e.targets.json
new file mode 120000
index 0000000..77a3656
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/6ecff211b4df20d84e5a99a1145b7f96752efe880147439a3a8c2ecc080762f84b5b784da1b41d2ccb1492d112c521b4b82973589285dfbcfbb6c423c559ff4e.targets.json
@@ -0,0 +1 @@
+../../2/repository/6ecff211b4df20d84e5a99a1145b7f96752efe880147439a3a8c2ecc080762f84b5b784da1b41d2ccb1492d112c521b4b82973589285dfbcfbb6c423c559ff4e.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json
deleted file mode 100644
index b11f3de..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"5496d35371c10aa6a1a15b2f883580a977a7871b8759139f14e2eb9a215b804f936fa9acf83799c69062775a7c4c3ebd8c9ad49b1db69a6e8c70a035ad10bb0b"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"5496d35371c10aa6a1a15b2f883580a977a7871b8759139f14e2eb9a215b804f936fa9acf83799c69062775a7c4c3ebd8c9ad49b1db69a6e8c70a035ad10bb0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/858f38b3b040da754db743b564112c9a9b745b9fb0ffd2b5ee77cdf90799bd3675dfccc03e17e1bfe02b1c736a8b1f9e5862214e63c865c14a038f515d0ca0a8.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/858f38b3b040da754db743b564112c9a9b745b9fb0ffd2b5ee77cdf90799bd3675dfccc03e17e1bfe02b1c736a8b1f9e5862214e63c865c14a038f515d0ca0a8.root.json
new file mode 100644
index 0000000..6919bca
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/858f38b3b040da754db743b564112c9a9b745b9fb0ffd2b5ee77cdf90799bd3675dfccc03e17e1bfe02b1c736a8b1f9e5862214e63c865c14a038f515d0ca0a8.root.json
@@ -0,0 +1,143 @@
+{
+	"signed": {
+		"_type": "root",
+		"consistent_snapshot": true,
+		"expires": "2100-01-01T00:00:00Z",
+		"keys": {
+			"4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
+				},
+				"scheme": "ed25519"
+			},
+			"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			},
+			"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
+				},
+				"scheme": "ed25519"
+			},
+			"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			}
+		},
+		"roles": {
+			"root": {
+				"keyids": [
+					"4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d",
+					"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4"
+				],
+				"threshold": 1
+			},
+			"snapshot": {
+				"keyids": [
+					"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+					"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d"
+				],
+				"threshold": 1
+			},
+			"targets": {
+				"keyids": [
+					"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+					"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556"
+				],
+				"threshold": 1
+			},
+			"timestamp": {
+				"keyids": [
+					"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0",
+					"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d"
+				],
+				"threshold": 1
+			}
+		},
+		"spec_version": "1.0",
+		"version": 3
+	},
+	"signatures": [
+		{
+			"keyid": "160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7",
+			"method": "ed25519",
+			"sig": "3b0240ca3d8403a83af3cbd00ee3815355da0a26ab24ef8f948a420a0c842447048631b67a16028aba0c546059c10837c8600158ac525c80a50626d59a726e07"
+		},
+		{
+			"keyid": "f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953",
+			"method": "ed25519",
+			"sig": "3b0240ca3d8403a83af3cbd00ee3815355da0a26ab24ef8f948a420a0c842447048631b67a16028aba0c546059c10837c8600158ac525c80a50626d59a726e07"
+		},
+		{
+			"keyid": "4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d",
+			"method": "ed25519",
+			"sig": "4b366963a3f43d8b1006ab5e6ef1dfb5efb0ef1b66d4568f9bfeda248a5cf38420f4f2773d38c7caeafbf430bb655f197f0193c136bfaf2ea8e801ff1e5c3907"
+		},
+		{
+			"keyid": "a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4",
+			"method": "ed25519",
+			"sig": "4b366963a3f43d8b1006ab5e6ef1dfb5efb0ef1b66d4568f9bfeda248a5cf38420f4f2773d38c7caeafbf430bb655f197f0193c136bfaf2ea8e801ff1e5c3907"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/8f58f3f272b5e33f1b2c7545dbef1ba0dddfba4f8b6c742164d9b89c8648cde4ecace9f392365426a688bc5d11a207d0fe248712f05927573f7f5c709ba457e8.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/8f58f3f272b5e33f1b2c7545dbef1ba0dddfba4f8b6c742164d9b89c8648cde4ecace9f392365426a688bc5d11a207d0fe248712f05927573f7f5c709ba457e8.snapshot.json
deleted file mode 100644
index 00e1c43..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/8f58f3f272b5e33f1b2c7545dbef1ba0dddfba4f8b6c742164d9b89c8648cde4ecace9f392365426a688bc5d11a207d0fe248712f05927573f7f5c709ba457e8.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730"},"length":1093,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"f89f4d7afd5abc3d4c95997f0550a837d72a42a82423ce36ddeceecda0416e48193395ebc96ebfa5c818ebe9f27812cc844ca34654287da0d81c1e3af9096206"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"f89f4d7afd5abc3d4c95997f0550a837d72a42a82423ce36ddeceecda0416e48193395ebc96ebfa5c818ebe9f27812cc844ca34654287da0d81c1e3af9096206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/95144e44f804d137a00f2f3f8e4907456c62c5d3b8dc0d1d2374c8b16d1c14357f68d96c26f1045014de7cc8f38cee3eed407afdd8247f394ee0209f72fcbebe.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/95144e44f804d137a00f2f3f8e4907456c62c5d3b8dc0d1d2374c8b16d1c14357f68d96c26f1045014de7cc8f38cee3eed407afdd8247f394ee0209f72fcbebe.targets.json
deleted file mode 100644
index 0435b8f..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/95144e44f804d137a00f2f3f8e4907456c62c5d3b8dc0d1d2374c8b16d1c14357f68d96c26f1045014de7cc8f38cee3eed407afdd8247f394ee0209f72fcbebe.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1}},"version":4},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"fece6676d9a489cd2da6981e25067705721545987401c6e32079205087015bccc14fa51cad967f2bbab3521048a669da52e4cc8885dd8ca61ca9056296b9dc0f"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"fece6676d9a489cd2da6981e25067705721545987401c6e32079205087015bccc14fa51cad967f2bbab3521048a669da52e4cc8885dd8ca61ca9056296b9dc0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/9bac7b1442cb8cbfb6df5ded15fd59e95065aff7cdf68af248a4873300038111a31138d65a0d847c48d6479e12e01e0f167aec6a7a5724c11ee0ff2405cd6151.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/9bac7b1442cb8cbfb6df5ded15fd59e95065aff7cdf68af248a4873300038111a31138d65a0d847c48d6479e12e01e0f167aec6a7a5724c11ee0ff2405cd6151.snapshot.json
deleted file mode 100644
index 367619b..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/9bac7b1442cb8cbfb6df5ded15fd59e95065aff7cdf68af248a4873300038111a31138d65a0d847c48d6479e12e01e0f167aec6a7a5724c11ee0ff2405cd6151.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"12203374023883bb7ffba3156974a45fe25f55201ff8ca5e182adba37875f05dde21c887b7bf5fabc653370fa88c193a895ce4f445bb9b8d966eccd08dc740fa"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"95144e44f804d137a00f2f3f8e4907456c62c5d3b8dc0d1d2374c8b16d1c14357f68d96c26f1045014de7cc8f38cee3eed407afdd8247f394ee0209f72fcbebe"},"length":1261,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"f163d5690ea3316843d6b6e2d571ae5092382c61cacffff82b719151b006a72eec18281640bdd61ec31c805a01f4d470f795b12728cf2430b74c70ac9ff26105"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"f163d5690ea3316843d6b6e2d571ae5092382c61cacffff82b719151b006a72eec18281640bdd61ec31c805a01f4d470f795b12728cf2430b74c70ac9ff26105"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/b6e5aa107d62973842336ce39bd8c12f21acecd11ee4b5054ddb6d033a0a81eaf0ca087611771fd53ee8639f00ab8657317832f4ae352ca42bc4ece39e08c949.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/b6e5aa107d62973842336ce39bd8c12f21acecd11ee4b5054ddb6d033a0a81eaf0ca087611771fd53ee8639f00ab8657317832f4ae352ca42bc4ece39e08c949.snapshot.json
new file mode 120000
index 0000000..0030304
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/b6e5aa107d62973842336ce39bd8c12f21acecd11ee4b5054ddb6d033a0a81eaf0ca087611771fd53ee8639f00ab8657317832f4ae352ca42bc4ece39e08c949.snapshot.json
@@ -0,0 +1 @@
+../../2/repository/b6e5aa107d62973842336ce39bd8c12f21acecd11ee4b5054ddb6d033a0a81eaf0ca087611771fd53ee8639f00ab8657317832f4ae352ca42bc4ece39e08c949.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/bf4f7f4a062fd3780055d98572619db84d6d6c9b9b647bf6bca1190e984963ffb86189fb455110f4c13956ce9cbe72d95d03c5e6d72295414ac6bbcc3d1957c3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/bf4f7f4a062fd3780055d98572619db84d6d6c9b9b647bf6bca1190e984963ffb86189fb455110f4c13956ce9cbe72d95d03c5e6d72295414ac6bbcc3d1957c3.root.json
new file mode 120000
index 0000000..f1f205a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/bf4f7f4a062fd3780055d98572619db84d6d6c9b9b647bf6bca1190e984963ffb86189fb455110f4c13956ce9cbe72d95d03c5e6d72295414ac6bbcc3d1957c3.root.json
@@ -0,0 +1 @@
+../../2/repository/bf4f7f4a062fd3780055d98572619db84d6d6c9b9b647bf6bca1190e984963ffb86189fb455110f4c13956ce9cbe72d95d03c5e6d72295414ac6bbcc3d1957c3.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/c524226038aea1ef7b929eacee647d6306473e4bf121cf7fa6716a7afe67f4c60b3e9910b363f04e58effe7ce9ebedd1849cadc14dcdb8651a892c751f5ebe1d.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/c524226038aea1ef7b929eacee647d6306473e4bf121cf7fa6716a7afe67f4c60b3e9910b363f04e58effe7ce9ebedd1849cadc14dcdb8651a892c751f5ebe1d.root.json
new file mode 120000
index 0000000..5ce517e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/c524226038aea1ef7b929eacee647d6306473e4bf121cf7fa6716a7afe67f4c60b3e9910b363f04e58effe7ce9ebedd1849cadc14dcdb8651a892c751f5ebe1d.root.json
@@ -0,0 +1 @@
+../../2/repository/c524226038aea1ef7b929eacee647d6306473e4bf121cf7fa6716a7afe67f4c60b3e9910b363f04e58effe7ce9ebedd1849cadc14dcdb8651a892c751f5ebe1d.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/d2678da14b885b502802ee9eb93853548cf0138c9a80f5e88fea99b26c152865a9638088fee1f90cf8c3319fbc58fc8c7384b88abf6d0cc6312859070356a22f.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/d2678da14b885b502802ee9eb93853548cf0138c9a80f5e88fea99b26c152865a9638088fee1f90cf8c3319fbc58fc8c7384b88abf6d0cc6312859070356a22f.targets.json
new file mode 120000
index 0000000..f1b5cf1
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/d2678da14b885b502802ee9eb93853548cf0138c9a80f5e88fea99b26c152865a9638088fee1f90cf8c3319fbc58fc8c7384b88abf6d0cc6312859070356a22f.targets.json
@@ -0,0 +1 @@
+../../2/repository/d2678da14b885b502802ee9eb93853548cf0138c9a80f5e88fea99b26c152865a9638088fee1f90cf8c3319fbc58fc8c7384b88abf6d0cc6312859070356a22f.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json
deleted file mode 100644
index 5423a69..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624"},"length":757,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"997c432689ad2de3a379c95f3a28fff2d1f9b2efa39989a6d3fc2138ffa5d3e87ad29a28547a837bd7e1b51f540c2d909af55840cd8dc7ff01a568858e42b007"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"997c432689ad2de3a379c95f3a28fff2d1f9b2efa39989a6d3fc2138ffa5d3e87ad29a28547a837bd7e1b51f540c2d909af55840cd8dc7ff01a568858e42b007"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/root.json
index d765d03..6919bca 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/root.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/root.json
@@ -1 +1,143 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"},"scheme":"ed25519"},"c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"},"scheme":"ed25519"},"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063","abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"ba5468fd33eaf23033d643539249d330207ab0599333b0d103eadcd1d1d95b4d8cab79c870deaac5fd5f63b1400664bc1ed17cd07d11b959d983c14d3dc0380e"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"ba5468fd33eaf23033d643539249d330207ab0599333b0d103eadcd1d1d95b4d8cab79c870deaac5fd5f63b1400664bc1ed17cd07d11b959d983c14d3dc0380e"},{"keyid":"c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063","method":"ed25519","sig":"72da122707b6f06db38481012804417cfeab6c250818c8d48eea37845f39c8bcf5e5865482910642c64b83ebdeb85787016e846154b32a1b41bbbf758abeef05"},{"keyid":"abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5","method":"ed25519","sig":"72da122707b6f06db38481012804417cfeab6c250818c8d48eea37845f39c8bcf5e5865482910642c64b83ebdeb85787016e846154b32a1b41bbbf758abeef05"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "root",
+		"consistent_snapshot": true,
+		"expires": "2100-01-01T00:00:00Z",
+		"keys": {
+			"4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
+				},
+				"scheme": "ed25519"
+			},
+			"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			},
+			"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
+				},
+				"scheme": "ed25519"
+			},
+			"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+				},
+				"scheme": "ed25519"
+			},
+			"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			}
+		},
+		"roles": {
+			"root": {
+				"keyids": [
+					"4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d",
+					"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4"
+				],
+				"threshold": 1
+			},
+			"snapshot": {
+				"keyids": [
+					"d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+					"7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d"
+				],
+				"threshold": 1
+			},
+			"targets": {
+				"keyids": [
+					"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+					"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556"
+				],
+				"threshold": 1
+			},
+			"timestamp": {
+				"keyids": [
+					"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0",
+					"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d"
+				],
+				"threshold": 1
+			}
+		},
+		"spec_version": "1.0",
+		"version": 3
+	},
+	"signatures": [
+		{
+			"keyid": "160f5ae5e7017bc783bbbe26c5419bbeeeb87f507b140ef474da0517d56549f7",
+			"method": "ed25519",
+			"sig": "3b0240ca3d8403a83af3cbd00ee3815355da0a26ab24ef8f948a420a0c842447048631b67a16028aba0c546059c10837c8600158ac525c80a50626d59a726e07"
+		},
+		{
+			"keyid": "f806b84c8763453d011c0ba830a3290ee4be587969f5325117c7626411a0f953",
+			"method": "ed25519",
+			"sig": "3b0240ca3d8403a83af3cbd00ee3815355da0a26ab24ef8f948a420a0c842447048631b67a16028aba0c546059c10837c8600158ac525c80a50626d59a726e07"
+		},
+		{
+			"keyid": "4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d",
+			"method": "ed25519",
+			"sig": "4b366963a3f43d8b1006ab5e6ef1dfb5efb0ef1b66d4568f9bfeda248a5cf38420f4f2773d38c7caeafbf430bb655f197f0193c136bfaf2ea8e801ff1e5c3907"
+		},
+		{
+			"keyid": "a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4",
+			"method": "ed25519",
+			"sig": "4b366963a3f43d8b1006ab5e6ef1dfb5efb0ef1b66d4568f9bfeda248a5cf38420f4f2773d38c7caeafbf430bb655f197f0193c136bfaf2ea8e801ff1e5c3907"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/snapshot.json
index 367619b..5965ff8 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/snapshot.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/snapshot.json
@@ -1 +1,36 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"12203374023883bb7ffba3156974a45fe25f55201ff8ca5e182adba37875f05dde21c887b7bf5fabc653370fa88c193a895ce4f445bb9b8d966eccd08dc740fa"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"95144e44f804d137a00f2f3f8e4907456c62c5d3b8dc0d1d2374c8b16d1c14357f68d96c26f1045014de7cc8f38cee3eed407afdd8247f394ee0209f72fcbebe"},"length":1261,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"f163d5690ea3316843d6b6e2d571ae5092382c61cacffff82b719151b006a72eec18281640bdd61ec31c805a01f4d470f795b12728cf2430b74c70ac9ff26105"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"f163d5690ea3316843d6b6e2d571ae5092382c61cacffff82b719151b006a72eec18281640bdd61ec31c805a01f4d470f795b12728cf2430b74c70ac9ff26105"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "snapshot",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"root.json": {
+				"hashes": {
+					"sha512": "858f38b3b040da754db743b564112c9a9b745b9fb0ffd2b5ee77cdf90799bd3675dfccc03e17e1bfe02b1c736a8b1f9e5862214e63c865c14a038f515d0ca0a8"
+				},
+				"length": 4339,
+				"version": 3
+			},
+			"targets.json": {
+				"hashes": {
+					"sha512": "0958a41c4b0b232addbc12a9352b9c745c54d5aafe626bc353b9ce46979282ba020175310dbd6fcc591d38751cd2980e2490a464a37e7d265c0498590e589cc0"
+				},
+				"length": 1469,
+				"version": 4
+			}
+		},
+		"spec_version": "1.0",
+		"version": 4
+	},
+	"signatures": [
+		{
+			"keyid": "d792ff8cf3c5d9a8fe0fdfa585b25028fa9f49aa29c62a658140d4b98cc2c917",
+			"method": "ed25519",
+			"sig": "5bd326a781c857f583c18355a465b0808b7fb02753fb29c34ae4c10b7fb69cd94edff27ea3fd6dc8cf0956cca0ab2cc5cea721b5d8a6aa25600627d530623207"
+		},
+		{
+			"keyid": "7165b3cf2ad6a10d456498d958e80f2356b0d3a230d93a96a8dada5fdd8dd40d",
+			"method": "ed25519",
+			"sig": "5bd326a781c857f583c18355a465b0808b7fb02753fb29c34ae4c10b7fb69cd94edff27ea3fd6dc8cf0956cca0ab2cc5cea721b5d8a6aa25600627d530623207"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets.json
index 0435b8f..af26a75 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets.json
@@ -1 +1,46 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1}},"version":4},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"fece6676d9a489cd2da6981e25067705721545987401c6e32079205087015bccc14fa51cad967f2bbab3521048a669da52e4cc8885dd8ca61ca9056296b9dc0f"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"fece6676d9a489cd2da6981e25067705721545987401c6e32079205087015bccc14fa51cad967f2bbab3521048a669da52e4cc8885dd8ca61ca9056296b9dc0f"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "targets",
+		"expires": "2100-01-01T00:00:00Z",
+		"spec_version": "1.0",
+		"targets": {
+			"0": {
+				"hashes": {
+					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
+				},
+				"length": 1
+			},
+			"1": {
+				"hashes": {
+					"sha512": "4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"
+				},
+				"length": 1
+			},
+			"2": {
+				"hashes": {
+					"sha512": "40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"
+				},
+				"length": 1
+			},
+			"3": {
+				"hashes": {
+					"sha512": "3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"
+				},
+				"length": 1
+			}
+		},
+		"version": 4
+	},
+	"signatures": [
+		{
+			"keyid": "b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+			"method": "ed25519",
+			"sig": "40c01f1bccc4f72e062bf07404bca3305974e75ba4e0f9e9ec49db97fcc4801ab21d87a7a52680e7c0aaea0a8ab42459f165f8b1d1db3f6ef1360d7227c37a08"
+		},
+		{
+			"keyid": "d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556",
+			"method": "ed25519",
+			"sig": "40c01f1bccc4f72e062bf07404bca3305974e75ba4e0f9e9ec49db97fcc4801ab21d87a7a52680e7c0aaea0a8ab42459f165f8b1d1db3f6ef1360d7227c37a08"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/0.0
deleted file mode 100644
index c227083..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/0.0
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/0.0
new file mode 120000
index 0000000..13920b0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/0.0
@@ -0,0 +1 @@
+../../../2/repository/targets/0.0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/0.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/0.1
deleted file mode 100644
index 56a6051..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/0.1
+++ /dev/null
@@ -1 +0,0 @@
-1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/0.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/0.1
new file mode 120000
index 0000000..357ae1e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/0.1
@@ -0,0 +1 @@
+../../../2/repository/targets/0.1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/0.2 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/0.2
deleted file mode 100644
index d8263ee..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/0.2
+++ /dev/null
@@ -1 +0,0 @@
-2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/0.2 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/0.2
new file mode 120000
index 0000000..20ee725
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/0.2
@@ -0,0 +1 @@
+../../../2/repository/targets/0.2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
deleted file mode 100644
index c227083..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 120000
index 0000000..f820397
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+../../../2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
deleted file mode 100644
index d8263ee..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
+++ /dev/null
@@ -1 +0,0 @@
-2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 120000
index 0000000..7cbcc2a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+../../../2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
deleted file mode 100644
index 56a6051..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
+++ /dev/null
@@ -1 +0,0 @@
-1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 120000
index 0000000..180cdb4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+../../../2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/timestamp.json
index de2e772..015bf88 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/timestamp.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/timestamp.json
@@ -1 +1,29 @@
-{"signed":{"_type":"timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"9bac7b1442cb8cbfb6df5ded15fd59e95065aff7cdf68af248a4873300038111a31138d65a0d847c48d6479e12e01e0f167aec6a7a5724c11ee0ff2405cd6151"},"length":972,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","method":"ed25519","sig":"9dc46a572391b2ca9580a3b03eee502bdeae2ebba303499d21511a45dbd4ddec176ffd00cace8b5baaeaf8b76929d5e0d4c74fc10bfd9d609b86e7844444a30a"},{"keyid":"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5","method":"ed25519","sig":"9dc46a572391b2ca9580a3b03eee502bdeae2ebba303499d21511a45dbd4ddec176ffd00cace8b5baaeaf8b76929d5e0d4c74fc10bfd9d609b86e7844444a30a"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "timestamp",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"snapshot.json": {
+				"hashes": {
+					"sha512": "0d27c60944035233503fa1ac6023fada94ea21b947bf53500cf95460ec32445903ef835dbb5f5ad9fe6442007e63b8de487065c8e75ee32053d89db175f45a1f"
+				},
+				"length": 1126,
+				"version": 4
+			}
+		},
+		"spec_version": "1.0",
+		"version": 4
+	},
+	"signatures": [
+		{
+			"keyid": "79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0",
+			"method": "ed25519",
+			"sig": "99f89a943c965e076e559656ef96d43822a093e29c2b5121b62a8a706e029723c3badd96c5668bc22defb1e3f939cb7e9ad7ba9a769c1c148f2c5adc5f96030e"
+		},
+		{
+			"keyid": "e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d",
+			"method": "ed25519",
+			"sig": "99f89a943c965e076e559656ef96d43822a093e29c2b5121b62a8a706e029723c3badd96c5668bc22defb1e3f939cb7e9ad7ba9a769c1c148f2c5adc5f96030e"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/keys/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/keys/root.json
index d85423b..1abfd12 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/keys/root.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/keys/root.json
@@ -1 +1 @@
-{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c","private":"e36f5f08db141807c3e2e715c92f60001e9f4b98cda9981cbcb05019c452ed3ffe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"}}]}
\ No newline at end of file
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha256"],"keyval":{"public":"153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54","private":"e53595d99a85a33d7c228d28b25c856148c65be36558d0d61faa7e018a51db5c153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/keys/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/keys/snapshot.json
index 0d9d8de..85d0f2d 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/keys/snapshot.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/keys/snapshot.json
@@ -5,22 +5,22 @@
 			"keytype": "ed25519",
 			"scheme": "ed25519",
 			"keyid_hash_algorithms": [
-				"sha512"
+				"sha256"
 			],
 			"keyval": {
-				"public": "ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517",
-				"private": "a36682d4e7d45d509b657c80bc808603e0ba2ce0cbf54694f7e58c2bb7fc381ded4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"
+				"public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94",
+				"private": "28de1763cc4cc78702167bd6cf862fc3977afc2404c5eebbdfb948bab55f14f0d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
 			}
 		},
 		{
 			"keytype": "ed25519",
 			"scheme": "ed25519",
 			"keyid_hash_algorithms": [
-				"sha512"
+				"sha256"
 			],
 			"keyval": {
-				"public": "87c25141eab312f8dd41e5d8519f9b7b10350e2834a39a0600ea3315d1701b83",
-				"private": "569e732e202041db3349b9fcb8e575f9e1d8171518856f2393bd1789baf9077187c25141eab312f8dd41e5d8519f9b7b10350e2834a39a0600ea3315d1701b83"
+				"public": "722dbc861813bb5b568524d62083e875c08e66fed1694d9161d253fa163dd86f",
+				"private": "fb85703e9c1c77cfe87c18eda24d5637d997503fef4107f6c04777b0fbec2b8c722dbc861813bb5b568524d62083e875c08e66fed1694d9161d253fa163dd86f"
 			}
 		}
 	]
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/keys/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/keys/targets.json
deleted file mode 100644
index 04b647b..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/keys/targets.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-	"encrypted": false,
-	"data": [
-		{
-			"keytype": "ed25519",
-			"scheme": "ed25519",
-			"keyid_hash_algorithms": [
-				"sha512"
-			],
-			"keyval": {
-				"public": "35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb",
-				"private": "4ed1e6ebbbaa57ddf1a0e01aa9e8ccf91b53fde12fed1ad9aea393f50d68ab9535f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"
-			}
-		}
-	]
-}
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/keys/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/keys/targets.json
new file mode 120000
index 0000000..36ae0a9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/keys/targets.json
@@ -0,0 +1 @@
+../../3/keys/targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/keys/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/keys/timestamp.json
deleted file mode 100644
index 1e8b0d5..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/keys/timestamp.json
+++ /dev/null
@@ -1 +0,0 @@
-{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b","private":"b55b6f61ca3d2a77b5d2331787a77e430cd287d9eae4350292df8fc2fc0707f6cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/keys/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/keys/timestamp.json
new file mode 120000
index 0000000..d8f03ad
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/keys/timestamp.json
@@ -0,0 +1 @@
+../../3/keys/timestamp.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/0958a41c4b0b232addbc12a9352b9c745c54d5aafe626bc353b9ce46979282ba020175310dbd6fcc591d38751cd2980e2490a464a37e7d265c0498590e589cc0.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/0958a41c4b0b232addbc12a9352b9c745c54d5aafe626bc353b9ce46979282ba020175310dbd6fcc591d38751cd2980e2490a464a37e7d265c0498590e589cc0.targets.json
new file mode 120000
index 0000000..214283a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/0958a41c4b0b232addbc12a9352b9c745c54d5aafe626bc353b9ce46979282ba020175310dbd6fcc591d38751cd2980e2490a464a37e7d265c0498590e589cc0.targets.json
@@ -0,0 +1 @@
+../../3/repository/0958a41c4b0b232addbc12a9352b9c745c54d5aafe626bc353b9ce46979282ba020175310dbd6fcc591d38751cd2980e2490a464a37e7d265c0498590e589cc0.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/0d27c60944035233503fa1ac6023fada94ea21b947bf53500cf95460ec32445903ef835dbb5f5ad9fe6442007e63b8de487065c8e75ee32053d89db175f45a1f.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/0d27c60944035233503fa1ac6023fada94ea21b947bf53500cf95460ec32445903ef835dbb5f5ad9fe6442007e63b8de487065c8e75ee32053d89db175f45a1f.snapshot.json
new file mode 120000
index 0000000..8b5c990
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/0d27c60944035233503fa1ac6023fada94ea21b947bf53500cf95460ec32445903ef835dbb5f5ad9fe6442007e63b8de487065c8e75ee32053d89db175f45a1f.snapshot.json
@@ -0,0 +1 @@
+../../3/repository/0d27c60944035233503fa1ac6023fada94ea21b947bf53500cf95460ec32445903ef835dbb5f5ad9fe6442007e63b8de487065c8e75ee32053d89db175f45a1f.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1.root.json
deleted file mode 100644
index 5c62584..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1de2ee941697a910bccddd52dd7f379f9a447da5f78db7147660b1ef48da2256":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"},"scheme":"ed25519"},"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"703624c663edb3f393804dfe7ce22f80a99b7d75c946a8a263231d6d15407af7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["1de2ee941697a910bccddd52dd7f379f9a447da5f78db7147660b1ef48da2256","703624c663edb3f393804dfe7ce22f80a99b7d75c946a8a263231d6d15407af7"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"64c0f98592410dd851b25a59f9a1a9fb48d4911ecd4795ae415d6e1e9c5d3067a97cf24d2b463c2e6faad47fb68dbc41d4ced93bdb17852fec782e8da2bb370a"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"64c0f98592410dd851b25a59f9a1a9fb48d4911ecd4795ae415d6e1e9c5d3067a97cf24d2b463c2e6faad47fb68dbc41d4ced93bdb17852fec782e8da2bb370a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1.root.json
new file mode 120000
index 0000000..741d218
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1.root.json
@@ -0,0 +1 @@
+../../3/repository/1.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1.snapshot.json
deleted file mode 100644
index 5423a69..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624"},"length":757,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"997c432689ad2de3a379c95f3a28fff2d1f9b2efa39989a6d3fc2138ffa5d3e87ad29a28547a837bd7e1b51f540c2d909af55840cd8dc7ff01a568858e42b007"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"997c432689ad2de3a379c95f3a28fff2d1f9b2efa39989a6d3fc2138ffa5d3e87ad29a28547a837bd7e1b51f540c2d909af55840cd8dc7ff01a568858e42b007"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1.snapshot.json
new file mode 120000
index 0000000..f87f7ed
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1.snapshot.json
@@ -0,0 +1 @@
+../../3/repository/1.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1.targets.json
deleted file mode 100644
index ec4336b..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"443b774c4daddeb137a6bdb0800cdf4450bb7a11bfb1df5a745641c16e7ea9503d1db05da4a8ce165034c602e708ef60a3a5d6d28af5b7c1479ef4dc4ef0bf04"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"443b774c4daddeb137a6bdb0800cdf4450bb7a11bfb1df5a745641c16e7ea9503d1db05da4a8ce165034c602e708ef60a3a5d6d28af5b7c1479ef4dc4ef0bf04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1.targets.json
new file mode 120000
index 0000000..b0002ec
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1.targets.json
@@ -0,0 +1 @@
+../../3/repository/1.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json
deleted file mode 100644
index 5c62584..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1de2ee941697a910bccddd52dd7f379f9a447da5f78db7147660b1ef48da2256":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"},"scheme":"ed25519"},"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"703624c663edb3f393804dfe7ce22f80a99b7d75c946a8a263231d6d15407af7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["1de2ee941697a910bccddd52dd7f379f9a447da5f78db7147660b1ef48da2256","703624c663edb3f393804dfe7ce22f80a99b7d75c946a8a263231d6d15407af7"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"64c0f98592410dd851b25a59f9a1a9fb48d4911ecd4795ae415d6e1e9c5d3067a97cf24d2b463c2e6faad47fb68dbc41d4ced93bdb17852fec782e8da2bb370a"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"64c0f98592410dd851b25a59f9a1a9fb48d4911ecd4795ae415d6e1e9c5d3067a97cf24d2b463c2e6faad47fb68dbc41d4ced93bdb17852fec782e8da2bb370a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/118c2a2b6b9f7bc667dca8404a2671910a22b6fe48e460816a9f6f2be66f7806a789c9dc4880d2c2812c0bc7607caac30cc0a8299183fd7228e1049f6920ce22.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/118c2a2b6b9f7bc667dca8404a2671910a22b6fe48e460816a9f6f2be66f7806a789c9dc4880d2c2812c0bc7607caac30cc0a8299183fd7228e1049f6920ce22.targets.json
new file mode 120000
index 0000000..71b4225
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/118c2a2b6b9f7bc667dca8404a2671910a22b6fe48e460816a9f6f2be66f7806a789c9dc4880d2c2812c0bc7607caac30cc0a8299183fd7228e1049f6920ce22.targets.json
@@ -0,0 +1 @@
+../../3/repository/118c2a2b6b9f7bc667dca8404a2671910a22b6fe48e460816a9f6f2be66f7806a789c9dc4880d2c2812c0bc7607caac30cc0a8299183fd7228e1049f6920ce22.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/12203374023883bb7ffba3156974a45fe25f55201ff8ca5e182adba37875f05dde21c887b7bf5fabc653370fa88c193a895ce4f445bb9b8d966eccd08dc740fa.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/12203374023883bb7ffba3156974a45fe25f55201ff8ca5e182adba37875f05dde21c887b7bf5fabc653370fa88c193a895ce4f445bb9b8d966eccd08dc740fa.root.json
deleted file mode 100644
index d765d03..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/12203374023883bb7ffba3156974a45fe25f55201ff8ca5e182adba37875f05dde21c887b7bf5fabc653370fa88c193a895ce4f445bb9b8d966eccd08dc740fa.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"},"scheme":"ed25519"},"c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"},"scheme":"ed25519"},"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063","abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"ba5468fd33eaf23033d643539249d330207ab0599333b0d103eadcd1d1d95b4d8cab79c870deaac5fd5f63b1400664bc1ed17cd07d11b959d983c14d3dc0380e"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"ba5468fd33eaf23033d643539249d330207ab0599333b0d103eadcd1d1d95b4d8cab79c870deaac5fd5f63b1400664bc1ed17cd07d11b959d983c14d3dc0380e"},{"keyid":"c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063","method":"ed25519","sig":"72da122707b6f06db38481012804417cfeab6c250818c8d48eea37845f39c8bcf5e5865482910642c64b83ebdeb85787016e846154b32a1b41bbbf758abeef05"},{"keyid":"abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5","method":"ed25519","sig":"72da122707b6f06db38481012804417cfeab6c250818c8d48eea37845f39c8bcf5e5865482910642c64b83ebdeb85787016e846154b32a1b41bbbf758abeef05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json
deleted file mode 100644
index ec4336b..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"443b774c4daddeb137a6bdb0800cdf4450bb7a11bfb1df5a745641c16e7ea9503d1db05da4a8ce165034c602e708ef60a3a5d6d28af5b7c1479ef4dc4ef0bf04"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"443b774c4daddeb137a6bdb0800cdf4450bb7a11bfb1df5a745641c16e7ea9503d1db05da4a8ce165034c602e708ef60a3a5d6d28af5b7c1479ef4dc4ef0bf04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1e8baadc56616d9fa750c0be8ff3318cd1774422cb43f95a4eb562b50f871af82be23f4a9a5a280cf1d63c1163bb4e502ebb1ecc7ba0537010bd451f3f6fb54a.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1e8baadc56616d9fa750c0be8ff3318cd1774422cb43f95a4eb562b50f871af82be23f4a9a5a280cf1d63c1163bb4e502ebb1ecc7ba0537010bd451f3f6fb54a.snapshot.json
new file mode 120000
index 0000000..c1504a3
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1e8baadc56616d9fa750c0be8ff3318cd1774422cb43f95a4eb562b50f871af82be23f4a9a5a280cf1d63c1163bb4e502ebb1ecc7ba0537010bd451f3f6fb54a.snapshot.json
@@ -0,0 +1 @@
+../../3/repository/1e8baadc56616d9fa750c0be8ff3318cd1774422cb43f95a4eb562b50f871af82be23f4a9a5a280cf1d63c1163bb4e502ebb1ecc7ba0537010bd451f3f6fb54a.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2.root.json
deleted file mode 100644
index c88a251..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"b04a67e12f944f732a1da50b2a6df5818f16660007bc8236dbd480a64ce3bf6d253057619bea30d6c63b3e597ac5fe5e286e29bce05bbbe9f3917e340f66e10e"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"b04a67e12f944f732a1da50b2a6df5818f16660007bc8236dbd480a64ce3bf6d253057619bea30d6c63b3e597ac5fe5e286e29bce05bbbe9f3917e340f66e10e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2.root.json
new file mode 120000
index 0000000..fb9b350
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2.root.json
@@ -0,0 +1 @@
+../../3/repository/2.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2.snapshot.json
deleted file mode 100644
index 2f81d28..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695"},"length":925,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"704b54d9063d6efb9e6bb2e1b68e92f1a47e668c16b2c872585b487deb4c9c985d49d6b04f746c8c65bdf1cb2c19bd910518d64e5e77055cf5167fb15970b207"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"704b54d9063d6efb9e6bb2e1b68e92f1a47e668c16b2c872585b487deb4c9c985d49d6b04f746c8c65bdf1cb2c19bd910518d64e5e77055cf5167fb15970b207"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2.snapshot.json
new file mode 120000
index 0000000..e96983b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2.snapshot.json
@@ -0,0 +1 @@
+../../3/repository/2.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2.targets.json
deleted file mode 100644
index b11f3de..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"5496d35371c10aa6a1a15b2f883580a977a7871b8759139f14e2eb9a215b804f936fa9acf83799c69062775a7c4c3ebd8c9ad49b1db69a6e8c70a035ad10bb0b"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"5496d35371c10aa6a1a15b2f883580a977a7871b8759139f14e2eb9a215b804f936fa9acf83799c69062775a7c4c3ebd8c9ad49b1db69a6e8c70a035ad10bb0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2.targets.json
new file mode 120000
index 0000000..dbb2a75
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2.targets.json
@@ -0,0 +1 @@
+../../3/repository/2.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json
deleted file mode 100644
index 2f81d28..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695"},"length":925,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"704b54d9063d6efb9e6bb2e1b68e92f1a47e668c16b2c872585b487deb4c9c985d49d6b04f746c8c65bdf1cb2c19bd910518d64e5e77055cf5167fb15970b207"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"704b54d9063d6efb9e6bb2e1b68e92f1a47e668c16b2c872585b487deb4c9c985d49d6b04f746c8c65bdf1cb2c19bd910518d64e5e77055cf5167fb15970b207"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626.root.json
deleted file mode 100644
index c88a251..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"b04a67e12f944f732a1da50b2a6df5818f16660007bc8236dbd480a64ce3bf6d253057619bea30d6c63b3e597ac5fe5e286e29bce05bbbe9f3917e340f66e10e"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"b04a67e12f944f732a1da50b2a6df5818f16660007bc8236dbd480a64ce3bf6d253057619bea30d6c63b3e597ac5fe5e286e29bce05bbbe9f3917e340f66e10e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/3.root.json
deleted file mode 100644
index d765d03..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/3.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"},"scheme":"ed25519"},"c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"},"scheme":"ed25519"},"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063","abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"ba5468fd33eaf23033d643539249d330207ab0599333b0d103eadcd1d1d95b4d8cab79c870deaac5fd5f63b1400664bc1ed17cd07d11b959d983c14d3dc0380e"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"ba5468fd33eaf23033d643539249d330207ab0599333b0d103eadcd1d1d95b4d8cab79c870deaac5fd5f63b1400664bc1ed17cd07d11b959d983c14d3dc0380e"},{"keyid":"c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063","method":"ed25519","sig":"72da122707b6f06db38481012804417cfeab6c250818c8d48eea37845f39c8bcf5e5865482910642c64b83ebdeb85787016e846154b32a1b41bbbf758abeef05"},{"keyid":"abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5","method":"ed25519","sig":"72da122707b6f06db38481012804417cfeab6c250818c8d48eea37845f39c8bcf5e5865482910642c64b83ebdeb85787016e846154b32a1b41bbbf758abeef05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/3.root.json
new file mode 120000
index 0000000..65e6c5b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/3.root.json
@@ -0,0 +1 @@
+../../3/repository/3.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/3.snapshot.json
deleted file mode 100644
index 00e1c43..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/3.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730"},"length":1093,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"f89f4d7afd5abc3d4c95997f0550a837d72a42a82423ce36ddeceecda0416e48193395ebc96ebfa5c818ebe9f27812cc844ca34654287da0d81c1e3af9096206"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"f89f4d7afd5abc3d4c95997f0550a837d72a42a82423ce36ddeceecda0416e48193395ebc96ebfa5c818ebe9f27812cc844ca34654287da0d81c1e3af9096206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/3.snapshot.json
new file mode 120000
index 0000000..f2fd560
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/3.snapshot.json
@@ -0,0 +1 @@
+../../3/repository/3.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/3.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/3.targets.json
deleted file mode 100644
index 68d4266..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/3.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"f7a427ebebf3168387543661963556c0a0132940600573c76b3fc304ee1dc589218cbf54a84c95070b6757d967e2c076741469307fb1324ce9cab6dd0ca01405"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"f7a427ebebf3168387543661963556c0a0132940600573c76b3fc304ee1dc589218cbf54a84c95070b6757d967e2c076741469307fb1324ce9cab6dd0ca01405"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/3.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/3.targets.json
new file mode 120000
index 0000000..ca61e77
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/3.targets.json
@@ -0,0 +1 @@
+../../3/repository/3.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/33b282c1970996734deff944f2862f84b196f0b2b67dfa7383f75f95ef3e8673602aa411e05572075729ead6caa35df6720ce5723fd67c63d4aaa81dd966c5a4.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/33b282c1970996734deff944f2862f84b196f0b2b67dfa7383f75f95ef3e8673602aa411e05572075729ead6caa35df6720ce5723fd67c63d4aaa81dd966c5a4.snapshot.json
new file mode 120000
index 0000000..98160f7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/33b282c1970996734deff944f2862f84b196f0b2b67dfa7383f75f95ef3e8673602aa411e05572075729ead6caa35df6720ce5723fd67c63d4aaa81dd966c5a4.snapshot.json
@@ -0,0 +1 @@
+../../3/repository/33b282c1970996734deff944f2862f84b196f0b2b67dfa7383f75f95ef3e8673602aa411e05572075729ead6caa35df6720ce5723fd67c63d4aaa81dd966c5a4.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/4.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/4.root.json
index 86d176c..9058648 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/4.root.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/4.root.json
@@ -1 +1,133 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"},"scheme":"ed25519"},"c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"},"scheme":"ed25519"},"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063","abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5"],"threshold":1}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063","method":"ed25519","sig":"0ff19bd2acfd9999a1230846a9ac7c97d3cbba7be707d63edd57f1210e39a870057dfc3422b2791800b257f04794719e77a82843ec085a4bc8d4c4327991c205"},{"keyid":"abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5","method":"ed25519","sig":"0ff19bd2acfd9999a1230846a9ac7c97d3cbba7be707d63edd57f1210e39a870057dfc3422b2791800b257f04794719e77a82843ec085a4bc8d4c4327991c205"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "root",
+		"consistent_snapshot": true,
+		"expires": "2100-01-01T00:00:00Z",
+		"keys": {
+			"4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
+				},
+				"scheme": "ed25519"
+			},
+			"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			},
+			"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
+				},
+				"scheme": "ed25519"
+			},
+			"ad7c98dfb3b99024f8b49e33f3d92e66537f0abab78a84f1e4b667dfbf52bf60": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "722dbc861813bb5b568524d62083e875c08e66fed1694d9161d253fa163dd86f"
+				},
+				"scheme": "ed25519"
+			},
+			"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"bed15bf57ba4deb4e09667099d45d119504420983d16fd0927ebfb0c25184e7f": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "722dbc861813bb5b568524d62083e875c08e66fed1694d9161d253fa163dd86f"
+				},
+				"scheme": "ed25519"
+			},
+			"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			}
+		},
+		"roles": {
+			"root": {
+				"keyids": [
+					"4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d",
+					"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4"
+				],
+				"threshold": 1
+			},
+			"snapshot": {
+				"keyids": [
+					"bed15bf57ba4deb4e09667099d45d119504420983d16fd0927ebfb0c25184e7f",
+					"ad7c98dfb3b99024f8b49e33f3d92e66537f0abab78a84f1e4b667dfbf52bf60"
+				],
+				"threshold": 1
+			},
+			"targets": {
+				"keyids": [
+					"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+					"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556"
+				],
+				"threshold": 1
+			},
+			"timestamp": {
+				"keyids": [
+					"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0",
+					"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d"
+				],
+				"threshold": 1
+			}
+		},
+		"spec_version": "1.0",
+		"version": 4
+	},
+	"signatures": [
+		{
+			"keyid": "4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d",
+			"method": "ed25519",
+			"sig": "c4de4b3e074de76eb8821b562326d2f88f000b8780b6c90597295cbbac86d8d676078360d4695409f1c51d74db37768c305b5431961945a628ab11952d0bd200"
+		},
+		{
+			"keyid": "a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4",
+			"method": "ed25519",
+			"sig": "c4de4b3e074de76eb8821b562326d2f88f000b8780b6c90597295cbbac86d8d676078360d4695409f1c51d74db37768c305b5431961945a628ab11952d0bd200"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/4.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/4.snapshot.json
deleted file mode 100644
index 367619b..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/4.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"12203374023883bb7ffba3156974a45fe25f55201ff8ca5e182adba37875f05dde21c887b7bf5fabc653370fa88c193a895ce4f445bb9b8d966eccd08dc740fa"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"95144e44f804d137a00f2f3f8e4907456c62c5d3b8dc0d1d2374c8b16d1c14357f68d96c26f1045014de7cc8f38cee3eed407afdd8247f394ee0209f72fcbebe"},"length":1261,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"f163d5690ea3316843d6b6e2d571ae5092382c61cacffff82b719151b006a72eec18281640bdd61ec31c805a01f4d470f795b12728cf2430b74c70ac9ff26105"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"f163d5690ea3316843d6b6e2d571ae5092382c61cacffff82b719151b006a72eec18281640bdd61ec31c805a01f4d470f795b12728cf2430b74c70ac9ff26105"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/4.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/4.snapshot.json
new file mode 120000
index 0000000..a2f839a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/4.snapshot.json
@@ -0,0 +1 @@
+../../3/repository/4.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/4.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/4.targets.json
deleted file mode 100644
index 0435b8f..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/4.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1}},"version":4},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"fece6676d9a489cd2da6981e25067705721545987401c6e32079205087015bccc14fa51cad967f2bbab3521048a669da52e4cc8885dd8ca61ca9056296b9dc0f"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"fece6676d9a489cd2da6981e25067705721545987401c6e32079205087015bccc14fa51cad967f2bbab3521048a669da52e4cc8885dd8ca61ca9056296b9dc0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/4.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/4.targets.json
new file mode 120000
index 0000000..9f7a784
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/4.targets.json
@@ -0,0 +1 @@
+../../3/repository/4.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/5.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/5.snapshot.json
index 7e509f9..336fc0d 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/5.snapshot.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/5.snapshot.json
@@ -1 +1,36 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"64e2a6ca1d3806852888c7f86ad4edbe0663dd0f41b219a74098b1bec2bd8c399aaf444e614133f1713b9b7604152f2587f9b80406eab3cfae66bb99fbf94b91"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"bcb5768b6fc725dd9b35c52a1a3a5bdf1b978a21600133d31603db435c4dc6a4ad7a765ad9703450e2a34ccb7c99391214b325f0d8541af2b7149f370afeea0d"},"length":1429,"version":5}},"spec_version":"1.0","version":5},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"acb6d47ce288fc1d21fbf550b0e6a82446e51de7bbaed4797be97ddaede2a6e9b39866dd1481abaefe9855b768817da69be6382ad7f5cefdc5342a129a5f3d04"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"acb6d47ce288fc1d21fbf550b0e6a82446e51de7bbaed4797be97ddaede2a6e9b39866dd1481abaefe9855b768817da69be6382ad7f5cefdc5342a129a5f3d04"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "snapshot",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"root.json": {
+				"hashes": {
+					"sha512": "77cfe7cf50f16f765333948e7f2ad62ef8670fc4eb60f3eb80941a3403c283addf5f336ab900a4f37078b1a2c565d90fea4f758088ae3d6235881f028459f9e4"
+				},
+				"length": 3831,
+				"version": 4
+			},
+			"targets.json": {
+				"hashes": {
+					"sha512": "e544e4063c93616b3bed831b0fe5cb72babef0de162da0796e9a6407564c07bdf361d91f41127632f6b2172b2922ab03fa2d9e792d5ef6af8d52aa5031888116"
+				},
+				"length": 1670,
+				"version": 5
+			}
+		},
+		"spec_version": "1.0",
+		"version": 5
+	},
+	"signatures": [
+		{
+			"keyid": "bed15bf57ba4deb4e09667099d45d119504420983d16fd0927ebfb0c25184e7f",
+			"method": "ed25519",
+			"sig": "7edc216e6a2ad712bf9dbe803a309b4345779eeb0b2eb166b219e9c1dec276d16d62d29ab4209aa1181763c6a7a79d935a17f6cefde0ed17fb25bff2e40e8e03"
+		},
+		{
+			"keyid": "ad7c98dfb3b99024f8b49e33f3d92e66537f0abab78a84f1e4b667dfbf52bf60",
+			"method": "ed25519",
+			"sig": "7edc216e6a2ad712bf9dbe803a309b4345779eeb0b2eb166b219e9c1dec276d16d62d29ab4209aa1181763c6a7a79d935a17f6cefde0ed17fb25bff2e40e8e03"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/5.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/5.targets.json
index c16c1f7..9551233 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/5.targets.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/5.targets.json
@@ -1 +1,52 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1},"4":{"hashes":{"sha512":"a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568"},"length":1}},"version":5},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"3e17e3d94e59d1af84fd88fcadede6bd2b2e34702862f71483b1dd8005cafa55f4e9b6bb75a102995d71b15533f9203b337a03d39f055b795870279d45802a09"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"3e17e3d94e59d1af84fd88fcadede6bd2b2e34702862f71483b1dd8005cafa55f4e9b6bb75a102995d71b15533f9203b337a03d39f055b795870279d45802a09"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "targets",
+		"expires": "2100-01-01T00:00:00Z",
+		"spec_version": "1.0",
+		"targets": {
+			"0": {
+				"hashes": {
+					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
+				},
+				"length": 1
+			},
+			"1": {
+				"hashes": {
+					"sha512": "4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"
+				},
+				"length": 1
+			},
+			"2": {
+				"hashes": {
+					"sha512": "40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"
+				},
+				"length": 1
+			},
+			"3": {
+				"hashes": {
+					"sha512": "3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"
+				},
+				"length": 1
+			},
+			"4": {
+				"hashes": {
+					"sha512": "a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568"
+				},
+				"length": 1
+			}
+		},
+		"version": 5
+	},
+	"signatures": [
+		{
+			"keyid": "b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+			"method": "ed25519",
+			"sig": "ada232dfe3499e17c5b1f6c046375f30e930b90aed0dcf6fd7fbd631f4e5ea1ad0ebeae039920715fd1e2bdfcad017adbe20309eadb329898a9a7c8998735b00"
+		},
+		{
+			"keyid": "d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556",
+			"method": "ed25519",
+			"sig": "ada232dfe3499e17c5b1f6c046375f30e930b90aed0dcf6fd7fbd631f4e5ea1ad0ebeae039920715fd1e2bdfcad017adbe20309eadb329898a9a7c8998735b00"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/64e2a6ca1d3806852888c7f86ad4edbe0663dd0f41b219a74098b1bec2bd8c399aaf444e614133f1713b9b7604152f2587f9b80406eab3cfae66bb99fbf94b91.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/64e2a6ca1d3806852888c7f86ad4edbe0663dd0f41b219a74098b1bec2bd8c399aaf444e614133f1713b9b7604152f2587f9b80406eab3cfae66bb99fbf94b91.root.json
deleted file mode 100644
index 86d176c..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/64e2a6ca1d3806852888c7f86ad4edbe0663dd0f41b219a74098b1bec2bd8c399aaf444e614133f1713b9b7604152f2587f9b80406eab3cfae66bb99fbf94b91.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"},"scheme":"ed25519"},"c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"},"scheme":"ed25519"},"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063","abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5"],"threshold":1}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063","method":"ed25519","sig":"0ff19bd2acfd9999a1230846a9ac7c97d3cbba7be707d63edd57f1210e39a870057dfc3422b2791800b257f04794719e77a82843ec085a4bc8d4c4327991c205"},{"keyid":"abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5","method":"ed25519","sig":"0ff19bd2acfd9999a1230846a9ac7c97d3cbba7be707d63edd57f1210e39a870057dfc3422b2791800b257f04794719e77a82843ec085a4bc8d4c4327991c205"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730.targets.json
deleted file mode 100644
index 68d4266..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"f7a427ebebf3168387543661963556c0a0132940600573c76b3fc304ee1dc589218cbf54a84c95070b6757d967e2c076741469307fb1324ce9cab6dd0ca01405"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"f7a427ebebf3168387543661963556c0a0132940600573c76b3fc304ee1dc589218cbf54a84c95070b6757d967e2c076741469307fb1324ce9cab6dd0ca01405"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/6ecff211b4df20d84e5a99a1145b7f96752efe880147439a3a8c2ecc080762f84b5b784da1b41d2ccb1492d112c521b4b82973589285dfbcfbb6c423c559ff4e.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/6ecff211b4df20d84e5a99a1145b7f96752efe880147439a3a8c2ecc080762f84b5b784da1b41d2ccb1492d112c521b4b82973589285dfbcfbb6c423c559ff4e.targets.json
new file mode 120000
index 0000000..21e403f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/6ecff211b4df20d84e5a99a1145b7f96752efe880147439a3a8c2ecc080762f84b5b784da1b41d2ccb1492d112c521b4b82973589285dfbcfbb6c423c559ff4e.targets.json
@@ -0,0 +1 @@
+../../3/repository/6ecff211b4df20d84e5a99a1145b7f96752efe880147439a3a8c2ecc080762f84b5b784da1b41d2ccb1492d112c521b4b82973589285dfbcfbb6c423c559ff4e.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json
deleted file mode 100644
index b11f3de..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"5496d35371c10aa6a1a15b2f883580a977a7871b8759139f14e2eb9a215b804f936fa9acf83799c69062775a7c4c3ebd8c9ad49b1db69a6e8c70a035ad10bb0b"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"5496d35371c10aa6a1a15b2f883580a977a7871b8759139f14e2eb9a215b804f936fa9acf83799c69062775a7c4c3ebd8c9ad49b1db69a6e8c70a035ad10bb0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/77cfe7cf50f16f765333948e7f2ad62ef8670fc4eb60f3eb80941a3403c283addf5f336ab900a4f37078b1a2c565d90fea4f758088ae3d6235881f028459f9e4.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/77cfe7cf50f16f765333948e7f2ad62ef8670fc4eb60f3eb80941a3403c283addf5f336ab900a4f37078b1a2c565d90fea4f758088ae3d6235881f028459f9e4.root.json
new file mode 100644
index 0000000..9058648
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/77cfe7cf50f16f765333948e7f2ad62ef8670fc4eb60f3eb80941a3403c283addf5f336ab900a4f37078b1a2c565d90fea4f758088ae3d6235881f028459f9e4.root.json
@@ -0,0 +1,133 @@
+{
+	"signed": {
+		"_type": "root",
+		"consistent_snapshot": true,
+		"expires": "2100-01-01T00:00:00Z",
+		"keys": {
+			"4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
+				},
+				"scheme": "ed25519"
+			},
+			"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			},
+			"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
+				},
+				"scheme": "ed25519"
+			},
+			"ad7c98dfb3b99024f8b49e33f3d92e66537f0abab78a84f1e4b667dfbf52bf60": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "722dbc861813bb5b568524d62083e875c08e66fed1694d9161d253fa163dd86f"
+				},
+				"scheme": "ed25519"
+			},
+			"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"bed15bf57ba4deb4e09667099d45d119504420983d16fd0927ebfb0c25184e7f": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "722dbc861813bb5b568524d62083e875c08e66fed1694d9161d253fa163dd86f"
+				},
+				"scheme": "ed25519"
+			},
+			"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			}
+		},
+		"roles": {
+			"root": {
+				"keyids": [
+					"4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d",
+					"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4"
+				],
+				"threshold": 1
+			},
+			"snapshot": {
+				"keyids": [
+					"bed15bf57ba4deb4e09667099d45d119504420983d16fd0927ebfb0c25184e7f",
+					"ad7c98dfb3b99024f8b49e33f3d92e66537f0abab78a84f1e4b667dfbf52bf60"
+				],
+				"threshold": 1
+			},
+			"targets": {
+				"keyids": [
+					"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+					"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556"
+				],
+				"threshold": 1
+			},
+			"timestamp": {
+				"keyids": [
+					"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0",
+					"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d"
+				],
+				"threshold": 1
+			}
+		},
+		"spec_version": "1.0",
+		"version": 4
+	},
+	"signatures": [
+		{
+			"keyid": "4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d",
+			"method": "ed25519",
+			"sig": "c4de4b3e074de76eb8821b562326d2f88f000b8780b6c90597295cbbac86d8d676078360d4695409f1c51d74db37768c305b5431961945a628ab11952d0bd200"
+		},
+		{
+			"keyid": "a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4",
+			"method": "ed25519",
+			"sig": "c4de4b3e074de76eb8821b562326d2f88f000b8780b6c90597295cbbac86d8d676078360d4695409f1c51d74db37768c305b5431961945a628ab11952d0bd200"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/858f38b3b040da754db743b564112c9a9b745b9fb0ffd2b5ee77cdf90799bd3675dfccc03e17e1bfe02b1c736a8b1f9e5862214e63c865c14a038f515d0ca0a8.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/858f38b3b040da754db743b564112c9a9b745b9fb0ffd2b5ee77cdf90799bd3675dfccc03e17e1bfe02b1c736a8b1f9e5862214e63c865c14a038f515d0ca0a8.root.json
new file mode 120000
index 0000000..ad3c42f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/858f38b3b040da754db743b564112c9a9b745b9fb0ffd2b5ee77cdf90799bd3675dfccc03e17e1bfe02b1c736a8b1f9e5862214e63c865c14a038f515d0ca0a8.root.json
@@ -0,0 +1 @@
+../../3/repository/858f38b3b040da754db743b564112c9a9b745b9fb0ffd2b5ee77cdf90799bd3675dfccc03e17e1bfe02b1c736a8b1f9e5862214e63c865c14a038f515d0ca0a8.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/8f58f3f272b5e33f1b2c7545dbef1ba0dddfba4f8b6c742164d9b89c8648cde4ecace9f392365426a688bc5d11a207d0fe248712f05927573f7f5c709ba457e8.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/8f58f3f272b5e33f1b2c7545dbef1ba0dddfba4f8b6c742164d9b89c8648cde4ecace9f392365426a688bc5d11a207d0fe248712f05927573f7f5c709ba457e8.snapshot.json
deleted file mode 100644
index 00e1c43..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/8f58f3f272b5e33f1b2c7545dbef1ba0dddfba4f8b6c742164d9b89c8648cde4ecace9f392365426a688bc5d11a207d0fe248712f05927573f7f5c709ba457e8.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730"},"length":1093,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"f89f4d7afd5abc3d4c95997f0550a837d72a42a82423ce36ddeceecda0416e48193395ebc96ebfa5c818ebe9f27812cc844ca34654287da0d81c1e3af9096206"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"f89f4d7afd5abc3d4c95997f0550a837d72a42a82423ce36ddeceecda0416e48193395ebc96ebfa5c818ebe9f27812cc844ca34654287da0d81c1e3af9096206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/95144e44f804d137a00f2f3f8e4907456c62c5d3b8dc0d1d2374c8b16d1c14357f68d96c26f1045014de7cc8f38cee3eed407afdd8247f394ee0209f72fcbebe.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/95144e44f804d137a00f2f3f8e4907456c62c5d3b8dc0d1d2374c8b16d1c14357f68d96c26f1045014de7cc8f38cee3eed407afdd8247f394ee0209f72fcbebe.targets.json
deleted file mode 100644
index 0435b8f..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/95144e44f804d137a00f2f3f8e4907456c62c5d3b8dc0d1d2374c8b16d1c14357f68d96c26f1045014de7cc8f38cee3eed407afdd8247f394ee0209f72fcbebe.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1}},"version":4},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"fece6676d9a489cd2da6981e25067705721545987401c6e32079205087015bccc14fa51cad967f2bbab3521048a669da52e4cc8885dd8ca61ca9056296b9dc0f"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"fece6676d9a489cd2da6981e25067705721545987401c6e32079205087015bccc14fa51cad967f2bbab3521048a669da52e4cc8885dd8ca61ca9056296b9dc0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/9bac7b1442cb8cbfb6df5ded15fd59e95065aff7cdf68af248a4873300038111a31138d65a0d847c48d6479e12e01e0f167aec6a7a5724c11ee0ff2405cd6151.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/9bac7b1442cb8cbfb6df5ded15fd59e95065aff7cdf68af248a4873300038111a31138d65a0d847c48d6479e12e01e0f167aec6a7a5724c11ee0ff2405cd6151.snapshot.json
deleted file mode 100644
index 367619b..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/9bac7b1442cb8cbfb6df5ded15fd59e95065aff7cdf68af248a4873300038111a31138d65a0d847c48d6479e12e01e0f167aec6a7a5724c11ee0ff2405cd6151.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"12203374023883bb7ffba3156974a45fe25f55201ff8ca5e182adba37875f05dde21c887b7bf5fabc653370fa88c193a895ce4f445bb9b8d966eccd08dc740fa"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"95144e44f804d137a00f2f3f8e4907456c62c5d3b8dc0d1d2374c8b16d1c14357f68d96c26f1045014de7cc8f38cee3eed407afdd8247f394ee0209f72fcbebe"},"length":1261,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"f163d5690ea3316843d6b6e2d571ae5092382c61cacffff82b719151b006a72eec18281640bdd61ec31c805a01f4d470f795b12728cf2430b74c70ac9ff26105"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"f163d5690ea3316843d6b6e2d571ae5092382c61cacffff82b719151b006a72eec18281640bdd61ec31c805a01f4d470f795b12728cf2430b74c70ac9ff26105"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/b6e5aa107d62973842336ce39bd8c12f21acecd11ee4b5054ddb6d033a0a81eaf0ca087611771fd53ee8639f00ab8657317832f4ae352ca42bc4ece39e08c949.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/b6e5aa107d62973842336ce39bd8c12f21acecd11ee4b5054ddb6d033a0a81eaf0ca087611771fd53ee8639f00ab8657317832f4ae352ca42bc4ece39e08c949.snapshot.json
new file mode 120000
index 0000000..95a8986
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/b6e5aa107d62973842336ce39bd8c12f21acecd11ee4b5054ddb6d033a0a81eaf0ca087611771fd53ee8639f00ab8657317832f4ae352ca42bc4ece39e08c949.snapshot.json
@@ -0,0 +1 @@
+../../3/repository/b6e5aa107d62973842336ce39bd8c12f21acecd11ee4b5054ddb6d033a0a81eaf0ca087611771fd53ee8639f00ab8657317832f4ae352ca42bc4ece39e08c949.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/bcb5768b6fc725dd9b35c52a1a3a5bdf1b978a21600133d31603db435c4dc6a4ad7a765ad9703450e2a34ccb7c99391214b325f0d8541af2b7149f370afeea0d.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/bcb5768b6fc725dd9b35c52a1a3a5bdf1b978a21600133d31603db435c4dc6a4ad7a765ad9703450e2a34ccb7c99391214b325f0d8541af2b7149f370afeea0d.targets.json
deleted file mode 100644
index c16c1f7..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/bcb5768b6fc725dd9b35c52a1a3a5bdf1b978a21600133d31603db435c4dc6a4ad7a765ad9703450e2a34ccb7c99391214b325f0d8541af2b7149f370afeea0d.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1},"4":{"hashes":{"sha512":"a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568"},"length":1}},"version":5},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"3e17e3d94e59d1af84fd88fcadede6bd2b2e34702862f71483b1dd8005cafa55f4e9b6bb75a102995d71b15533f9203b337a03d39f055b795870279d45802a09"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"3e17e3d94e59d1af84fd88fcadede6bd2b2e34702862f71483b1dd8005cafa55f4e9b6bb75a102995d71b15533f9203b337a03d39f055b795870279d45802a09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/bf4f7f4a062fd3780055d98572619db84d6d6c9b9b647bf6bca1190e984963ffb86189fb455110f4c13956ce9cbe72d95d03c5e6d72295414ac6bbcc3d1957c3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/bf4f7f4a062fd3780055d98572619db84d6d6c9b9b647bf6bca1190e984963ffb86189fb455110f4c13956ce9cbe72d95d03c5e6d72295414ac6bbcc3d1957c3.root.json
new file mode 120000
index 0000000..c420672
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/bf4f7f4a062fd3780055d98572619db84d6d6c9b9b647bf6bca1190e984963ffb86189fb455110f4c13956ce9cbe72d95d03c5e6d72295414ac6bbcc3d1957c3.root.json
@@ -0,0 +1 @@
+../../3/repository/bf4f7f4a062fd3780055d98572619db84d6d6c9b9b647bf6bca1190e984963ffb86189fb455110f4c13956ce9cbe72d95d03c5e6d72295414ac6bbcc3d1957c3.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/c524226038aea1ef7b929eacee647d6306473e4bf121cf7fa6716a7afe67f4c60b3e9910b363f04e58effe7ce9ebedd1849cadc14dcdb8651a892c751f5ebe1d.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/c524226038aea1ef7b929eacee647d6306473e4bf121cf7fa6716a7afe67f4c60b3e9910b363f04e58effe7ce9ebedd1849cadc14dcdb8651a892c751f5ebe1d.root.json
new file mode 120000
index 0000000..c8c4141
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/c524226038aea1ef7b929eacee647d6306473e4bf121cf7fa6716a7afe67f4c60b3e9910b363f04e58effe7ce9ebedd1849cadc14dcdb8651a892c751f5ebe1d.root.json
@@ -0,0 +1 @@
+../../3/repository/c524226038aea1ef7b929eacee647d6306473e4bf121cf7fa6716a7afe67f4c60b3e9910b363f04e58effe7ce9ebedd1849cadc14dcdb8651a892c751f5ebe1d.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/cefe482eb54c1fdaf062c580247c8b15e9aca90ea5367dadb5dea8966d88a83a11b143da9909218d988dcc2c0cb4912f302f384fae9932bde012a3e07487c5f0.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/cefe482eb54c1fdaf062c580247c8b15e9aca90ea5367dadb5dea8966d88a83a11b143da9909218d988dcc2c0cb4912f302f384fae9932bde012a3e07487c5f0.snapshot.json
new file mode 100644
index 0000000..336fc0d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/cefe482eb54c1fdaf062c580247c8b15e9aca90ea5367dadb5dea8966d88a83a11b143da9909218d988dcc2c0cb4912f302f384fae9932bde012a3e07487c5f0.snapshot.json
@@ -0,0 +1,36 @@
+{
+	"signed": {
+		"_type": "snapshot",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"root.json": {
+				"hashes": {
+					"sha512": "77cfe7cf50f16f765333948e7f2ad62ef8670fc4eb60f3eb80941a3403c283addf5f336ab900a4f37078b1a2c565d90fea4f758088ae3d6235881f028459f9e4"
+				},
+				"length": 3831,
+				"version": 4
+			},
+			"targets.json": {
+				"hashes": {
+					"sha512": "e544e4063c93616b3bed831b0fe5cb72babef0de162da0796e9a6407564c07bdf361d91f41127632f6b2172b2922ab03fa2d9e792d5ef6af8d52aa5031888116"
+				},
+				"length": 1670,
+				"version": 5
+			}
+		},
+		"spec_version": "1.0",
+		"version": 5
+	},
+	"signatures": [
+		{
+			"keyid": "bed15bf57ba4deb4e09667099d45d119504420983d16fd0927ebfb0c25184e7f",
+			"method": "ed25519",
+			"sig": "7edc216e6a2ad712bf9dbe803a309b4345779eeb0b2eb166b219e9c1dec276d16d62d29ab4209aa1181763c6a7a79d935a17f6cefde0ed17fb25bff2e40e8e03"
+		},
+		{
+			"keyid": "ad7c98dfb3b99024f8b49e33f3d92e66537f0abab78a84f1e4b667dfbf52bf60",
+			"method": "ed25519",
+			"sig": "7edc216e6a2ad712bf9dbe803a309b4345779eeb0b2eb166b219e9c1dec276d16d62d29ab4209aa1181763c6a7a79d935a17f6cefde0ed17fb25bff2e40e8e03"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/d18f05bb9f365bbc89af0ee4f10599b5cd903f8619eaf1d047237462fcb925307b0068700a4a753c81be6ea27d4819cc264e1216c77b52a93e02b4aa9a057000.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/d18f05bb9f365bbc89af0ee4f10599b5cd903f8619eaf1d047237462fcb925307b0068700a4a753c81be6ea27d4819cc264e1216c77b52a93e02b4aa9a057000.snapshot.json
deleted file mode 100644
index 7e509f9..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/d18f05bb9f365bbc89af0ee4f10599b5cd903f8619eaf1d047237462fcb925307b0068700a4a753c81be6ea27d4819cc264e1216c77b52a93e02b4aa9a057000.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"64e2a6ca1d3806852888c7f86ad4edbe0663dd0f41b219a74098b1bec2bd8c399aaf444e614133f1713b9b7604152f2587f9b80406eab3cfae66bb99fbf94b91"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"bcb5768b6fc725dd9b35c52a1a3a5bdf1b978a21600133d31603db435c4dc6a4ad7a765ad9703450e2a34ccb7c99391214b325f0d8541af2b7149f370afeea0d"},"length":1429,"version":5}},"spec_version":"1.0","version":5},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"acb6d47ce288fc1d21fbf550b0e6a82446e51de7bbaed4797be97ddaede2a6e9b39866dd1481abaefe9855b768817da69be6382ad7f5cefdc5342a129a5f3d04"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"acb6d47ce288fc1d21fbf550b0e6a82446e51de7bbaed4797be97ddaede2a6e9b39866dd1481abaefe9855b768817da69be6382ad7f5cefdc5342a129a5f3d04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/d2678da14b885b502802ee9eb93853548cf0138c9a80f5e88fea99b26c152865a9638088fee1f90cf8c3319fbc58fc8c7384b88abf6d0cc6312859070356a22f.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/d2678da14b885b502802ee9eb93853548cf0138c9a80f5e88fea99b26c152865a9638088fee1f90cf8c3319fbc58fc8c7384b88abf6d0cc6312859070356a22f.targets.json
new file mode 120000
index 0000000..f929f7f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/d2678da14b885b502802ee9eb93853548cf0138c9a80f5e88fea99b26c152865a9638088fee1f90cf8c3319fbc58fc8c7384b88abf6d0cc6312859070356a22f.targets.json
@@ -0,0 +1 @@
+../../3/repository/d2678da14b885b502802ee9eb93853548cf0138c9a80f5e88fea99b26c152865a9638088fee1f90cf8c3319fbc58fc8c7384b88abf6d0cc6312859070356a22f.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/e544e4063c93616b3bed831b0fe5cb72babef0de162da0796e9a6407564c07bdf361d91f41127632f6b2172b2922ab03fa2d9e792d5ef6af8d52aa5031888116.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/e544e4063c93616b3bed831b0fe5cb72babef0de162da0796e9a6407564c07bdf361d91f41127632f6b2172b2922ab03fa2d9e792d5ef6af8d52aa5031888116.targets.json
new file mode 100644
index 0000000..9551233
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/e544e4063c93616b3bed831b0fe5cb72babef0de162da0796e9a6407564c07bdf361d91f41127632f6b2172b2922ab03fa2d9e792d5ef6af8d52aa5031888116.targets.json
@@ -0,0 +1,52 @@
+{
+	"signed": {
+		"_type": "targets",
+		"expires": "2100-01-01T00:00:00Z",
+		"spec_version": "1.0",
+		"targets": {
+			"0": {
+				"hashes": {
+					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
+				},
+				"length": 1
+			},
+			"1": {
+				"hashes": {
+					"sha512": "4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"
+				},
+				"length": 1
+			},
+			"2": {
+				"hashes": {
+					"sha512": "40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"
+				},
+				"length": 1
+			},
+			"3": {
+				"hashes": {
+					"sha512": "3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"
+				},
+				"length": 1
+			},
+			"4": {
+				"hashes": {
+					"sha512": "a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568"
+				},
+				"length": 1
+			}
+		},
+		"version": 5
+	},
+	"signatures": [
+		{
+			"keyid": "b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+			"method": "ed25519",
+			"sig": "ada232dfe3499e17c5b1f6c046375f30e930b90aed0dcf6fd7fbd631f4e5ea1ad0ebeae039920715fd1e2bdfcad017adbe20309eadb329898a9a7c8998735b00"
+		},
+		{
+			"keyid": "d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556",
+			"method": "ed25519",
+			"sig": "ada232dfe3499e17c5b1f6c046375f30e930b90aed0dcf6fd7fbd631f4e5ea1ad0ebeae039920715fd1e2bdfcad017adbe20309eadb329898a9a7c8998735b00"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json
deleted file mode 100644
index 5423a69..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624"},"length":757,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"997c432689ad2de3a379c95f3a28fff2d1f9b2efa39989a6d3fc2138ffa5d3e87ad29a28547a837bd7e1b51f540c2d909af55840cd8dc7ff01a568858e42b007"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"997c432689ad2de3a379c95f3a28fff2d1f9b2efa39989a6d3fc2138ffa5d3e87ad29a28547a837bd7e1b51f540c2d909af55840cd8dc7ff01a568858e42b007"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/root.json
index 86d176c..9058648 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/root.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/root.json
@@ -1 +1,133 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"},"scheme":"ed25519"},"c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"},"scheme":"ed25519"},"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063","abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5"],"threshold":1}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063","method":"ed25519","sig":"0ff19bd2acfd9999a1230846a9ac7c97d3cbba7be707d63edd57f1210e39a870057dfc3422b2791800b257f04794719e77a82843ec085a4bc8d4c4327991c205"},{"keyid":"abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5","method":"ed25519","sig":"0ff19bd2acfd9999a1230846a9ac7c97d3cbba7be707d63edd57f1210e39a870057dfc3422b2791800b257f04794719e77a82843ec085a4bc8d4c4327991c205"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "root",
+		"consistent_snapshot": true,
+		"expires": "2100-01-01T00:00:00Z",
+		"keys": {
+			"4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
+				},
+				"scheme": "ed25519"
+			},
+			"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			},
+			"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
+				},
+				"scheme": "ed25519"
+			},
+			"ad7c98dfb3b99024f8b49e33f3d92e66537f0abab78a84f1e4b667dfbf52bf60": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "722dbc861813bb5b568524d62083e875c08e66fed1694d9161d253fa163dd86f"
+				},
+				"scheme": "ed25519"
+			},
+			"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"bed15bf57ba4deb4e09667099d45d119504420983d16fd0927ebfb0c25184e7f": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "722dbc861813bb5b568524d62083e875c08e66fed1694d9161d253fa163dd86f"
+				},
+				"scheme": "ed25519"
+			},
+			"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+				},
+				"scheme": "ed25519"
+			},
+			"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d": {
+				"keyid_hash_algorithms": [
+					"sha256"
+				],
+				"keytype": "ed25519",
+				"keyval": {
+					"public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+				},
+				"scheme": "ed25519"
+			}
+		},
+		"roles": {
+			"root": {
+				"keyids": [
+					"4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d",
+					"a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4"
+				],
+				"threshold": 1
+			},
+			"snapshot": {
+				"keyids": [
+					"bed15bf57ba4deb4e09667099d45d119504420983d16fd0927ebfb0c25184e7f",
+					"ad7c98dfb3b99024f8b49e33f3d92e66537f0abab78a84f1e4b667dfbf52bf60"
+				],
+				"threshold": 1
+			},
+			"targets": {
+				"keyids": [
+					"b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+					"d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556"
+				],
+				"threshold": 1
+			},
+			"timestamp": {
+				"keyids": [
+					"79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0",
+					"e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d"
+				],
+				"threshold": 1
+			}
+		},
+		"spec_version": "1.0",
+		"version": 4
+	},
+	"signatures": [
+		{
+			"keyid": "4c663b6d0b9f2c74a19b6791c1417c8d1916e2d84461be1a8148e4386c89582d",
+			"method": "ed25519",
+			"sig": "c4de4b3e074de76eb8821b562326d2f88f000b8780b6c90597295cbbac86d8d676078360d4695409f1c51d74db37768c305b5431961945a628ab11952d0bd200"
+		},
+		{
+			"keyid": "a67ca94ed559c97db79999d32b79ca35b5ae1795d2f6be3eafa3bd5816a8f2c4",
+			"method": "ed25519",
+			"sig": "c4de4b3e074de76eb8821b562326d2f88f000b8780b6c90597295cbbac86d8d676078360d4695409f1c51d74db37768c305b5431961945a628ab11952d0bd200"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/snapshot.json
index 7e509f9..336fc0d 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/snapshot.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/snapshot.json
@@ -1 +1,36 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"64e2a6ca1d3806852888c7f86ad4edbe0663dd0f41b219a74098b1bec2bd8c399aaf444e614133f1713b9b7604152f2587f9b80406eab3cfae66bb99fbf94b91"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"bcb5768b6fc725dd9b35c52a1a3a5bdf1b978a21600133d31603db435c4dc6a4ad7a765ad9703450e2a34ccb7c99391214b325f0d8541af2b7149f370afeea0d"},"length":1429,"version":5}},"spec_version":"1.0","version":5},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"acb6d47ce288fc1d21fbf550b0e6a82446e51de7bbaed4797be97ddaede2a6e9b39866dd1481abaefe9855b768817da69be6382ad7f5cefdc5342a129a5f3d04"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"acb6d47ce288fc1d21fbf550b0e6a82446e51de7bbaed4797be97ddaede2a6e9b39866dd1481abaefe9855b768817da69be6382ad7f5cefdc5342a129a5f3d04"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "snapshot",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"root.json": {
+				"hashes": {
+					"sha512": "77cfe7cf50f16f765333948e7f2ad62ef8670fc4eb60f3eb80941a3403c283addf5f336ab900a4f37078b1a2c565d90fea4f758088ae3d6235881f028459f9e4"
+				},
+				"length": 3831,
+				"version": 4
+			},
+			"targets.json": {
+				"hashes": {
+					"sha512": "e544e4063c93616b3bed831b0fe5cb72babef0de162da0796e9a6407564c07bdf361d91f41127632f6b2172b2922ab03fa2d9e792d5ef6af8d52aa5031888116"
+				},
+				"length": 1670,
+				"version": 5
+			}
+		},
+		"spec_version": "1.0",
+		"version": 5
+	},
+	"signatures": [
+		{
+			"keyid": "bed15bf57ba4deb4e09667099d45d119504420983d16fd0927ebfb0c25184e7f",
+			"method": "ed25519",
+			"sig": "7edc216e6a2ad712bf9dbe803a309b4345779eeb0b2eb166b219e9c1dec276d16d62d29ab4209aa1181763c6a7a79d935a17f6cefde0ed17fb25bff2e40e8e03"
+		},
+		{
+			"keyid": "ad7c98dfb3b99024f8b49e33f3d92e66537f0abab78a84f1e4b667dfbf52bf60",
+			"method": "ed25519",
+			"sig": "7edc216e6a2ad712bf9dbe803a309b4345779eeb0b2eb166b219e9c1dec276d16d62d29ab4209aa1181763c6a7a79d935a17f6cefde0ed17fb25bff2e40e8e03"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets.json
index c16c1f7..9551233 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets.json
@@ -1 +1,52 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1},"4":{"hashes":{"sha512":"a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568"},"length":1}},"version":5},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"3e17e3d94e59d1af84fd88fcadede6bd2b2e34702862f71483b1dd8005cafa55f4e9b6bb75a102995d71b15533f9203b337a03d39f055b795870279d45802a09"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"3e17e3d94e59d1af84fd88fcadede6bd2b2e34702862f71483b1dd8005cafa55f4e9b6bb75a102995d71b15533f9203b337a03d39f055b795870279d45802a09"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "targets",
+		"expires": "2100-01-01T00:00:00Z",
+		"spec_version": "1.0",
+		"targets": {
+			"0": {
+				"hashes": {
+					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
+				},
+				"length": 1
+			},
+			"1": {
+				"hashes": {
+					"sha512": "4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"
+				},
+				"length": 1
+			},
+			"2": {
+				"hashes": {
+					"sha512": "40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"
+				},
+				"length": 1
+			},
+			"3": {
+				"hashes": {
+					"sha512": "3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"
+				},
+				"length": 1
+			},
+			"4": {
+				"hashes": {
+					"sha512": "a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568"
+				},
+				"length": 1
+			}
+		},
+		"version": 5
+	},
+	"signatures": [
+		{
+			"keyid": "b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+			"method": "ed25519",
+			"sig": "ada232dfe3499e17c5b1f6c046375f30e930b90aed0dcf6fd7fbd631f4e5ea1ad0ebeae039920715fd1e2bdfcad017adbe20309eadb329898a9a7c8998735b00"
+		},
+		{
+			"keyid": "d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556",
+			"method": "ed25519",
+			"sig": "ada232dfe3499e17c5b1f6c046375f30e930b90aed0dcf6fd7fbd631f4e5ea1ad0ebeae039920715fd1e2bdfcad017adbe20309eadb329898a9a7c8998735b00"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.0
deleted file mode 100644
index c227083..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.0
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.0
new file mode 120000
index 0000000..7561d7e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.0
@@ -0,0 +1 @@
+../../../3/repository/targets/0.0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.1
deleted file mode 100644
index 56a6051..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.1
+++ /dev/null
@@ -1 +0,0 @@
-1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.1
new file mode 120000
index 0000000..ef5bca2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.1
@@ -0,0 +1 @@
+../../../3/repository/targets/0.1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.2 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.2
deleted file mode 100644
index d8263ee..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.2
+++ /dev/null
@@ -1 +0,0 @@
-2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.2 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.2
new file mode 120000
index 0000000..26212c8
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.2
@@ -0,0 +1 @@
+../../../3/repository/targets/0.2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.3 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.3
deleted file mode 100644
index e440e5c..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.3
+++ /dev/null
@@ -1 +0,0 @@
-3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.3 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.3
new file mode 120000
index 0000000..6a0a962
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.3
@@ -0,0 +1 @@
+../../../3/repository/targets/0.3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
deleted file mode 100644
index c227083..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 120000
index 0000000..8bca78f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+../../../3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
deleted file mode 100644
index e440e5c..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
+++ /dev/null
@@ -1 +0,0 @@
-3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
new file mode 120000
index 0000000..814339f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+../../../3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
deleted file mode 100644
index d8263ee..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
+++ /dev/null
@@ -1 +0,0 @@
-2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 120000
index 0000000..dc5c46d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+../../../3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
deleted file mode 100644
index 56a6051..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
+++ /dev/null
@@ -1 +0,0 @@
-1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 120000
index 0000000..16b7967
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+../../../3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/timestamp.json
index b86551e..717514d 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/timestamp.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/timestamp.json
@@ -1 +1,29 @@
-{"signed":{"_type":"timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"d18f05bb9f365bbc89af0ee4f10599b5cd903f8619eaf1d047237462fcb925307b0068700a4a753c81be6ea27d4819cc264e1216c77b52a93e02b4aa9a057000"},"length":972,"version":5}},"spec_version":"1.0","version":5},"signatures":[{"keyid":"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","method":"ed25519","sig":"735a196ccc107cd6640fba08fdf27216dcc309fdfe2719402cdb69676502cdd9ae25788027661bcffca475dd0620bd1c624e7e788377d81e2f2a11a5ef85940c"},{"keyid":"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5","method":"ed25519","sig":"735a196ccc107cd6640fba08fdf27216dcc309fdfe2719402cdb69676502cdd9ae25788027661bcffca475dd0620bd1c624e7e788377d81e2f2a11a5ef85940c"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "timestamp",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"snapshot.json": {
+				"hashes": {
+					"sha512": "cefe482eb54c1fdaf062c580247c8b15e9aca90ea5367dadb5dea8966d88a83a11b143da9909218d988dcc2c0cb4912f302f384fae9932bde012a3e07487c5f0"
+				},
+				"length": 1126,
+				"version": 5
+			}
+		},
+		"spec_version": "1.0",
+		"version": 5
+	},
+	"signatures": [
+		{
+			"keyid": "79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0",
+			"method": "ed25519",
+			"sig": "121c5da9ed41be3d35ddc6f5298d732bdbd97187affc5f0b1bce04b0e845ac164e0cbfbb4bc90f4d802e39b9246c3b67d51b6268946616581aba237439462507"
+		},
+		{
+			"keyid": "e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d",
+			"method": "ed25519",
+			"sig": "121c5da9ed41be3d35ddc6f5298d732bdbd97187affc5f0b1bce04b0e845ac164e0cbfbb4bc90f4d802e39b9246c3b67d51b6268946616581aba237439462507"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/root.json
deleted file mode 100644
index d85423b..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c","private":"e36f5f08db141807c3e2e715c92f60001e9f4b98cda9981cbcb05019c452ed3ffe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/root.json
new file mode 120000
index 0000000..0d2c005
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/root.json
@@ -0,0 +1 @@
+../../4/keys/root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/snapshot.json
deleted file mode 100644
index 0d9d8de..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/snapshot.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-	"encrypted": false,
-	"data": [
-		{
-			"keytype": "ed25519",
-			"scheme": "ed25519",
-			"keyid_hash_algorithms": [
-				"sha512"
-			],
-			"keyval": {
-				"public": "ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517",
-				"private": "a36682d4e7d45d509b657c80bc808603e0ba2ce0cbf54694f7e58c2bb7fc381ded4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"
-			}
-		},
-		{
-			"keytype": "ed25519",
-			"scheme": "ed25519",
-			"keyid_hash_algorithms": [
-				"sha512"
-			],
-			"keyval": {
-				"public": "87c25141eab312f8dd41e5d8519f9b7b10350e2834a39a0600ea3315d1701b83",
-				"private": "569e732e202041db3349b9fcb8e575f9e1d8171518856f2393bd1789baf9077187c25141eab312f8dd41e5d8519f9b7b10350e2834a39a0600ea3315d1701b83"
-			}
-		}
-	]
-}
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/snapshot.json
new file mode 120000
index 0000000..bcf46d6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/snapshot.json
@@ -0,0 +1 @@
+../../4/keys/snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/targets.json
deleted file mode 100644
index 04b647b..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/targets.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-	"encrypted": false,
-	"data": [
-		{
-			"keytype": "ed25519",
-			"scheme": "ed25519",
-			"keyid_hash_algorithms": [
-				"sha512"
-			],
-			"keyval": {
-				"public": "35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb",
-				"private": "4ed1e6ebbbaa57ddf1a0e01aa9e8ccf91b53fde12fed1ad9aea393f50d68ab9535f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"
-			}
-		}
-	]
-}
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/targets.json
new file mode 120000
index 0000000..9442af0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/targets.json
@@ -0,0 +1 @@
+../../4/keys/targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/timestamp.json
deleted file mode 100644
index 1e8b0d5..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/timestamp.json
+++ /dev/null
@@ -1 +0,0 @@
-{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b","private":"b55b6f61ca3d2a77b5d2331787a77e430cd287d9eae4350292df8fc2fc0707f6cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/timestamp.json
new file mode 120000
index 0000000..cee4376
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/timestamp.json
@@ -0,0 +1 @@
+../../4/keys/timestamp.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/04dd52d614a882241314ba9a3a30f52067f360b151687b92e7ec3682966dee331975cd04e71e004f1556f7a82677beaf65e3c34b79387ff9559da000a519bd0b.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/04dd52d614a882241314ba9a3a30f52067f360b151687b92e7ec3682966dee331975cd04e71e004f1556f7a82677beaf65e3c34b79387ff9559da000a519bd0b.snapshot.json
deleted file mode 100644
index cd7a807..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/04dd52d614a882241314ba9a3a30f52067f360b151687b92e7ec3682966dee331975cd04e71e004f1556f7a82677beaf65e3c34b79387ff9559da000a519bd0b.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"64e2a6ca1d3806852888c7f86ad4edbe0663dd0f41b219a74098b1bec2bd8c399aaf444e614133f1713b9b7604152f2587f9b80406eab3cfae66bb99fbf94b91"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"26d3ec0a2f15a89261b935d4111c4cd86b1322ec63a147b31c4baea78e84890559f23e5a60e0cd9e3119f0c771ab9502c3b8dd7f65abf029515d98f605a7e752"},"length":1597,"version":6}},"spec_version":"1.0","version":6},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"9d2e69a8b6bca580603000ae591ffbed15f15855b0c331d6bed1da0fbf90b051256ddb4e1223047a5a46461b73d3cc111aa3d960d8b741ffc222b4c28384d90a"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"9d2e69a8b6bca580603000ae591ffbed15f15855b0c331d6bed1da0fbf90b051256ddb4e1223047a5a46461b73d3cc111aa3d960d8b741ffc222b4c28384d90a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/0958a41c4b0b232addbc12a9352b9c745c54d5aafe626bc353b9ce46979282ba020175310dbd6fcc591d38751cd2980e2490a464a37e7d265c0498590e589cc0.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/0958a41c4b0b232addbc12a9352b9c745c54d5aafe626bc353b9ce46979282ba020175310dbd6fcc591d38751cd2980e2490a464a37e7d265c0498590e589cc0.targets.json
new file mode 120000
index 0000000..110d746
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/0958a41c4b0b232addbc12a9352b9c745c54d5aafe626bc353b9ce46979282ba020175310dbd6fcc591d38751cd2980e2490a464a37e7d265c0498590e589cc0.targets.json
@@ -0,0 +1 @@
+../../4/repository/0958a41c4b0b232addbc12a9352b9c745c54d5aafe626bc353b9ce46979282ba020175310dbd6fcc591d38751cd2980e2490a464a37e7d265c0498590e589cc0.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/0d27c60944035233503fa1ac6023fada94ea21b947bf53500cf95460ec32445903ef835dbb5f5ad9fe6442007e63b8de487065c8e75ee32053d89db175f45a1f.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/0d27c60944035233503fa1ac6023fada94ea21b947bf53500cf95460ec32445903ef835dbb5f5ad9fe6442007e63b8de487065c8e75ee32053d89db175f45a1f.snapshot.json
new file mode 120000
index 0000000..af40498
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/0d27c60944035233503fa1ac6023fada94ea21b947bf53500cf95460ec32445903ef835dbb5f5ad9fe6442007e63b8de487065c8e75ee32053d89db175f45a1f.snapshot.json
@@ -0,0 +1 @@
+../../4/repository/0d27c60944035233503fa1ac6023fada94ea21b947bf53500cf95460ec32445903ef835dbb5f5ad9fe6442007e63b8de487065c8e75ee32053d89db175f45a1f.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1.root.json
deleted file mode 100644
index 5c62584..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1de2ee941697a910bccddd52dd7f379f9a447da5f78db7147660b1ef48da2256":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"},"scheme":"ed25519"},"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"703624c663edb3f393804dfe7ce22f80a99b7d75c946a8a263231d6d15407af7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["1de2ee941697a910bccddd52dd7f379f9a447da5f78db7147660b1ef48da2256","703624c663edb3f393804dfe7ce22f80a99b7d75c946a8a263231d6d15407af7"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"64c0f98592410dd851b25a59f9a1a9fb48d4911ecd4795ae415d6e1e9c5d3067a97cf24d2b463c2e6faad47fb68dbc41d4ced93bdb17852fec782e8da2bb370a"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"64c0f98592410dd851b25a59f9a1a9fb48d4911ecd4795ae415d6e1e9c5d3067a97cf24d2b463c2e6faad47fb68dbc41d4ced93bdb17852fec782e8da2bb370a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1.root.json
new file mode 120000
index 0000000..fb796e3
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1.root.json
@@ -0,0 +1 @@
+../../4/repository/1.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1.snapshot.json
deleted file mode 100644
index 5423a69..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624"},"length":757,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"997c432689ad2de3a379c95f3a28fff2d1f9b2efa39989a6d3fc2138ffa5d3e87ad29a28547a837bd7e1b51f540c2d909af55840cd8dc7ff01a568858e42b007"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"997c432689ad2de3a379c95f3a28fff2d1f9b2efa39989a6d3fc2138ffa5d3e87ad29a28547a837bd7e1b51f540c2d909af55840cd8dc7ff01a568858e42b007"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1.snapshot.json
new file mode 120000
index 0000000..f7fb098
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1.snapshot.json
@@ -0,0 +1 @@
+../../4/repository/1.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1.targets.json
deleted file mode 100644
index ec4336b..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"443b774c4daddeb137a6bdb0800cdf4450bb7a11bfb1df5a745641c16e7ea9503d1db05da4a8ce165034c602e708ef60a3a5d6d28af5b7c1479ef4dc4ef0bf04"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"443b774c4daddeb137a6bdb0800cdf4450bb7a11bfb1df5a745641c16e7ea9503d1db05da4a8ce165034c602e708ef60a3a5d6d28af5b7c1479ef4dc4ef0bf04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1.targets.json
new file mode 120000
index 0000000..127f609
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1.targets.json
@@ -0,0 +1 @@
+../../4/repository/1.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json
deleted file mode 100644
index 5c62584..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"1de2ee941697a910bccddd52dd7f379f9a447da5f78db7147660b1ef48da2256":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"},"scheme":"ed25519"},"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"703624c663edb3f393804dfe7ce22f80a99b7d75c946a8a263231d6d15407af7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["1de2ee941697a910bccddd52dd7f379f9a447da5f78db7147660b1ef48da2256","703624c663edb3f393804dfe7ce22f80a99b7d75c946a8a263231d6d15407af7"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"64c0f98592410dd851b25a59f9a1a9fb48d4911ecd4795ae415d6e1e9c5d3067a97cf24d2b463c2e6faad47fb68dbc41d4ced93bdb17852fec782e8da2bb370a"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"64c0f98592410dd851b25a59f9a1a9fb48d4911ecd4795ae415d6e1e9c5d3067a97cf24d2b463c2e6faad47fb68dbc41d4ced93bdb17852fec782e8da2bb370a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/118c2a2b6b9f7bc667dca8404a2671910a22b6fe48e460816a9f6f2be66f7806a789c9dc4880d2c2812c0bc7607caac30cc0a8299183fd7228e1049f6920ce22.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/118c2a2b6b9f7bc667dca8404a2671910a22b6fe48e460816a9f6f2be66f7806a789c9dc4880d2c2812c0bc7607caac30cc0a8299183fd7228e1049f6920ce22.targets.json
new file mode 120000
index 0000000..d1949f9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/118c2a2b6b9f7bc667dca8404a2671910a22b6fe48e460816a9f6f2be66f7806a789c9dc4880d2c2812c0bc7607caac30cc0a8299183fd7228e1049f6920ce22.targets.json
@@ -0,0 +1 @@
+../../4/repository/118c2a2b6b9f7bc667dca8404a2671910a22b6fe48e460816a9f6f2be66f7806a789c9dc4880d2c2812c0bc7607caac30cc0a8299183fd7228e1049f6920ce22.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/12203374023883bb7ffba3156974a45fe25f55201ff8ca5e182adba37875f05dde21c887b7bf5fabc653370fa88c193a895ce4f445bb9b8d966eccd08dc740fa.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/12203374023883bb7ffba3156974a45fe25f55201ff8ca5e182adba37875f05dde21c887b7bf5fabc653370fa88c193a895ce4f445bb9b8d966eccd08dc740fa.root.json
deleted file mode 100644
index d765d03..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/12203374023883bb7ffba3156974a45fe25f55201ff8ca5e182adba37875f05dde21c887b7bf5fabc653370fa88c193a895ce4f445bb9b8d966eccd08dc740fa.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"},"scheme":"ed25519"},"c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"},"scheme":"ed25519"},"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063","abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"ba5468fd33eaf23033d643539249d330207ab0599333b0d103eadcd1d1d95b4d8cab79c870deaac5fd5f63b1400664bc1ed17cd07d11b959d983c14d3dc0380e"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"ba5468fd33eaf23033d643539249d330207ab0599333b0d103eadcd1d1d95b4d8cab79c870deaac5fd5f63b1400664bc1ed17cd07d11b959d983c14d3dc0380e"},{"keyid":"c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063","method":"ed25519","sig":"72da122707b6f06db38481012804417cfeab6c250818c8d48eea37845f39c8bcf5e5865482910642c64b83ebdeb85787016e846154b32a1b41bbbf758abeef05"},{"keyid":"abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5","method":"ed25519","sig":"72da122707b6f06db38481012804417cfeab6c250818c8d48eea37845f39c8bcf5e5865482910642c64b83ebdeb85787016e846154b32a1b41bbbf758abeef05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1919ef21534d3c6706578162b00f6243765f4f9900c5a773e6f2e73c8907debd3e46e6c75485c333b1188b8e9c9682c754689aceae07b7d93112e5a60ed22222.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1919ef21534d3c6706578162b00f6243765f4f9900c5a773e6f2e73c8907debd3e46e6c75485c333b1188b8e9c9682c754689aceae07b7d93112e5a60ed22222.snapshot.json
new file mode 100644
index 0000000..d03ae26
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1919ef21534d3c6706578162b00f6243765f4f9900c5a773e6f2e73c8907debd3e46e6c75485c333b1188b8e9c9682c754689aceae07b7d93112e5a60ed22222.snapshot.json
@@ -0,0 +1,36 @@
+{
+	"signed": {
+		"_type": "snapshot",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"root.json": {
+				"hashes": {
+					"sha512": "77cfe7cf50f16f765333948e7f2ad62ef8670fc4eb60f3eb80941a3403c283addf5f336ab900a4f37078b1a2c565d90fea4f758088ae3d6235881f028459f9e4"
+				},
+				"length": 3831,
+				"version": 4
+			},
+			"targets.json": {
+				"hashes": {
+					"sha512": "ded992dd6e0f1ca664ccd05374bc14ae670a900dd2b4354155e349feee131b57c0c4df9b54f567eee8bce6501bada871531b494f96c5cc70690c7b4a1c3182d5"
+				},
+				"length": 1871,
+				"version": 6
+			}
+		},
+		"spec_version": "1.0",
+		"version": 6
+	},
+	"signatures": [
+		{
+			"keyid": "bed15bf57ba4deb4e09667099d45d119504420983d16fd0927ebfb0c25184e7f",
+			"method": "ed25519",
+			"sig": "0780e392e0676c5983cc00f66bee1bb9c23c537de120e0e77db0e8f23368cdd50fe60966a6f29c0c0ebe141aad8610c1870c8fd8862dad3b939565b8c9201f0b"
+		},
+		{
+			"keyid": "ad7c98dfb3b99024f8b49e33f3d92e66537f0abab78a84f1e4b667dfbf52bf60",
+			"method": "ed25519",
+			"sig": "0780e392e0676c5983cc00f66bee1bb9c23c537de120e0e77db0e8f23368cdd50fe60966a6f29c0c0ebe141aad8610c1870c8fd8862dad3b939565b8c9201f0b"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json
deleted file mode 100644
index ec4336b..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"443b774c4daddeb137a6bdb0800cdf4450bb7a11bfb1df5a745641c16e7ea9503d1db05da4a8ce165034c602e708ef60a3a5d6d28af5b7c1479ef4dc4ef0bf04"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"443b774c4daddeb137a6bdb0800cdf4450bb7a11bfb1df5a745641c16e7ea9503d1db05da4a8ce165034c602e708ef60a3a5d6d28af5b7c1479ef4dc4ef0bf04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1e8baadc56616d9fa750c0be8ff3318cd1774422cb43f95a4eb562b50f871af82be23f4a9a5a280cf1d63c1163bb4e502ebb1ecc7ba0537010bd451f3f6fb54a.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1e8baadc56616d9fa750c0be8ff3318cd1774422cb43f95a4eb562b50f871af82be23f4a9a5a280cf1d63c1163bb4e502ebb1ecc7ba0537010bd451f3f6fb54a.snapshot.json
new file mode 120000
index 0000000..eb2a6ef
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1e8baadc56616d9fa750c0be8ff3318cd1774422cb43f95a4eb562b50f871af82be23f4a9a5a280cf1d63c1163bb4e502ebb1ecc7ba0537010bd451f3f6fb54a.snapshot.json
@@ -0,0 +1 @@
+../../4/repository/1e8baadc56616d9fa750c0be8ff3318cd1774422cb43f95a4eb562b50f871af82be23f4a9a5a280cf1d63c1163bb4e502ebb1ecc7ba0537010bd451f3f6fb54a.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2.root.json
deleted file mode 100644
index c88a251..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"b04a67e12f944f732a1da50b2a6df5818f16660007bc8236dbd480a64ce3bf6d253057619bea30d6c63b3e597ac5fe5e286e29bce05bbbe9f3917e340f66e10e"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"b04a67e12f944f732a1da50b2a6df5818f16660007bc8236dbd480a64ce3bf6d253057619bea30d6c63b3e597ac5fe5e286e29bce05bbbe9f3917e340f66e10e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2.root.json
new file mode 120000
index 0000000..5a3e454
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2.root.json
@@ -0,0 +1 @@
+../../4/repository/2.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2.snapshot.json
deleted file mode 100644
index 2f81d28..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695"},"length":925,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"704b54d9063d6efb9e6bb2e1b68e92f1a47e668c16b2c872585b487deb4c9c985d49d6b04f746c8c65bdf1cb2c19bd910518d64e5e77055cf5167fb15970b207"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"704b54d9063d6efb9e6bb2e1b68e92f1a47e668c16b2c872585b487deb4c9c985d49d6b04f746c8c65bdf1cb2c19bd910518d64e5e77055cf5167fb15970b207"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2.snapshot.json
new file mode 120000
index 0000000..5b418d6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2.snapshot.json
@@ -0,0 +1 @@
+../../4/repository/2.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2.targets.json
deleted file mode 100644
index b11f3de..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"5496d35371c10aa6a1a15b2f883580a977a7871b8759139f14e2eb9a215b804f936fa9acf83799c69062775a7c4c3ebd8c9ad49b1db69a6e8c70a035ad10bb0b"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"5496d35371c10aa6a1a15b2f883580a977a7871b8759139f14e2eb9a215b804f936fa9acf83799c69062775a7c4c3ebd8c9ad49b1db69a6e8c70a035ad10bb0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2.targets.json
new file mode 120000
index 0000000..04b0be4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2.targets.json
@@ -0,0 +1 @@
+../../4/repository/2.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/26d3ec0a2f15a89261b935d4111c4cd86b1322ec63a147b31c4baea78e84890559f23e5a60e0cd9e3119f0c771ab9502c3b8dd7f65abf029515d98f605a7e752.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/26d3ec0a2f15a89261b935d4111c4cd86b1322ec63a147b31c4baea78e84890559f23e5a60e0cd9e3119f0c771ab9502c3b8dd7f65abf029515d98f605a7e752.targets.json
deleted file mode 100644
index 17ab048..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/26d3ec0a2f15a89261b935d4111c4cd86b1322ec63a147b31c4baea78e84890559f23e5a60e0cd9e3119f0c771ab9502c3b8dd7f65abf029515d98f605a7e752.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1},"4":{"hashes":{"sha512":"a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568"},"length":1},"5":{"hashes":{"sha512":"06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25"},"length":1}},"version":6},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"45dae8c2a5b77a89b3c169dcc29fa48c013a2aa391064d77997f01c2492af5dd14f6f4dcdacb4039d7f8b77b8af8018b6b5bf45a096ed864661446c7dc96420b"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"45dae8c2a5b77a89b3c169dcc29fa48c013a2aa391064d77997f01c2492af5dd14f6f4dcdacb4039d7f8b77b8af8018b6b5bf45a096ed864661446c7dc96420b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json
deleted file mode 100644
index 2f81d28..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695"},"length":925,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"704b54d9063d6efb9e6bb2e1b68e92f1a47e668c16b2c872585b487deb4c9c985d49d6b04f746c8c65bdf1cb2c19bd910518d64e5e77055cf5167fb15970b207"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"704b54d9063d6efb9e6bb2e1b68e92f1a47e668c16b2c872585b487deb4c9c985d49d6b04f746c8c65bdf1cb2c19bd910518d64e5e77055cf5167fb15970b207"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626.root.json
deleted file mode 100644
index c88a251..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"},"scheme":"ed25519"},"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"b04a67e12f944f732a1da50b2a6df5818f16660007bc8236dbd480a64ce3bf6d253057619bea30d6c63b3e597ac5fe5e286e29bce05bbbe9f3917e340f66e10e"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"b04a67e12f944f732a1da50b2a6df5818f16660007bc8236dbd480a64ce3bf6d253057619bea30d6c63b3e597ac5fe5e286e29bce05bbbe9f3917e340f66e10e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/3.root.json
deleted file mode 100644
index d765d03..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/3.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"},"scheme":"ed25519"},"c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"},"scheme":"ed25519"},"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063","abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"a5c74ac2a689e0637fb0e5f0d144d6635798133cdac3ef72f4f5064f3ac77a9f","method":"ed25519","sig":"ba5468fd33eaf23033d643539249d330207ab0599333b0d103eadcd1d1d95b4d8cab79c870deaac5fd5f63b1400664bc1ed17cd07d11b959d983c14d3dc0380e"},{"keyid":"430bc17e06e9d056f9eeb2811949bd8bc2971a49f125923680c55128facc895b","method":"ed25519","sig":"ba5468fd33eaf23033d643539249d330207ab0599333b0d103eadcd1d1d95b4d8cab79c870deaac5fd5f63b1400664bc1ed17cd07d11b959d983c14d3dc0380e"},{"keyid":"c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063","method":"ed25519","sig":"72da122707b6f06db38481012804417cfeab6c250818c8d48eea37845f39c8bcf5e5865482910642c64b83ebdeb85787016e846154b32a1b41bbbf758abeef05"},{"keyid":"abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5","method":"ed25519","sig":"72da122707b6f06db38481012804417cfeab6c250818c8d48eea37845f39c8bcf5e5865482910642c64b83ebdeb85787016e846154b32a1b41bbbf758abeef05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/3.root.json
new file mode 120000
index 0000000..d1cb251
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/3.root.json
@@ -0,0 +1 @@
+../../4/repository/3.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/3.snapshot.json
deleted file mode 100644
index 00e1c43..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/3.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730"},"length":1093,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"f89f4d7afd5abc3d4c95997f0550a837d72a42a82423ce36ddeceecda0416e48193395ebc96ebfa5c818ebe9f27812cc844ca34654287da0d81c1e3af9096206"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"f89f4d7afd5abc3d4c95997f0550a837d72a42a82423ce36ddeceecda0416e48193395ebc96ebfa5c818ebe9f27812cc844ca34654287da0d81c1e3af9096206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/3.snapshot.json
new file mode 120000
index 0000000..d23c05c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/3.snapshot.json
@@ -0,0 +1 @@
+../../4/repository/3.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/3.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/3.targets.json
deleted file mode 100644
index 68d4266..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/3.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"f7a427ebebf3168387543661963556c0a0132940600573c76b3fc304ee1dc589218cbf54a84c95070b6757d967e2c076741469307fb1324ce9cab6dd0ca01405"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"f7a427ebebf3168387543661963556c0a0132940600573c76b3fc304ee1dc589218cbf54a84c95070b6757d967e2c076741469307fb1324ce9cab6dd0ca01405"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/3.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/3.targets.json
new file mode 120000
index 0000000..2854154
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/3.targets.json
@@ -0,0 +1 @@
+../../4/repository/3.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/33b282c1970996734deff944f2862f84b196f0b2b67dfa7383f75f95ef3e8673602aa411e05572075729ead6caa35df6720ce5723fd67c63d4aaa81dd966c5a4.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/33b282c1970996734deff944f2862f84b196f0b2b67dfa7383f75f95ef3e8673602aa411e05572075729ead6caa35df6720ce5723fd67c63d4aaa81dd966c5a4.snapshot.json
new file mode 120000
index 0000000..aad4346
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/33b282c1970996734deff944f2862f84b196f0b2b67dfa7383f75f95ef3e8673602aa411e05572075729ead6caa35df6720ce5723fd67c63d4aaa81dd966c5a4.snapshot.json
@@ -0,0 +1 @@
+../../4/repository/33b282c1970996734deff944f2862f84b196f0b2b67dfa7383f75f95ef3e8673602aa411e05572075729ead6caa35df6720ce5723fd67c63d4aaa81dd966c5a4.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/4.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/4.root.json
deleted file mode 100644
index 86d176c..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/4.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"},"scheme":"ed25519"},"c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"},"scheme":"ed25519"},"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063","abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5"],"threshold":1}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063","method":"ed25519","sig":"0ff19bd2acfd9999a1230846a9ac7c97d3cbba7be707d63edd57f1210e39a870057dfc3422b2791800b257f04794719e77a82843ec085a4bc8d4c4327991c205"},{"keyid":"abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5","method":"ed25519","sig":"0ff19bd2acfd9999a1230846a9ac7c97d3cbba7be707d63edd57f1210e39a870057dfc3422b2791800b257f04794719e77a82843ec085a4bc8d4c4327991c205"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/4.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/4.root.json
new file mode 120000
index 0000000..bda6d08
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/4.root.json
@@ -0,0 +1 @@
+../../4/repository/4.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/4.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/4.snapshot.json
deleted file mode 100644
index 367619b..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/4.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"12203374023883bb7ffba3156974a45fe25f55201ff8ca5e182adba37875f05dde21c887b7bf5fabc653370fa88c193a895ce4f445bb9b8d966eccd08dc740fa"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"95144e44f804d137a00f2f3f8e4907456c62c5d3b8dc0d1d2374c8b16d1c14357f68d96c26f1045014de7cc8f38cee3eed407afdd8247f394ee0209f72fcbebe"},"length":1261,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"f163d5690ea3316843d6b6e2d571ae5092382c61cacffff82b719151b006a72eec18281640bdd61ec31c805a01f4d470f795b12728cf2430b74c70ac9ff26105"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"f163d5690ea3316843d6b6e2d571ae5092382c61cacffff82b719151b006a72eec18281640bdd61ec31c805a01f4d470f795b12728cf2430b74c70ac9ff26105"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/4.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/4.snapshot.json
new file mode 120000
index 0000000..b7aefb2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/4.snapshot.json
@@ -0,0 +1 @@
+../../4/repository/4.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/4.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/4.targets.json
deleted file mode 100644
index 0435b8f..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/4.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1}},"version":4},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"fece6676d9a489cd2da6981e25067705721545987401c6e32079205087015bccc14fa51cad967f2bbab3521048a669da52e4cc8885dd8ca61ca9056296b9dc0f"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"fece6676d9a489cd2da6981e25067705721545987401c6e32079205087015bccc14fa51cad967f2bbab3521048a669da52e4cc8885dd8ca61ca9056296b9dc0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/4.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/4.targets.json
new file mode 120000
index 0000000..fef64e4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/4.targets.json
@@ -0,0 +1 @@
+../../4/repository/4.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/5.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/5.snapshot.json
deleted file mode 100644
index 7e509f9..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/5.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"64e2a6ca1d3806852888c7f86ad4edbe0663dd0f41b219a74098b1bec2bd8c399aaf444e614133f1713b9b7604152f2587f9b80406eab3cfae66bb99fbf94b91"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"bcb5768b6fc725dd9b35c52a1a3a5bdf1b978a21600133d31603db435c4dc6a4ad7a765ad9703450e2a34ccb7c99391214b325f0d8541af2b7149f370afeea0d"},"length":1429,"version":5}},"spec_version":"1.0","version":5},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"acb6d47ce288fc1d21fbf550b0e6a82446e51de7bbaed4797be97ddaede2a6e9b39866dd1481abaefe9855b768817da69be6382ad7f5cefdc5342a129a5f3d04"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"acb6d47ce288fc1d21fbf550b0e6a82446e51de7bbaed4797be97ddaede2a6e9b39866dd1481abaefe9855b768817da69be6382ad7f5cefdc5342a129a5f3d04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/5.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/5.snapshot.json
new file mode 120000
index 0000000..4e98537
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/5.snapshot.json
@@ -0,0 +1 @@
+../../4/repository/5.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/5.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/5.targets.json
deleted file mode 100644
index c16c1f7..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/5.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1},"4":{"hashes":{"sha512":"a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568"},"length":1}},"version":5},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"3e17e3d94e59d1af84fd88fcadede6bd2b2e34702862f71483b1dd8005cafa55f4e9b6bb75a102995d71b15533f9203b337a03d39f055b795870279d45802a09"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"3e17e3d94e59d1af84fd88fcadede6bd2b2e34702862f71483b1dd8005cafa55f4e9b6bb75a102995d71b15533f9203b337a03d39f055b795870279d45802a09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/5.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/5.targets.json
new file mode 120000
index 0000000..f877144
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/5.targets.json
@@ -0,0 +1 @@
+../../4/repository/5.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/6.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/6.snapshot.json
index cd7a807..d03ae26 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/6.snapshot.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/6.snapshot.json
@@ -1 +1,36 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"64e2a6ca1d3806852888c7f86ad4edbe0663dd0f41b219a74098b1bec2bd8c399aaf444e614133f1713b9b7604152f2587f9b80406eab3cfae66bb99fbf94b91"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"26d3ec0a2f15a89261b935d4111c4cd86b1322ec63a147b31c4baea78e84890559f23e5a60e0cd9e3119f0c771ab9502c3b8dd7f65abf029515d98f605a7e752"},"length":1597,"version":6}},"spec_version":"1.0","version":6},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"9d2e69a8b6bca580603000ae591ffbed15f15855b0c331d6bed1da0fbf90b051256ddb4e1223047a5a46461b73d3cc111aa3d960d8b741ffc222b4c28384d90a"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"9d2e69a8b6bca580603000ae591ffbed15f15855b0c331d6bed1da0fbf90b051256ddb4e1223047a5a46461b73d3cc111aa3d960d8b741ffc222b4c28384d90a"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "snapshot",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"root.json": {
+				"hashes": {
+					"sha512": "77cfe7cf50f16f765333948e7f2ad62ef8670fc4eb60f3eb80941a3403c283addf5f336ab900a4f37078b1a2c565d90fea4f758088ae3d6235881f028459f9e4"
+				},
+				"length": 3831,
+				"version": 4
+			},
+			"targets.json": {
+				"hashes": {
+					"sha512": "ded992dd6e0f1ca664ccd05374bc14ae670a900dd2b4354155e349feee131b57c0c4df9b54f567eee8bce6501bada871531b494f96c5cc70690c7b4a1c3182d5"
+				},
+				"length": 1871,
+				"version": 6
+			}
+		},
+		"spec_version": "1.0",
+		"version": 6
+	},
+	"signatures": [
+		{
+			"keyid": "bed15bf57ba4deb4e09667099d45d119504420983d16fd0927ebfb0c25184e7f",
+			"method": "ed25519",
+			"sig": "0780e392e0676c5983cc00f66bee1bb9c23c537de120e0e77db0e8f23368cdd50fe60966a6f29c0c0ebe141aad8610c1870c8fd8862dad3b939565b8c9201f0b"
+		},
+		{
+			"keyid": "ad7c98dfb3b99024f8b49e33f3d92e66537f0abab78a84f1e4b667dfbf52bf60",
+			"method": "ed25519",
+			"sig": "0780e392e0676c5983cc00f66bee1bb9c23c537de120e0e77db0e8f23368cdd50fe60966a6f29c0c0ebe141aad8610c1870c8fd8862dad3b939565b8c9201f0b"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/6.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/6.targets.json
index 17ab048..0db25c3 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/6.targets.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/6.targets.json
@@ -1 +1,58 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1},"4":{"hashes":{"sha512":"a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568"},"length":1},"5":{"hashes":{"sha512":"06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25"},"length":1}},"version":6},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"45dae8c2a5b77a89b3c169dcc29fa48c013a2aa391064d77997f01c2492af5dd14f6f4dcdacb4039d7f8b77b8af8018b6b5bf45a096ed864661446c7dc96420b"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"45dae8c2a5b77a89b3c169dcc29fa48c013a2aa391064d77997f01c2492af5dd14f6f4dcdacb4039d7f8b77b8af8018b6b5bf45a096ed864661446c7dc96420b"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "targets",
+		"expires": "2100-01-01T00:00:00Z",
+		"spec_version": "1.0",
+		"targets": {
+			"0": {
+				"hashes": {
+					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
+				},
+				"length": 1
+			},
+			"1": {
+				"hashes": {
+					"sha512": "4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"
+				},
+				"length": 1
+			},
+			"2": {
+				"hashes": {
+					"sha512": "40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"
+				},
+				"length": 1
+			},
+			"3": {
+				"hashes": {
+					"sha512": "3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"
+				},
+				"length": 1
+			},
+			"4": {
+				"hashes": {
+					"sha512": "a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568"
+				},
+				"length": 1
+			},
+			"5": {
+				"hashes": {
+					"sha512": "06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25"
+				},
+				"length": 1
+			}
+		},
+		"version": 6
+	},
+	"signatures": [
+		{
+			"keyid": "b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+			"method": "ed25519",
+			"sig": "4d0beb0e65a6a3c7de8b78fc2339e82105a86afec1dbae2da073bff472d66d7c522202bae21756d03d43a25df72df40dc01840616ce5badd3082eb11feb90d0a"
+		},
+		{
+			"keyid": "d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556",
+			"method": "ed25519",
+			"sig": "4d0beb0e65a6a3c7de8b78fc2339e82105a86afec1dbae2da073bff472d66d7c522202bae21756d03d43a25df72df40dc01840616ce5badd3082eb11feb90d0a"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/64e2a6ca1d3806852888c7f86ad4edbe0663dd0f41b219a74098b1bec2bd8c399aaf444e614133f1713b9b7604152f2587f9b80406eab3cfae66bb99fbf94b91.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/64e2a6ca1d3806852888c7f86ad4edbe0663dd0f41b219a74098b1bec2bd8c399aaf444e614133f1713b9b7604152f2587f9b80406eab3cfae66bb99fbf94b91.root.json
deleted file mode 100644
index 86d176c..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/64e2a6ca1d3806852888c7f86ad4edbe0663dd0f41b219a74098b1bec2bd8c399aaf444e614133f1713b9b7604152f2587f9b80406eab3cfae66bb99fbf94b91.root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"},"scheme":"ed25519"},"c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"},"scheme":"ed25519"},"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063","abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5"],"threshold":1}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063","method":"ed25519","sig":"0ff19bd2acfd9999a1230846a9ac7c97d3cbba7be707d63edd57f1210e39a870057dfc3422b2791800b257f04794719e77a82843ec085a4bc8d4c4327991c205"},{"keyid":"abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5","method":"ed25519","sig":"0ff19bd2acfd9999a1230846a9ac7c97d3cbba7be707d63edd57f1210e39a870057dfc3422b2791800b257f04794719e77a82843ec085a4bc8d4c4327991c205"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730.targets.json
deleted file mode 100644
index 68d4266..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"f7a427ebebf3168387543661963556c0a0132940600573c76b3fc304ee1dc589218cbf54a84c95070b6757d967e2c076741469307fb1324ce9cab6dd0ca01405"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"f7a427ebebf3168387543661963556c0a0132940600573c76b3fc304ee1dc589218cbf54a84c95070b6757d967e2c076741469307fb1324ce9cab6dd0ca01405"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/6ecff211b4df20d84e5a99a1145b7f96752efe880147439a3a8c2ecc080762f84b5b784da1b41d2ccb1492d112c521b4b82973589285dfbcfbb6c423c559ff4e.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/6ecff211b4df20d84e5a99a1145b7f96752efe880147439a3a8c2ecc080762f84b5b784da1b41d2ccb1492d112c521b4b82973589285dfbcfbb6c423c559ff4e.targets.json
new file mode 120000
index 0000000..18eed32
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/6ecff211b4df20d84e5a99a1145b7f96752efe880147439a3a8c2ecc080762f84b5b784da1b41d2ccb1492d112c521b4b82973589285dfbcfbb6c423c559ff4e.targets.json
@@ -0,0 +1 @@
+../../4/repository/6ecff211b4df20d84e5a99a1145b7f96752efe880147439a3a8c2ecc080762f84b5b784da1b41d2ccb1492d112c521b4b82973589285dfbcfbb6c423c559ff4e.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json
deleted file mode 100644
index b11f3de..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"5496d35371c10aa6a1a15b2f883580a977a7871b8759139f14e2eb9a215b804f936fa9acf83799c69062775a7c4c3ebd8c9ad49b1db69a6e8c70a035ad10bb0b"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"5496d35371c10aa6a1a15b2f883580a977a7871b8759139f14e2eb9a215b804f936fa9acf83799c69062775a7c4c3ebd8c9ad49b1db69a6e8c70a035ad10bb0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/77cfe7cf50f16f765333948e7f2ad62ef8670fc4eb60f3eb80941a3403c283addf5f336ab900a4f37078b1a2c565d90fea4f758088ae3d6235881f028459f9e4.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/77cfe7cf50f16f765333948e7f2ad62ef8670fc4eb60f3eb80941a3403c283addf5f336ab900a4f37078b1a2c565d90fea4f758088ae3d6235881f028459f9e4.root.json
new file mode 120000
index 0000000..42250ba
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/77cfe7cf50f16f765333948e7f2ad62ef8670fc4eb60f3eb80941a3403c283addf5f336ab900a4f37078b1a2c565d90fea4f758088ae3d6235881f028459f9e4.root.json
@@ -0,0 +1 @@
+../../4/repository/77cfe7cf50f16f765333948e7f2ad62ef8670fc4eb60f3eb80941a3403c283addf5f336ab900a4f37078b1a2c565d90fea4f758088ae3d6235881f028459f9e4.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/858f38b3b040da754db743b564112c9a9b745b9fb0ffd2b5ee77cdf90799bd3675dfccc03e17e1bfe02b1c736a8b1f9e5862214e63c865c14a038f515d0ca0a8.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/858f38b3b040da754db743b564112c9a9b745b9fb0ffd2b5ee77cdf90799bd3675dfccc03e17e1bfe02b1c736a8b1f9e5862214e63c865c14a038f515d0ca0a8.root.json
new file mode 120000
index 0000000..cf94b55
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/858f38b3b040da754db743b564112c9a9b745b9fb0ffd2b5ee77cdf90799bd3675dfccc03e17e1bfe02b1c736a8b1f9e5862214e63c865c14a038f515d0ca0a8.root.json
@@ -0,0 +1 @@
+../../4/repository/858f38b3b040da754db743b564112c9a9b745b9fb0ffd2b5ee77cdf90799bd3675dfccc03e17e1bfe02b1c736a8b1f9e5862214e63c865c14a038f515d0ca0a8.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/8f58f3f272b5e33f1b2c7545dbef1ba0dddfba4f8b6c742164d9b89c8648cde4ecace9f392365426a688bc5d11a207d0fe248712f05927573f7f5c709ba457e8.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/8f58f3f272b5e33f1b2c7545dbef1ba0dddfba4f8b6c742164d9b89c8648cde4ecace9f392365426a688bc5d11a207d0fe248712f05927573f7f5c709ba457e8.snapshot.json
deleted file mode 100644
index 00e1c43..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/8f58f3f272b5e33f1b2c7545dbef1ba0dddfba4f8b6c742164d9b89c8648cde4ecace9f392365426a688bc5d11a207d0fe248712f05927573f7f5c709ba457e8.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730"},"length":1093,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"f89f4d7afd5abc3d4c95997f0550a837d72a42a82423ce36ddeceecda0416e48193395ebc96ebfa5c818ebe9f27812cc844ca34654287da0d81c1e3af9096206"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"f89f4d7afd5abc3d4c95997f0550a837d72a42a82423ce36ddeceecda0416e48193395ebc96ebfa5c818ebe9f27812cc844ca34654287da0d81c1e3af9096206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/95144e44f804d137a00f2f3f8e4907456c62c5d3b8dc0d1d2374c8b16d1c14357f68d96c26f1045014de7cc8f38cee3eed407afdd8247f394ee0209f72fcbebe.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/95144e44f804d137a00f2f3f8e4907456c62c5d3b8dc0d1d2374c8b16d1c14357f68d96c26f1045014de7cc8f38cee3eed407afdd8247f394ee0209f72fcbebe.targets.json
deleted file mode 100644
index 0435b8f..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/95144e44f804d137a00f2f3f8e4907456c62c5d3b8dc0d1d2374c8b16d1c14357f68d96c26f1045014de7cc8f38cee3eed407afdd8247f394ee0209f72fcbebe.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1}},"version":4},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"fece6676d9a489cd2da6981e25067705721545987401c6e32079205087015bccc14fa51cad967f2bbab3521048a669da52e4cc8885dd8ca61ca9056296b9dc0f"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"fece6676d9a489cd2da6981e25067705721545987401c6e32079205087015bccc14fa51cad967f2bbab3521048a669da52e4cc8885dd8ca61ca9056296b9dc0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/9bac7b1442cb8cbfb6df5ded15fd59e95065aff7cdf68af248a4873300038111a31138d65a0d847c48d6479e12e01e0f167aec6a7a5724c11ee0ff2405cd6151.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/9bac7b1442cb8cbfb6df5ded15fd59e95065aff7cdf68af248a4873300038111a31138d65a0d847c48d6479e12e01e0f167aec6a7a5724c11ee0ff2405cd6151.snapshot.json
deleted file mode 100644
index 367619b..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/9bac7b1442cb8cbfb6df5ded15fd59e95065aff7cdf68af248a4873300038111a31138d65a0d847c48d6479e12e01e0f167aec6a7a5724c11ee0ff2405cd6151.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"12203374023883bb7ffba3156974a45fe25f55201ff8ca5e182adba37875f05dde21c887b7bf5fabc653370fa88c193a895ce4f445bb9b8d966eccd08dc740fa"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"95144e44f804d137a00f2f3f8e4907456c62c5d3b8dc0d1d2374c8b16d1c14357f68d96c26f1045014de7cc8f38cee3eed407afdd8247f394ee0209f72fcbebe"},"length":1261,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"f163d5690ea3316843d6b6e2d571ae5092382c61cacffff82b719151b006a72eec18281640bdd61ec31c805a01f4d470f795b12728cf2430b74c70ac9ff26105"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"f163d5690ea3316843d6b6e2d571ae5092382c61cacffff82b719151b006a72eec18281640bdd61ec31c805a01f4d470f795b12728cf2430b74c70ac9ff26105"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/b6e5aa107d62973842336ce39bd8c12f21acecd11ee4b5054ddb6d033a0a81eaf0ca087611771fd53ee8639f00ab8657317832f4ae352ca42bc4ece39e08c949.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/b6e5aa107d62973842336ce39bd8c12f21acecd11ee4b5054ddb6d033a0a81eaf0ca087611771fd53ee8639f00ab8657317832f4ae352ca42bc4ece39e08c949.snapshot.json
new file mode 120000
index 0000000..7ae21cb
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/b6e5aa107d62973842336ce39bd8c12f21acecd11ee4b5054ddb6d033a0a81eaf0ca087611771fd53ee8639f00ab8657317832f4ae352ca42bc4ece39e08c949.snapshot.json
@@ -0,0 +1 @@
+../../4/repository/b6e5aa107d62973842336ce39bd8c12f21acecd11ee4b5054ddb6d033a0a81eaf0ca087611771fd53ee8639f00ab8657317832f4ae352ca42bc4ece39e08c949.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/bcb5768b6fc725dd9b35c52a1a3a5bdf1b978a21600133d31603db435c4dc6a4ad7a765ad9703450e2a34ccb7c99391214b325f0d8541af2b7149f370afeea0d.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/bcb5768b6fc725dd9b35c52a1a3a5bdf1b978a21600133d31603db435c4dc6a4ad7a765ad9703450e2a34ccb7c99391214b325f0d8541af2b7149f370afeea0d.targets.json
deleted file mode 100644
index c16c1f7..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/bcb5768b6fc725dd9b35c52a1a3a5bdf1b978a21600133d31603db435c4dc6a4ad7a765ad9703450e2a34ccb7c99391214b325f0d8541af2b7149f370afeea0d.targets.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1},"4":{"hashes":{"sha512":"a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568"},"length":1}},"version":5},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"3e17e3d94e59d1af84fd88fcadede6bd2b2e34702862f71483b1dd8005cafa55f4e9b6bb75a102995d71b15533f9203b337a03d39f055b795870279d45802a09"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"3e17e3d94e59d1af84fd88fcadede6bd2b2e34702862f71483b1dd8005cafa55f4e9b6bb75a102995d71b15533f9203b337a03d39f055b795870279d45802a09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/bf4f7f4a062fd3780055d98572619db84d6d6c9b9b647bf6bca1190e984963ffb86189fb455110f4c13956ce9cbe72d95d03c5e6d72295414ac6bbcc3d1957c3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/bf4f7f4a062fd3780055d98572619db84d6d6c9b9b647bf6bca1190e984963ffb86189fb455110f4c13956ce9cbe72d95d03c5e6d72295414ac6bbcc3d1957c3.root.json
new file mode 120000
index 0000000..abbc6bd
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/bf4f7f4a062fd3780055d98572619db84d6d6c9b9b647bf6bca1190e984963ffb86189fb455110f4c13956ce9cbe72d95d03c5e6d72295414ac6bbcc3d1957c3.root.json
@@ -0,0 +1 @@
+../../4/repository/bf4f7f4a062fd3780055d98572619db84d6d6c9b9b647bf6bca1190e984963ffb86189fb455110f4c13956ce9cbe72d95d03c5e6d72295414ac6bbcc3d1957c3.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/c524226038aea1ef7b929eacee647d6306473e4bf121cf7fa6716a7afe67f4c60b3e9910b363f04e58effe7ce9ebedd1849cadc14dcdb8651a892c751f5ebe1d.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/c524226038aea1ef7b929eacee647d6306473e4bf121cf7fa6716a7afe67f4c60b3e9910b363f04e58effe7ce9ebedd1849cadc14dcdb8651a892c751f5ebe1d.root.json
new file mode 120000
index 0000000..f5cfacb
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/c524226038aea1ef7b929eacee647d6306473e4bf121cf7fa6716a7afe67f4c60b3e9910b363f04e58effe7ce9ebedd1849cadc14dcdb8651a892c751f5ebe1d.root.json
@@ -0,0 +1 @@
+../../4/repository/c524226038aea1ef7b929eacee647d6306473e4bf121cf7fa6716a7afe67f4c60b3e9910b363f04e58effe7ce9ebedd1849cadc14dcdb8651a892c751f5ebe1d.root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/cefe482eb54c1fdaf062c580247c8b15e9aca90ea5367dadb5dea8966d88a83a11b143da9909218d988dcc2c0cb4912f302f384fae9932bde012a3e07487c5f0.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/cefe482eb54c1fdaf062c580247c8b15e9aca90ea5367dadb5dea8966d88a83a11b143da9909218d988dcc2c0cb4912f302f384fae9932bde012a3e07487c5f0.snapshot.json
new file mode 120000
index 0000000..1fad15b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/cefe482eb54c1fdaf062c580247c8b15e9aca90ea5367dadb5dea8966d88a83a11b143da9909218d988dcc2c0cb4912f302f384fae9932bde012a3e07487c5f0.snapshot.json
@@ -0,0 +1 @@
+../../4/repository/cefe482eb54c1fdaf062c580247c8b15e9aca90ea5367dadb5dea8966d88a83a11b143da9909218d988dcc2c0cb4912f302f384fae9932bde012a3e07487c5f0.snapshot.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/d18f05bb9f365bbc89af0ee4f10599b5cd903f8619eaf1d047237462fcb925307b0068700a4a753c81be6ea27d4819cc264e1216c77b52a93e02b4aa9a057000.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/d18f05bb9f365bbc89af0ee4f10599b5cd903f8619eaf1d047237462fcb925307b0068700a4a753c81be6ea27d4819cc264e1216c77b52a93e02b4aa9a057000.snapshot.json
deleted file mode 100644
index 7e509f9..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/d18f05bb9f365bbc89af0ee4f10599b5cd903f8619eaf1d047237462fcb925307b0068700a4a753c81be6ea27d4819cc264e1216c77b52a93e02b4aa9a057000.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"64e2a6ca1d3806852888c7f86ad4edbe0663dd0f41b219a74098b1bec2bd8c399aaf444e614133f1713b9b7604152f2587f9b80406eab3cfae66bb99fbf94b91"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"bcb5768b6fc725dd9b35c52a1a3a5bdf1b978a21600133d31603db435c4dc6a4ad7a765ad9703450e2a34ccb7c99391214b325f0d8541af2b7149f370afeea0d"},"length":1429,"version":5}},"spec_version":"1.0","version":5},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"acb6d47ce288fc1d21fbf550b0e6a82446e51de7bbaed4797be97ddaede2a6e9b39866dd1481abaefe9855b768817da69be6382ad7f5cefdc5342a129a5f3d04"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"acb6d47ce288fc1d21fbf550b0e6a82446e51de7bbaed4797be97ddaede2a6e9b39866dd1481abaefe9855b768817da69be6382ad7f5cefdc5342a129a5f3d04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/d2678da14b885b502802ee9eb93853548cf0138c9a80f5e88fea99b26c152865a9638088fee1f90cf8c3319fbc58fc8c7384b88abf6d0cc6312859070356a22f.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/d2678da14b885b502802ee9eb93853548cf0138c9a80f5e88fea99b26c152865a9638088fee1f90cf8c3319fbc58fc8c7384b88abf6d0cc6312859070356a22f.targets.json
new file mode 120000
index 0000000..d58bba4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/d2678da14b885b502802ee9eb93853548cf0138c9a80f5e88fea99b26c152865a9638088fee1f90cf8c3319fbc58fc8c7384b88abf6d0cc6312859070356a22f.targets.json
@@ -0,0 +1 @@
+../../4/repository/d2678da14b885b502802ee9eb93853548cf0138c9a80f5e88fea99b26c152865a9638088fee1f90cf8c3319fbc58fc8c7384b88abf6d0cc6312859070356a22f.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/ded992dd6e0f1ca664ccd05374bc14ae670a900dd2b4354155e349feee131b57c0c4df9b54f567eee8bce6501bada871531b494f96c5cc70690c7b4a1c3182d5.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/ded992dd6e0f1ca664ccd05374bc14ae670a900dd2b4354155e349feee131b57c0c4df9b54f567eee8bce6501bada871531b494f96c5cc70690c7b4a1c3182d5.targets.json
new file mode 100644
index 0000000..0db25c3
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/ded992dd6e0f1ca664ccd05374bc14ae670a900dd2b4354155e349feee131b57c0c4df9b54f567eee8bce6501bada871531b494f96c5cc70690c7b4a1c3182d5.targets.json
@@ -0,0 +1,58 @@
+{
+	"signed": {
+		"_type": "targets",
+		"expires": "2100-01-01T00:00:00Z",
+		"spec_version": "1.0",
+		"targets": {
+			"0": {
+				"hashes": {
+					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
+				},
+				"length": 1
+			},
+			"1": {
+				"hashes": {
+					"sha512": "4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"
+				},
+				"length": 1
+			},
+			"2": {
+				"hashes": {
+					"sha512": "40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"
+				},
+				"length": 1
+			},
+			"3": {
+				"hashes": {
+					"sha512": "3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"
+				},
+				"length": 1
+			},
+			"4": {
+				"hashes": {
+					"sha512": "a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568"
+				},
+				"length": 1
+			},
+			"5": {
+				"hashes": {
+					"sha512": "06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25"
+				},
+				"length": 1
+			}
+		},
+		"version": 6
+	},
+	"signatures": [
+		{
+			"keyid": "b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+			"method": "ed25519",
+			"sig": "4d0beb0e65a6a3c7de8b78fc2339e82105a86afec1dbae2da073bff472d66d7c522202bae21756d03d43a25df72df40dc01840616ce5badd3082eb11feb90d0a"
+		},
+		{
+			"keyid": "d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556",
+			"method": "ed25519",
+			"sig": "4d0beb0e65a6a3c7de8b78fc2339e82105a86afec1dbae2da073bff472d66d7c522202bae21756d03d43a25df72df40dc01840616ce5badd3082eb11feb90d0a"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/e544e4063c93616b3bed831b0fe5cb72babef0de162da0796e9a6407564c07bdf361d91f41127632f6b2172b2922ab03fa2d9e792d5ef6af8d52aa5031888116.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/e544e4063c93616b3bed831b0fe5cb72babef0de162da0796e9a6407564c07bdf361d91f41127632f6b2172b2922ab03fa2d9e792d5ef6af8d52aa5031888116.targets.json
new file mode 120000
index 0000000..daa45b0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/e544e4063c93616b3bed831b0fe5cb72babef0de162da0796e9a6407564c07bdf361d91f41127632f6b2172b2922ab03fa2d9e792d5ef6af8d52aa5031888116.targets.json
@@ -0,0 +1 @@
+../../4/repository/e544e4063c93616b3bed831b0fe5cb72babef0de162da0796e9a6407564c07bdf361d91f41127632f6b2172b2922ab03fa2d9e792d5ef6af8d52aa5031888116.targets.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json
deleted file mode 100644
index 5423a69..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624"},"length":757,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"997c432689ad2de3a379c95f3a28fff2d1f9b2efa39989a6d3fc2138ffa5d3e87ad29a28547a837bd7e1b51f540c2d909af55840cd8dc7ff01a568858e42b007"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"997c432689ad2de3a379c95f3a28fff2d1f9b2efa39989a6d3fc2138ffa5d3e87ad29a28547a837bd7e1b51f540c2d909af55840cd8dc7ff01a568858e42b007"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/root.json
deleted file mode 100644
index 86d176c..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/root.json
+++ /dev/null
@@ -1 +0,0 @@
-{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"},"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"35f04225cfb33dac287ad3e422b5fbf88a8463bceb7861c1f8ce4045fb6293cb"},"scheme":"ed25519"},"abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"},"scheme":"ed25519"},"c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"},"scheme":"ed25519"},"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"},"scheme":"ed25519"},"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ed4e0655e4167638c9c3170422cdbff02a5babffecb2bcce19c89d7ba9689517"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063","abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5"],"threshold":1},"snapshot":{"keyids":["f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f"],"threshold":1},"targets":{"keyids":["570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4"],"threshold":1},"timestamp":{"keyids":["cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5"],"threshold":1}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"c6532d7d0a060924f412cb804479e5d1f70ffc2d7a1d6fd2b15525d4e52e6063","method":"ed25519","sig":"0ff19bd2acfd9999a1230846a9ac7c97d3cbba7be707d63edd57f1210e39a870057dfc3422b2791800b257f04794719e77a82843ec085a4bc8d4c4327991c205"},{"keyid":"abaaad889a9271bcd50cc9876319e708b4fbad170765eb318c4258bc102e01e5","method":"ed25519","sig":"0ff19bd2acfd9999a1230846a9ac7c97d3cbba7be707d63edd57f1210e39a870057dfc3422b2791800b257f04794719e77a82843ec085a4bc8d4c4327991c205"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/root.json
new file mode 120000
index 0000000..3d14058
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/root.json
@@ -0,0 +1 @@
+../../4/repository/root.json
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/snapshot.json
index cd7a807..d03ae26 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/snapshot.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/snapshot.json
@@ -1 +1,36 @@
-{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"64e2a6ca1d3806852888c7f86ad4edbe0663dd0f41b219a74098b1bec2bd8c399aaf444e614133f1713b9b7604152f2587f9b80406eab3cfae66bb99fbf94b91"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"26d3ec0a2f15a89261b935d4111c4cd86b1322ec63a147b31c4baea78e84890559f23e5a60e0cd9e3119f0c771ab9502c3b8dd7f65abf029515d98f605a7e752"},"length":1597,"version":6}},"spec_version":"1.0","version":6},"signatures":[{"keyid":"f15db6ee96ebae96476ffab01b46904c43e7a24a4fcbdc1ff5e6489c12501f80","method":"ed25519","sig":"9d2e69a8b6bca580603000ae591ffbed15f15855b0c331d6bed1da0fbf90b051256ddb4e1223047a5a46461b73d3cc111aa3d960d8b741ffc222b4c28384d90a"},{"keyid":"8a520dc213d6b7996e9872507ba5d31bd8c3f612253fc7dfa4ec0e45d6bdd63f","method":"ed25519","sig":"9d2e69a8b6bca580603000ae591ffbed15f15855b0c331d6bed1da0fbf90b051256ddb4e1223047a5a46461b73d3cc111aa3d960d8b741ffc222b4c28384d90a"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "snapshot",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"root.json": {
+				"hashes": {
+					"sha512": "77cfe7cf50f16f765333948e7f2ad62ef8670fc4eb60f3eb80941a3403c283addf5f336ab900a4f37078b1a2c565d90fea4f758088ae3d6235881f028459f9e4"
+				},
+				"length": 3831,
+				"version": 4
+			},
+			"targets.json": {
+				"hashes": {
+					"sha512": "ded992dd6e0f1ca664ccd05374bc14ae670a900dd2b4354155e349feee131b57c0c4df9b54f567eee8bce6501bada871531b494f96c5cc70690c7b4a1c3182d5"
+				},
+				"length": 1871,
+				"version": 6
+			}
+		},
+		"spec_version": "1.0",
+		"version": 6
+	},
+	"signatures": [
+		{
+			"keyid": "bed15bf57ba4deb4e09667099d45d119504420983d16fd0927ebfb0c25184e7f",
+			"method": "ed25519",
+			"sig": "0780e392e0676c5983cc00f66bee1bb9c23c537de120e0e77db0e8f23368cdd50fe60966a6f29c0c0ebe141aad8610c1870c8fd8862dad3b939565b8c9201f0b"
+		},
+		{
+			"keyid": "ad7c98dfb3b99024f8b49e33f3d92e66537f0abab78a84f1e4b667dfbf52bf60",
+			"method": "ed25519",
+			"sig": "0780e392e0676c5983cc00f66bee1bb9c23c537de120e0e77db0e8f23368cdd50fe60966a6f29c0c0ebe141aad8610c1870c8fd8862dad3b939565b8c9201f0b"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets.json
index 17ab048..0db25c3 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets.json
@@ -1 +1,58 @@
-{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1},"3":{"hashes":{"sha512":"3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"},"length":1},"4":{"hashes":{"sha512":"a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568"},"length":1},"5":{"hashes":{"sha512":"06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25"},"length":1}},"version":6},"signatures":[{"keyid":"570020cd8ce33b227d3c08c5e1e43505e3b594c47853e145f146d4c729fe632e","method":"ed25519","sig":"45dae8c2a5b77a89b3c169dcc29fa48c013a2aa391064d77997f01c2492af5dd14f6f4dcdacb4039d7f8b77b8af8018b6b5bf45a096ed864661446c7dc96420b"},{"keyid":"a225570046726954f72a7f50b104943ea4ef6c9a49b6a62262aa19c796b7a3c4","method":"ed25519","sig":"45dae8c2a5b77a89b3c169dcc29fa48c013a2aa391064d77997f01c2492af5dd14f6f4dcdacb4039d7f8b77b8af8018b6b5bf45a096ed864661446c7dc96420b"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "targets",
+		"expires": "2100-01-01T00:00:00Z",
+		"spec_version": "1.0",
+		"targets": {
+			"0": {
+				"hashes": {
+					"sha512": "31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"
+				},
+				"length": 1
+			},
+			"1": {
+				"hashes": {
+					"sha512": "4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"
+				},
+				"length": 1
+			},
+			"2": {
+				"hashes": {
+					"sha512": "40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"
+				},
+				"length": 1
+			},
+			"3": {
+				"hashes": {
+					"sha512": "3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb"
+				},
+				"length": 1
+			},
+			"4": {
+				"hashes": {
+					"sha512": "a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568"
+				},
+				"length": 1
+			},
+			"5": {
+				"hashes": {
+					"sha512": "06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25"
+				},
+				"length": 1
+			}
+		},
+		"version": 6
+	},
+	"signatures": [
+		{
+			"keyid": "b1eb1d74c0e65524c85f96f9badf09a4d2ed1259fb427fc689fc2279ebb4d867",
+			"method": "ed25519",
+			"sig": "4d0beb0e65a6a3c7de8b78fc2339e82105a86afec1dbae2da073bff472d66d7c522202bae21756d03d43a25df72df40dc01840616ce5badd3082eb11feb90d0a"
+		},
+		{
+			"keyid": "d77999c3b2d553fceee309cc47bf7ab2fee37b8a0b30d4033e4b40dc09719556",
+			"method": "ed25519",
+			"sig": "4d0beb0e65a6a3c7de8b78fc2339e82105a86afec1dbae2da073bff472d66d7c522202bae21756d03d43a25df72df40dc01840616ce5badd3082eb11feb90d0a"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.0
deleted file mode 100644
index c227083..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.0
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.0
new file mode 120000
index 0000000..28473bd
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.0
@@ -0,0 +1 @@
+../../../4/repository/targets/0.0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.1
deleted file mode 100644
index 56a6051..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.1
+++ /dev/null
@@ -1 +0,0 @@
-1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.1
new file mode 120000
index 0000000..e371cbf
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.1
@@ -0,0 +1 @@
+../../../4/repository/targets/0.1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.2 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.2
deleted file mode 100644
index d8263ee..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.2
+++ /dev/null
@@ -1 +0,0 @@
-2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.2 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.2
new file mode 120000
index 0000000..4819cab
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.2
@@ -0,0 +1 @@
+../../../4/repository/targets/0.2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.3 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.3
deleted file mode 100644
index e440e5c..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.3
+++ /dev/null
@@ -1 +0,0 @@
-3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.3 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.3
new file mode 120000
index 0000000..86d2291
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.3
@@ -0,0 +1 @@
+../../../4/repository/targets/0.3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.4 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.4
deleted file mode 100644
index bf0d87a..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.4
+++ /dev/null
@@ -1 +0,0 @@
-4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.4 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.4
new file mode 120000
index 0000000..8ad49cb
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.4
@@ -0,0 +1 @@
+../../../4/repository/targets/0.4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
deleted file mode 100644
index c227083..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 120000
index 0000000..c70b61b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+../../../4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
deleted file mode 100644
index e440e5c..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
+++ /dev/null
@@ -1 +0,0 @@
-3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
new file mode 120000
index 0000000..1e66cb1
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+../../../4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
deleted file mode 100644
index d8263ee..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
+++ /dev/null
@@ -1 +0,0 @@
-2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 120000
index 0000000..a02a231
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+../../../4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
deleted file mode 100644
index 56a6051..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
+++ /dev/null
@@ -1 +0,0 @@
-1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 120000
index 0000000..74d1328
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+../../../4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
deleted file mode 100644
index bf0d87a..0000000
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
+++ /dev/null
@@ -1 +0,0 @@
-4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
new file mode 120000
index 0000000..73a65ad
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
@@ -0,0 +1 @@
+../../../4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/timestamp.json
index d3fdbbe..511a2f0 100644
--- a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/timestamp.json
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/timestamp.json
@@ -1 +1,29 @@
-{"signed":{"_type":"timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"04dd52d614a882241314ba9a3a30f52067f360b151687b92e7ec3682966dee331975cd04e71e004f1556f7a82677beaf65e3c34b79387ff9559da000a519bd0b"},"length":972,"version":6}},"spec_version":"1.0","version":6},"signatures":[{"keyid":"cbd239974ec2e4bd66786abca74120384d0ea764c1cb62c4e306c5d54d58b25d","method":"ed25519","sig":"ca5ede4dac9e39dbfc9e76101b7a9abb16b7151c0ec86f7d9423a7b5487f49fbc5dfeb54b648090b6b0c93e942e704ec1c21be8a5dcedf0ad4418d116cb11c0f"},{"keyid":"8e2011a62b98770b5b5162df49af5f791c42ef94bab814bf6db758b940482ea5","method":"ed25519","sig":"ca5ede4dac9e39dbfc9e76101b7a9abb16b7151c0ec86f7d9423a7b5487f49fbc5dfeb54b648090b6b0c93e942e704ec1c21be8a5dcedf0ad4418d116cb11c0f"}]}
\ No newline at end of file
+{
+	"signed": {
+		"_type": "timestamp",
+		"expires": "2100-01-01T00:00:00Z",
+		"meta": {
+			"snapshot.json": {
+				"hashes": {
+					"sha512": "1919ef21534d3c6706578162b00f6243765f4f9900c5a773e6f2e73c8907debd3e46e6c75485c333b1188b8e9c9682c754689aceae07b7d93112e5a60ed22222"
+				},
+				"length": 1126,
+				"version": 6
+			}
+		},
+		"spec_version": "1.0",
+		"version": 6
+	},
+	"signatures": [
+		{
+			"keyid": "79b5760e4c96b6becc12bec4260c9c1d533b9b70628ade2b229ef02b772b10b0",
+			"method": "ed25519",
+			"sig": "57d707e78fae2c6b8bbafd2d4363c8e4292a4186add33b05214a365be754e1060dd8fd2945dc5583414b1d6907579e5c508dddcea2fe4393fffde00f727c3c0d"
+		},
+		{
+			"keyid": "e23c19fb64db7146965700b9983df63d2dd4362b1f99d74da2383234da4ab20d",
+			"method": "ed25519",
+			"sig": "57d707e78fae2c6b8bbafd2d4363c8e4292a4186add33b05214a365be754e1060dd8fd2945dc5583414b1d6907579e5c508dddcea2fe4393fffde00f727c3c0d"
+		}
+	]
+}
\ No newline at end of file
diff --git a/client/testdata/keys.json b/client/testdata/keys.json
new file mode 100644
index 0000000..83f9c40
--- /dev/null
+++ b/client/testdata/keys.json
@@ -0,0 +1,114 @@
+{
+    "root": [
+        [
+            {
+                "keytype": "ed25519",
+                "scheme": "ed25519",
+                "keyid_hash_algorithms": [
+                    "sha256"
+                ],
+                "keyval": {
+                    "public": "bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca",
+                    "private": "68c2a06583ce83dabb1fc5d2b3697015b936f341f21be1be1397670a650ebd53bca152214dbfd3e7a1b7a7b3e2cc179fb00520fd7212c8a60ba99f14dfc0e1ca"
+                }
+            }
+        ],
+        [
+            {
+                "keytype": "ed25519",
+                "scheme": "ed25519",
+                "keyid_hash_algorithms": [
+                    "sha256"
+                ],
+                "keyval": {
+                    "public": "153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54",
+                    "private": "e53595d99a85a33d7c228d28b25c856148c65be36558d0d61faa7e018a51db5c153986a7370e002f377dd68797e7466c421180c1571e233de2f8ab41c8af4f54"
+                }
+            }
+        ]
+    ],
+    "snapshot": [
+        [
+            {
+                "keytype": "ed25519",
+                "scheme": "ed25519",
+                "keyid_hash_algorithms": [
+                    "sha256"
+                ],
+                "keyval": {
+                    "public": "d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94",
+                    "private": "28de1763cc4cc78702167bd6cf862fc3977afc2404c5eebbdfb948bab55f14f0d482fa4805a50870aa1356ace6b764f7ab47ed4dc38f49b1a189afa25f179e94"
+                }
+            }
+        ],
+        [
+            {
+                "keytype": "ed25519",
+                "scheme": "ed25519",
+                "keyid_hash_algorithms": [
+                    "sha256"
+                ],
+                "keyval": {
+                    "public": "722dbc861813bb5b568524d62083e875c08e66fed1694d9161d253fa163dd86f",
+                    "private": "fb85703e9c1c77cfe87c18eda24d5637d997503fef4107f6c04777b0fbec2b8c722dbc861813bb5b568524d62083e875c08e66fed1694d9161d253fa163dd86f"
+                }
+            }
+        ]
+    ],
+    "targets": [
+        [
+            {
+                "keytype": "ed25519",
+                "scheme": "ed25519",
+                "keyid_hash_algorithms": [
+                    "sha256"
+                ],
+                "keyval": {
+                    "public": "62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a",
+                    "private": "dee6d1fa7f041bee48a4e783d416e12c72ecdbd164202a71b23149adbb1c3d1f62f71f99c788f16bcdc8bb252455e3a690350e4ddea5a6aab1f9a3aaabcf369a"
+                }
+            }
+        ],
+        [
+            {
+                "keytype": "ed25519",
+                "scheme": "ed25519",
+                "keyid_hash_algorithms": [
+                    "sha256"
+                ],
+                "keyval": {
+                    "public": "aee574e56780ea1709a8b56e02d4ffdd9a3a1deaed61e2eb0701f376a4422e42",
+                    "private": "9f51d6d05cda79b80dad73d7e1611df50555d5090bf9fe6bfac5ad3690b57e2aaee574e56780ea1709a8b56e02d4ffdd9a3a1deaed61e2eb0701f376a4422e42"
+                }
+            }
+        ]
+    ],
+    "timestamp": [
+        [
+            {
+                "keytype": "ed25519",
+                "scheme": "ed25519",
+                "keyid_hash_algorithms": [
+                    "sha256"
+                ],
+                "keyval": {
+                    "public": "8656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160",
+                    "private": "2ef838a6f0aa4bc0a746b8086098683f96bb5118c4dca7d3caa3dee5c86ea8398656ad20568cd3534c405e4d9a84b0c6e6163f7f66434df77416502835b9b160"
+                }
+            }
+        ],
+        [
+            {
+                "keytype": "ed25519",
+                "scheme": "ed25519",
+                "keyid_hash_algorithms": [
+                    "sha256"
+                ],
+                "keyval": {
+                    "public": "3ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76",
+                    "private": "1d9a579675ee85074a7c5d8a3e4a58a21e82bddc53bbfe1bef547d681d4049783ab34b0c2d4eadccaa0f0cf22ced07b552394063a9de2806993d022360dffc76"
+                }
+            }
+        ]
+    ]
+}
\ No newline at end of file