Add tests to for parsing TUF transitional metadata

This adds tests to verify that we can upgrade TUF with metadata
generated with a few different stages of go-tuf:

* go-tuf-transition-M0: metadata generated with the original
  go-tuf 0.9, and is compatible with go-tuf transitional and
  python-tuf 0.9.9.

* go-tuf-transition-M1: TUF-0.9 compatible metadata that
  is still compatible with go-tuf 0.9, go-tuf transitional, and
  python-tuf 0.9.9. Changes:
  * It includes the field "spec_version"
  * there are no gaps between version numbers.

* go-tuf-transition-M2: TUF-0.9 compatible metadata that
  is no longer compatible with go-tuf 0.9, but is still compatible
  with go-tuf transitional and python-tuf 0.9.9. Changes:
  * It adds "keyid_hash_algorithms" and "scheme" to keys in the
    root metadata.
  * It contains both TUF-0.9 and TUF-1.0 compatible keyids
  * It removes leading slashes from targets.

* go-tuf-transition-M3: TUF-1.0 compatible metadata that is
  compatible with go-tuf transitional, go-tuf 1.0 and python-tuf
  0.11.1. Changes:
  * Downcases the "_type" field.

* go-tuf-transition-M4: TUF-1.0 compatible metadata that is
  compatible with go-tuf 1.0 and python-tuf. Changes:
  * Removes the TUF-0.9 compatible keyid.
  * Removes "method" from "signatures".

Each test generates a series of repos to confirm that go-tuf can:

* create an initial repo, and adds a test file "0"
* revokes and regenerates the timestamp key, adds a test file "1".
* purge the timestamp key to make sure the metadata isn't signed
  by the revoked key, and add test file "2"
* revoke and regenerates the root key, and adds a test file "3"
* purge the root key, and adds a test file "4"
* adds a test file "5" to make sure the entire pipeline works.

Finally, the tests that all files are accessible through each
step in the testing.

Change-Id: I5af1c1137e99719e3833ad694e59aa4bcad854ea
diff --git a/client/interop_test.go b/client/interop_test.go
index 5671822..6d2c18d 100644
--- a/client/interop_test.go
+++ b/client/interop_test.go
@@ -78,6 +78,101 @@
 	}
 }
 
+func (InteropSuite) TestGoClientCompatibility(c *C) {
+	// start file server
+	cwd, err := os.Getwd()
+	c.Assert(err, IsNil)
+	testDataDir := filepath.Join(cwd, "testdata")
+	addr, cleanup := startFileServer(c, testDataDir)
+	defer cleanup()
+
+	type dataKeys struct {
+		Data []*data.Key `json:"data"`
+	}
+
+	versions := []string{
+		"go-tuf-transition-M0",
+		"go-tuf-transition-M1",
+		"go-tuf-transition-M2",
+		"go-tuf-transition-M3",
+	}
+
+	for _, version := range versions {
+		for _, consistentSnapshot := range []bool{false, true} {
+			dir := fmt.Sprintf("consistent-snapshot-%t", consistentSnapshot)
+			local := MemoryLocalStore()
+
+			init := false
+			targets := map[string][]byte{}
+
+			for _, step := range []string{"0", "1", "2", "3", "4", "5"} {
+				dir := filepath.Join(dir, step)
+
+				remote, err := HTTPRemoteStore(
+					fmt.Sprintf("http://%s/%s/%s/repository", addr, version, dir),
+					&HTTPRemoteOptions{MetadataPath: "", TargetsPath: "targets"},
+					nil,
+				)
+				c.Assert(err, IsNil)
+
+				client := NewClient(local, remote)
+
+				// initiate a client with the root keys
+				if !init {
+					init = true
+					f, err := os.Open(filepath.Join(testDataDir, version, dir, "keys", "root.json"))
+					c.Assert(err, IsNil)
+					keys := &dataKeys{}
+					c.Assert(json.NewDecoder(f).Decode(keys), IsNil)
+
+					for _, key := range keys.Data {
+						c.Assert(key.Type, Equals, "ed25519")
+						c.Assert(key.Value.Public, HasLen, ed25519.PublicKeySize)
+					}
+					c.Assert(client.Init(keys.Data, 1), IsNil)
+				}
+
+				// check update returns the correct updated targets
+				files, err := client.Update()
+				c.Assert(err, IsNil)
+				c.Assert(files, HasLen, 1)
+
+				name := step
+				targets[name] = []byte(step)
+
+				// FIXME(TUF-0.9) M0 and M1 contain leading
+				// slashes in order to be backwards compatible
+				// with go-tuf G0.
+				var file data.TargetFileMeta
+				var ok bool
+				if version == "go-tuf-transition-M0" || version == "go-tuf-transition-M1" {
+					file, ok = files["/"+name]
+				} else {
+					file, ok = files[name]
+				}
+				if !ok {
+					c.Fatalf("expected updated targets to contain %s", name)
+				}
+
+				data := targets[name]
+				meta, err := util.GenerateTargetFileMeta(bytes.NewReader(data), file.HashAlgorithms()...)
+				c.Assert(err, IsNil)
+				c.Assert(util.TargetFileMetaEqual(file, meta), IsNil)
+
+				// download the files and check they have the correct content
+				for name, data := range targets {
+					for _, prefix := range []string{"", "/"} {
+						var dest testDestination
+						c.Assert(client.Download(prefix+name, &dest), IsNil)
+						c.Assert(dest.deleted, Equals, false)
+						c.Assert(dest.String(), Equals, string(data))
+					}
+				}
+			}
+		}
+	}
+}
+
 func generateRepoFS(c *C, dir string, files map[string][]byte, consistentSnapshot bool) *tuf.Repo {
 	repo, err := tuf.NewRepo(tuf.FileSystemStore(dir, nil))
 	c.Assert(err, IsNil)
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/keys/root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/keys/root.json
new file mode 100644
index 0000000..5b1c4af
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/keys/root.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "6dc91493d25d84af9fede767760ac2c42ca09e92bb55aef4df9cd107fbff004f",
+				"private": "cbf1c46f3ebc8c916345a6fb1cbb197270fccd8cbf87ed3b33abeefada4e66e26dc91493d25d84af9fede767760ac2c42ca09e92bb55aef4df9cd107fbff004f"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/keys/snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/keys/snapshot.json
new file mode 100644
index 0000000..facc800
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/keys/snapshot.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87",
+				"private": "cae4d90a116455883b10ea8ee025c73cc5a986a15921d66986549bad9ac12e5e9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/keys/targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/keys/targets.json
new file mode 100644
index 0000000..0b79433
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/keys/targets.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547",
+				"private": "38f3ad30d84114b02721440565eabb2592892b5e590d9ed16e4f72e820fc790927706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/keys/timestamp.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/keys/timestamp.json
new file mode 100644
index 0000000..bee478a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/keys/timestamp.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "9769cb2815cb8e30aba8f184945e88e380cb37f4563b1c3eaadb0989794857b5",
+				"private": "c2414cea14377793427416293ec4a68e58a0f2ad4a7ed5ca3b6dea6ba34d68e09769cb2815cb8e30aba8f184945e88e380cb37f4563b1c3eaadb0989794857b5"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/repository/1cf4f9c2a07b0ffdccac0094eb6e2eb992f42b51e7ea56ad436434e4215ecc39512b8c5188a78d987bc116ac4d999aeaee1478ed97583ff3d43a6d9c1f017ef6.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/repository/1cf4f9c2a07b0ffdccac0094eb6e2eb992f42b51e7ea56ad436434e4215ecc39512b8c5188a78d987bc116ac4d999aeaee1478ed97583ff3d43a6d9c1f017ef6.root.json
new file mode 100644
index 0000000..3c2c940
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/repository/1cf4f9c2a07b0ffdccac0094eb6e2eb992f42b51e7ea56ad436434e4215ecc39512b8c5188a78d987bc116ac4d999aeaee1478ed97583ff3d43a6d9c1f017ef6.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"55dc0bf3252b95d3e870fbbd4d01ed61029241e05f1fc67ae7e65c3463351c86":{"keytype":"ed25519","keyval":{"public":"9769cb2815cb8e30aba8f184945e88e380cb37f4563b1c3eaadb0989794857b5"}},"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528":{"keytype":"ed25519","keyval":{"public":"9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"}},"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03":{"keytype":"ed25519","keyval":{"public":"6dc91493d25d84af9fede767760ac2c42ca09e92bb55aef4df9cd107fbff004f"}},"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9":{"keytype":"ed25519","keyval":{"public":"27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"}}},"roles":{"root":{"keyids":["cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03"],"threshold":1},"snapshot":{"keyids":["6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528"],"threshold":1},"targets":{"keyids":["d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9"],"threshold":1},"timestamp":{"keyids":["55dc0bf3252b95d3e870fbbd4d01ed61029241e05f1fc67ae7e65c3463351c86"],"threshold":1}},"version":4},"signatures":[{"keyid":"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03","method":"ed25519","sig":"142bd48ca97e5fbdedf7465e74e8a07a9a4fc41e98d7b722afa2fb315d8f2d620a3383ff334e9812595e5328ed7830bc35248527f65227bd2c9e243445081e07"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/repository/bb4ba5a3ee92745a08044435741fd877a315fd94844e1705d630e222937c9ce2565a9ecddc756b33ded41a9ee399e9d24ac2f29b62a5444635278c38397b3e07.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/repository/bb4ba5a3ee92745a08044435741fd877a315fd94844e1705d630e222937c9ce2565a9ecddc756b33ded41a9ee399e9d24ac2f29b62a5444635278c38397b3e07.snapshot.json
new file mode 100644
index 0000000..e16c947
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/repository/bb4ba5a3ee92745a08044435741fd877a315fd94844e1705d630e222937c9ce2565a9ecddc756b33ded41a9ee399e9d24ac2f29b62a5444635278c38397b3e07.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1cf4f9c2a07b0ffdccac0094eb6e2eb992f42b51e7ea56ad436434e4215ecc39512b8c5188a78d987bc116ac4d999aeaee1478ed97583ff3d43a6d9c1f017ef6"},"length":1486,"version":4},"targets.json":{"hashes":{"sha512":"c0effb3000d3ddac8183c8b882a49f461a3f50e2bc0424c2f9193067e1978bc436e1727750e02a1fa3980afc027b0ce0962697db35e8820eec07d328d92bfa29"},"length":504,"version":1}},"version":1},"signatures":[{"keyid":"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528","method":"ed25519","sig":"028882162e9f7ac6920de65ee530863394c159154ce8407afdcd82dfd2e0de79e58c8f6809bd87c03a004dd55464943b275201688cfe585df024b4dc9aef390d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/repository/c0effb3000d3ddac8183c8b882a49f461a3f50e2bc0424c2f9193067e1978bc436e1727750e02a1fa3980afc027b0ce0962697db35e8820eec07d328d92bfa29.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/repository/c0effb3000d3ddac8183c8b882a49f461a3f50e2bc0424c2f9193067e1978bc436e1727750e02a1fa3980afc027b0ce0962697db35e8820eec07d328d92bfa29.targets.json
new file mode 100644
index 0000000..8990fe0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/repository/c0effb3000d3ddac8183c8b882a49f461a3f50e2bc0424c2f9193067e1978bc436e1727750e02a1fa3980afc027b0ce0962697db35e8820eec07d328d92bfa29.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9","method":"ed25519","sig":"7f0a626a44cfbd246192c4a15ab89090225676bdb65cf06b15525f3f717d179650c197bb3fb182a42398650f82df0c10954a109e4011549d6c963d8b5d672a00"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/repository/root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/repository/root.json
new file mode 100644
index 0000000..3c2c940
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"55dc0bf3252b95d3e870fbbd4d01ed61029241e05f1fc67ae7e65c3463351c86":{"keytype":"ed25519","keyval":{"public":"9769cb2815cb8e30aba8f184945e88e380cb37f4563b1c3eaadb0989794857b5"}},"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528":{"keytype":"ed25519","keyval":{"public":"9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"}},"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03":{"keytype":"ed25519","keyval":{"public":"6dc91493d25d84af9fede767760ac2c42ca09e92bb55aef4df9cd107fbff004f"}},"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9":{"keytype":"ed25519","keyval":{"public":"27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"}}},"roles":{"root":{"keyids":["cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03"],"threshold":1},"snapshot":{"keyids":["6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528"],"threshold":1},"targets":{"keyids":["d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9"],"threshold":1},"timestamp":{"keyids":["55dc0bf3252b95d3e870fbbd4d01ed61029241e05f1fc67ae7e65c3463351c86"],"threshold":1}},"version":4},"signatures":[{"keyid":"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03","method":"ed25519","sig":"142bd48ca97e5fbdedf7465e74e8a07a9a4fc41e98d7b722afa2fb315d8f2d620a3383ff334e9812595e5328ed7830bc35248527f65227bd2c9e243445081e07"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/repository/snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/repository/snapshot.json
new file mode 100644
index 0000000..e16c947
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1cf4f9c2a07b0ffdccac0094eb6e2eb992f42b51e7ea56ad436434e4215ecc39512b8c5188a78d987bc116ac4d999aeaee1478ed97583ff3d43a6d9c1f017ef6"},"length":1486,"version":4},"targets.json":{"hashes":{"sha512":"c0effb3000d3ddac8183c8b882a49f461a3f50e2bc0424c2f9193067e1978bc436e1727750e02a1fa3980afc027b0ce0962697db35e8820eec07d328d92bfa29"},"length":504,"version":1}},"version":1},"signatures":[{"keyid":"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528","method":"ed25519","sig":"028882162e9f7ac6920de65ee530863394c159154ce8407afdcd82dfd2e0de79e58c8f6809bd87c03a004dd55464943b275201688cfe585df024b4dc9aef390d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/repository/targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/repository/targets.json
new file mode 100644
index 0000000..8990fe0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9","method":"ed25519","sig":"7f0a626a44cfbd246192c4a15ab89090225676bdb65cf06b15525f3f717d179650c197bb3fb182a42398650f82df0c10954a109e4011549d6c963d8b5d672a00"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/repository/timestamp.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/repository/timestamp.json
new file mode 100644
index 0000000..80c1c76
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/0/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"bb4ba5a3ee92745a08044435741fd877a315fd94844e1705d630e222937c9ce2565a9ecddc756b33ded41a9ee399e9d24ac2f29b62a5444635278c38397b3e07"},"length":717,"version":1}},"version":1},"signatures":[{"keyid":"55dc0bf3252b95d3e870fbbd4d01ed61029241e05f1fc67ae7e65c3463351c86","method":"ed25519","sig":"62918a90bf60890d6bc75bcee7db47ee2f2b1b9ee762b0d0d997b73260a8e06f531def19a976823cb56e7ed5361c9ff6f96478bd9dc75e1c99dcfcafa4f1b409"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/keys/root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/keys/root.json
new file mode 100644
index 0000000..5b1c4af
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/keys/root.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "6dc91493d25d84af9fede767760ac2c42ca09e92bb55aef4df9cd107fbff004f",
+				"private": "cbf1c46f3ebc8c916345a6fb1cbb197270fccd8cbf87ed3b33abeefada4e66e26dc91493d25d84af9fede767760ac2c42ca09e92bb55aef4df9cd107fbff004f"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/keys/snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/keys/snapshot.json
new file mode 100644
index 0000000..facc800
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/keys/snapshot.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87",
+				"private": "cae4d90a116455883b10ea8ee025c73cc5a986a15921d66986549bad9ac12e5e9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/keys/targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/keys/targets.json
new file mode 100644
index 0000000..0b79433
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/keys/targets.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547",
+				"private": "38f3ad30d84114b02721440565eabb2592892b5e590d9ed16e4f72e820fc790927706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/keys/timestamp.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/keys/timestamp.json
new file mode 100644
index 0000000..8067080
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/keys/timestamp.json
@@ -0,0 +1,19 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "9769cb2815cb8e30aba8f184945e88e380cb37f4563b1c3eaadb0989794857b5",
+				"private": "c2414cea14377793427416293ec4a68e58a0f2ad4a7ed5ca3b6dea6ba34d68e09769cb2815cb8e30aba8f184945e88e380cb37f4563b1c3eaadb0989794857b5"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "88a47a08025a6c1684415c01fbcbc8fb12e615e4cb84f86306198372d217c50c",
+				"private": "358875743f8f499d18cb22d600d6e6aef056573fba8fa576f3f65a97dfc7fab888a47a08025a6c1684415c01fbcbc8fb12e615e4cb84f86306198372d217c50c"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/1cf4f9c2a07b0ffdccac0094eb6e2eb992f42b51e7ea56ad436434e4215ecc39512b8c5188a78d987bc116ac4d999aeaee1478ed97583ff3d43a6d9c1f017ef6.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/1cf4f9c2a07b0ffdccac0094eb6e2eb992f42b51e7ea56ad436434e4215ecc39512b8c5188a78d987bc116ac4d999aeaee1478ed97583ff3d43a6d9c1f017ef6.root.json
new file mode 100644
index 0000000..3c2c940
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/1cf4f9c2a07b0ffdccac0094eb6e2eb992f42b51e7ea56ad436434e4215ecc39512b8c5188a78d987bc116ac4d999aeaee1478ed97583ff3d43a6d9c1f017ef6.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"55dc0bf3252b95d3e870fbbd4d01ed61029241e05f1fc67ae7e65c3463351c86":{"keytype":"ed25519","keyval":{"public":"9769cb2815cb8e30aba8f184945e88e380cb37f4563b1c3eaadb0989794857b5"}},"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528":{"keytype":"ed25519","keyval":{"public":"9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"}},"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03":{"keytype":"ed25519","keyval":{"public":"6dc91493d25d84af9fede767760ac2c42ca09e92bb55aef4df9cd107fbff004f"}},"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9":{"keytype":"ed25519","keyval":{"public":"27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"}}},"roles":{"root":{"keyids":["cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03"],"threshold":1},"snapshot":{"keyids":["6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528"],"threshold":1},"targets":{"keyids":["d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9"],"threshold":1},"timestamp":{"keyids":["55dc0bf3252b95d3e870fbbd4d01ed61029241e05f1fc67ae7e65c3463351c86"],"threshold":1}},"version":4},"signatures":[{"keyid":"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03","method":"ed25519","sig":"142bd48ca97e5fbdedf7465e74e8a07a9a4fc41e98d7b722afa2fb315d8f2d620a3383ff334e9812595e5328ed7830bc35248527f65227bd2c9e243445081e07"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/7346c9cedb71f5052445bca722727c9e6a8a5b24bd3ea2f53ba1778715764f15d9a62ec3a246ce951f5a2487aaeabebaee0472f2d5fe4076abc300dd71048172.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/7346c9cedb71f5052445bca722727c9e6a8a5b24bd3ea2f53ba1778715764f15d9a62ec3a246ce951f5a2487aaeabebaee0472f2d5fe4076abc300dd71048172.root.json
new file mode 100644
index 0000000..365c919
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/7346c9cedb71f5052445bca722727c9e6a8a5b24bd3ea2f53ba1778715764f15d9a62ec3a246ce951f5a2487aaeabebaee0472f2d5fe4076abc300dd71048172.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528":{"keytype":"ed25519","keyval":{"public":"9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"}},"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03":{"keytype":"ed25519","keyval":{"public":"6dc91493d25d84af9fede767760ac2c42ca09e92bb55aef4df9cd107fbff004f"}},"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9":{"keytype":"ed25519","keyval":{"public":"27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"}},"fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111":{"keytype":"ed25519","keyval":{"public":"88a47a08025a6c1684415c01fbcbc8fb12e615e4cb84f86306198372d217c50c"}}},"roles":{"root":{"keyids":["cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03"],"threshold":1},"snapshot":{"keyids":["6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528"],"threshold":1},"targets":{"keyids":["d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9"],"threshold":1},"timestamp":{"keyids":["fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111"],"threshold":1}},"version":6},"signatures":[{"keyid":"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03","method":"ed25519","sig":"f5c6bf2239c6cb185f8dbe168c3a564b0e5644a897a7f6b07e4f901f937d160c4665b4404fd9ee3616fb63c06c5255252e4e180136e1eca7ed6e431f3eee2404"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/8a8bbd4b5c1c0485c9ed0077224492e39348121972827280436b1691a41ca2456ebefc9ca1d0a01d503b1a6f3db948e5d9b1a5826f1d63edf0ecdbdaba3bd931.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/8a8bbd4b5c1c0485c9ed0077224492e39348121972827280436b1691a41ca2456ebefc9ca1d0a01d503b1a6f3db948e5d9b1a5826f1d63edf0ecdbdaba3bd931.targets.json
new file mode 100644
index 0000000..8db3d88
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/8a8bbd4b5c1c0485c9ed0077224492e39348121972827280436b1691a41ca2456ebefc9ca1d0a01d503b1a6f3db948e5d9b1a5826f1d63edf0ecdbdaba3bd931.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9","method":"ed25519","sig":"0b38231e63489ec32ecfea8492b1e4fbdb01b81385231605cdb202df710bccdc3d92fa379cd8e58cd4769042d973901f946d44d24efc21541360b06525b6fd01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/bb4ba5a3ee92745a08044435741fd877a315fd94844e1705d630e222937c9ce2565a9ecddc756b33ded41a9ee399e9d24ac2f29b62a5444635278c38397b3e07.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/bb4ba5a3ee92745a08044435741fd877a315fd94844e1705d630e222937c9ce2565a9ecddc756b33ded41a9ee399e9d24ac2f29b62a5444635278c38397b3e07.snapshot.json
new file mode 100644
index 0000000..e16c947
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/bb4ba5a3ee92745a08044435741fd877a315fd94844e1705d630e222937c9ce2565a9ecddc756b33ded41a9ee399e9d24ac2f29b62a5444635278c38397b3e07.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1cf4f9c2a07b0ffdccac0094eb6e2eb992f42b51e7ea56ad436434e4215ecc39512b8c5188a78d987bc116ac4d999aeaee1478ed97583ff3d43a6d9c1f017ef6"},"length":1486,"version":4},"targets.json":{"hashes":{"sha512":"c0effb3000d3ddac8183c8b882a49f461a3f50e2bc0424c2f9193067e1978bc436e1727750e02a1fa3980afc027b0ce0962697db35e8820eec07d328d92bfa29"},"length":504,"version":1}},"version":1},"signatures":[{"keyid":"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528","method":"ed25519","sig":"028882162e9f7ac6920de65ee530863394c159154ce8407afdcd82dfd2e0de79e58c8f6809bd87c03a004dd55464943b275201688cfe585df024b4dc9aef390d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/bf67c9e9587250dd26e53ee2f236e6ebb823421c524d0fe7cd5bd7cdca33bd851e12d3ed20c57be4a83d2fe7c81fc8b89533df6c078ff0dcf80e069a0d251523.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/bf67c9e9587250dd26e53ee2f236e6ebb823421c524d0fe7cd5bd7cdca33bd851e12d3ed20c57be4a83d2fe7c81fc8b89533df6c078ff0dcf80e069a0d251523.snapshot.json
new file mode 100644
index 0000000..3640e51
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/bf67c9e9587250dd26e53ee2f236e6ebb823421c524d0fe7cd5bd7cdca33bd851e12d3ed20c57be4a83d2fe7c81fc8b89533df6c078ff0dcf80e069a0d251523.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"7346c9cedb71f5052445bca722727c9e6a8a5b24bd3ea2f53ba1778715764f15d9a62ec3a246ce951f5a2487aaeabebaee0472f2d5fe4076abc300dd71048172"},"length":1486,"version":6},"targets.json":{"hashes":{"sha512":"8a8bbd4b5c1c0485c9ed0077224492e39348121972827280436b1691a41ca2456ebefc9ca1d0a01d503b1a6f3db948e5d9b1a5826f1d63edf0ecdbdaba3bd931"},"length":673,"version":2}},"version":2},"signatures":[{"keyid":"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528","method":"ed25519","sig":"0601b00e624568327a6cd7ad8606da1db0b9600b585a3d113458180324a264c2742cc2f452f932930af1dad3939f51cb9cad9dcd3c933e5163feece5b91c5f03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/c0effb3000d3ddac8183c8b882a49f461a3f50e2bc0424c2f9193067e1978bc436e1727750e02a1fa3980afc027b0ce0962697db35e8820eec07d328d92bfa29.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/c0effb3000d3ddac8183c8b882a49f461a3f50e2bc0424c2f9193067e1978bc436e1727750e02a1fa3980afc027b0ce0962697db35e8820eec07d328d92bfa29.targets.json
new file mode 100644
index 0000000..8990fe0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/c0effb3000d3ddac8183c8b882a49f461a3f50e2bc0424c2f9193067e1978bc436e1727750e02a1fa3980afc027b0ce0962697db35e8820eec07d328d92bfa29.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9","method":"ed25519","sig":"7f0a626a44cfbd246192c4a15ab89090225676bdb65cf06b15525f3f717d179650c197bb3fb182a42398650f82df0c10954a109e4011549d6c963d8b5d672a00"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/root.json
new file mode 100644
index 0000000..365c919
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528":{"keytype":"ed25519","keyval":{"public":"9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"}},"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03":{"keytype":"ed25519","keyval":{"public":"6dc91493d25d84af9fede767760ac2c42ca09e92bb55aef4df9cd107fbff004f"}},"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9":{"keytype":"ed25519","keyval":{"public":"27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"}},"fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111":{"keytype":"ed25519","keyval":{"public":"88a47a08025a6c1684415c01fbcbc8fb12e615e4cb84f86306198372d217c50c"}}},"roles":{"root":{"keyids":["cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03"],"threshold":1},"snapshot":{"keyids":["6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528"],"threshold":1},"targets":{"keyids":["d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9"],"threshold":1},"timestamp":{"keyids":["fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111"],"threshold":1}},"version":6},"signatures":[{"keyid":"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03","method":"ed25519","sig":"f5c6bf2239c6cb185f8dbe168c3a564b0e5644a897a7f6b07e4f901f937d160c4665b4404fd9ee3616fb63c06c5255252e4e180136e1eca7ed6e431f3eee2404"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/snapshot.json
new file mode 100644
index 0000000..3640e51
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"7346c9cedb71f5052445bca722727c9e6a8a5b24bd3ea2f53ba1778715764f15d9a62ec3a246ce951f5a2487aaeabebaee0472f2d5fe4076abc300dd71048172"},"length":1486,"version":6},"targets.json":{"hashes":{"sha512":"8a8bbd4b5c1c0485c9ed0077224492e39348121972827280436b1691a41ca2456ebefc9ca1d0a01d503b1a6f3db948e5d9b1a5826f1d63edf0ecdbdaba3bd931"},"length":673,"version":2}},"version":2},"signatures":[{"keyid":"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528","method":"ed25519","sig":"0601b00e624568327a6cd7ad8606da1db0b9600b585a3d113458180324a264c2742cc2f452f932930af1dad3939f51cb9cad9dcd3c933e5163feece5b91c5f03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/targets.json
new file mode 100644
index 0000000..8db3d88
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9","method":"ed25519","sig":"0b38231e63489ec32ecfea8492b1e4fbdb01b81385231605cdb202df710bccdc3d92fa379cd8e58cd4769042d973901f946d44d24efc21541360b06525b6fd01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/timestamp.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/timestamp.json
new file mode 100644
index 0000000..477515f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/1/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"bf67c9e9587250dd26e53ee2f236e6ebb823421c524d0fe7cd5bd7cdca33bd851e12d3ed20c57be4a83d2fe7c81fc8b89533df6c078ff0dcf80e069a0d251523"},"length":717,"version":2}},"version":2},"signatures":[{"keyid":"fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111","method":"ed25519","sig":"8e24b5b0387dd3cd7fbe37473c8d656f1b5f42becafdabb1483d53471ff883174e4ffe1f1b188c0df02ee51ee9754dbdd0fdb6a31647968c74ac8f9c68f0760d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/keys/root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/keys/root.json
new file mode 100644
index 0000000..5b1c4af
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/keys/root.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "6dc91493d25d84af9fede767760ac2c42ca09e92bb55aef4df9cd107fbff004f",
+				"private": "cbf1c46f3ebc8c916345a6fb1cbb197270fccd8cbf87ed3b33abeefada4e66e26dc91493d25d84af9fede767760ac2c42ca09e92bb55aef4df9cd107fbff004f"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/keys/snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/keys/snapshot.json
new file mode 100644
index 0000000..facc800
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/keys/snapshot.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87",
+				"private": "cae4d90a116455883b10ea8ee025c73cc5a986a15921d66986549bad9ac12e5e9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/keys/targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/keys/targets.json
new file mode 100644
index 0000000..0b79433
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/keys/targets.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547",
+				"private": "38f3ad30d84114b02721440565eabb2592892b5e590d9ed16e4f72e820fc790927706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/keys/timestamp.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/keys/timestamp.json
new file mode 100644
index 0000000..1f641ad
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","keyval":{"public":"88a47a08025a6c1684415c01fbcbc8fb12e615e4cb84f86306198372d217c50c","private":"358875743f8f499d18cb22d600d6e6aef056573fba8fa576f3f65a97dfc7fab888a47a08025a6c1684415c01fbcbc8fb12e615e4cb84f86306198372d217c50c"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/1cf4f9c2a07b0ffdccac0094eb6e2eb992f42b51e7ea56ad436434e4215ecc39512b8c5188a78d987bc116ac4d999aeaee1478ed97583ff3d43a6d9c1f017ef6.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/1cf4f9c2a07b0ffdccac0094eb6e2eb992f42b51e7ea56ad436434e4215ecc39512b8c5188a78d987bc116ac4d999aeaee1478ed97583ff3d43a6d9c1f017ef6.root.json
new file mode 100644
index 0000000..3c2c940
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/1cf4f9c2a07b0ffdccac0094eb6e2eb992f42b51e7ea56ad436434e4215ecc39512b8c5188a78d987bc116ac4d999aeaee1478ed97583ff3d43a6d9c1f017ef6.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"55dc0bf3252b95d3e870fbbd4d01ed61029241e05f1fc67ae7e65c3463351c86":{"keytype":"ed25519","keyval":{"public":"9769cb2815cb8e30aba8f184945e88e380cb37f4563b1c3eaadb0989794857b5"}},"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528":{"keytype":"ed25519","keyval":{"public":"9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"}},"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03":{"keytype":"ed25519","keyval":{"public":"6dc91493d25d84af9fede767760ac2c42ca09e92bb55aef4df9cd107fbff004f"}},"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9":{"keytype":"ed25519","keyval":{"public":"27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"}}},"roles":{"root":{"keyids":["cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03"],"threshold":1},"snapshot":{"keyids":["6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528"],"threshold":1},"targets":{"keyids":["d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9"],"threshold":1},"timestamp":{"keyids":["55dc0bf3252b95d3e870fbbd4d01ed61029241e05f1fc67ae7e65c3463351c86"],"threshold":1}},"version":4},"signatures":[{"keyid":"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03","method":"ed25519","sig":"142bd48ca97e5fbdedf7465e74e8a07a9a4fc41e98d7b722afa2fb315d8f2d620a3383ff334e9812595e5328ed7830bc35248527f65227bd2c9e243445081e07"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/34916a2d9705c332acdceaa14f4a5a31df993e45b48c5d28095bac81272ee7577582fcd311128f4ba8da8145a7682fa9c076534e1edec1e6cb17ccd61ad77909.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/34916a2d9705c332acdceaa14f4a5a31df993e45b48c5d28095bac81272ee7577582fcd311128f4ba8da8145a7682fa9c076534e1edec1e6cb17ccd61ad77909.snapshot.json
new file mode 100644
index 0000000..5b78a65
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/34916a2d9705c332acdceaa14f4a5a31df993e45b48c5d28095bac81272ee7577582fcd311128f4ba8da8145a7682fa9c076534e1edec1e6cb17ccd61ad77909.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"7346c9cedb71f5052445bca722727c9e6a8a5b24bd3ea2f53ba1778715764f15d9a62ec3a246ce951f5a2487aaeabebaee0472f2d5fe4076abc300dd71048172"},"length":1486,"version":6},"targets.json":{"hashes":{"sha512":"a63da66b46abb195922deb3601f35c6fe3707f6485fcbd7d0956dc1bbca4654e7d7025d5ef5a4529bed8056b354d0184590c8753f40d464fd75e3ba406c5fe37"},"length":842,"version":3}},"version":3},"signatures":[{"keyid":"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528","method":"ed25519","sig":"dbbeed43b9627df6507ef36bbf6d9b5a2691736d57010752f407bbc4ad99afc9529f6febdb97289017baff333c88d10f7dd405a88c76a1d06b0a499795aec305"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/7346c9cedb71f5052445bca722727c9e6a8a5b24bd3ea2f53ba1778715764f15d9a62ec3a246ce951f5a2487aaeabebaee0472f2d5fe4076abc300dd71048172.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/7346c9cedb71f5052445bca722727c9e6a8a5b24bd3ea2f53ba1778715764f15d9a62ec3a246ce951f5a2487aaeabebaee0472f2d5fe4076abc300dd71048172.root.json
new file mode 100644
index 0000000..365c919
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/7346c9cedb71f5052445bca722727c9e6a8a5b24bd3ea2f53ba1778715764f15d9a62ec3a246ce951f5a2487aaeabebaee0472f2d5fe4076abc300dd71048172.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528":{"keytype":"ed25519","keyval":{"public":"9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"}},"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03":{"keytype":"ed25519","keyval":{"public":"6dc91493d25d84af9fede767760ac2c42ca09e92bb55aef4df9cd107fbff004f"}},"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9":{"keytype":"ed25519","keyval":{"public":"27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"}},"fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111":{"keytype":"ed25519","keyval":{"public":"88a47a08025a6c1684415c01fbcbc8fb12e615e4cb84f86306198372d217c50c"}}},"roles":{"root":{"keyids":["cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03"],"threshold":1},"snapshot":{"keyids":["6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528"],"threshold":1},"targets":{"keyids":["d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9"],"threshold":1},"timestamp":{"keyids":["fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111"],"threshold":1}},"version":6},"signatures":[{"keyid":"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03","method":"ed25519","sig":"f5c6bf2239c6cb185f8dbe168c3a564b0e5644a897a7f6b07e4f901f937d160c4665b4404fd9ee3616fb63c06c5255252e4e180136e1eca7ed6e431f3eee2404"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/8a8bbd4b5c1c0485c9ed0077224492e39348121972827280436b1691a41ca2456ebefc9ca1d0a01d503b1a6f3db948e5d9b1a5826f1d63edf0ecdbdaba3bd931.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/8a8bbd4b5c1c0485c9ed0077224492e39348121972827280436b1691a41ca2456ebefc9ca1d0a01d503b1a6f3db948e5d9b1a5826f1d63edf0ecdbdaba3bd931.targets.json
new file mode 100644
index 0000000..8db3d88
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/8a8bbd4b5c1c0485c9ed0077224492e39348121972827280436b1691a41ca2456ebefc9ca1d0a01d503b1a6f3db948e5d9b1a5826f1d63edf0ecdbdaba3bd931.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9","method":"ed25519","sig":"0b38231e63489ec32ecfea8492b1e4fbdb01b81385231605cdb202df710bccdc3d92fa379cd8e58cd4769042d973901f946d44d24efc21541360b06525b6fd01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/a63da66b46abb195922deb3601f35c6fe3707f6485fcbd7d0956dc1bbca4654e7d7025d5ef5a4529bed8056b354d0184590c8753f40d464fd75e3ba406c5fe37.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/a63da66b46abb195922deb3601f35c6fe3707f6485fcbd7d0956dc1bbca4654e7d7025d5ef5a4529bed8056b354d0184590c8753f40d464fd75e3ba406c5fe37.targets.json
new file mode 100644
index 0000000..ada58a4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/a63da66b46abb195922deb3601f35c6fe3707f6485fcbd7d0956dc1bbca4654e7d7025d5ef5a4529bed8056b354d0184590c8753f40d464fd75e3ba406c5fe37.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9","method":"ed25519","sig":"ef22fe5680a15ed7cb72dfb077c9fe6ef0dba366ac4c3cf00e9c5761011a23859e597769dab1762d2fb36e04ffd81ea83f9b5e9ad6cebc628365a6b3480c9308"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/bb4ba5a3ee92745a08044435741fd877a315fd94844e1705d630e222937c9ce2565a9ecddc756b33ded41a9ee399e9d24ac2f29b62a5444635278c38397b3e07.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/bb4ba5a3ee92745a08044435741fd877a315fd94844e1705d630e222937c9ce2565a9ecddc756b33ded41a9ee399e9d24ac2f29b62a5444635278c38397b3e07.snapshot.json
new file mode 100644
index 0000000..e16c947
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/bb4ba5a3ee92745a08044435741fd877a315fd94844e1705d630e222937c9ce2565a9ecddc756b33ded41a9ee399e9d24ac2f29b62a5444635278c38397b3e07.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1cf4f9c2a07b0ffdccac0094eb6e2eb992f42b51e7ea56ad436434e4215ecc39512b8c5188a78d987bc116ac4d999aeaee1478ed97583ff3d43a6d9c1f017ef6"},"length":1486,"version":4},"targets.json":{"hashes":{"sha512":"c0effb3000d3ddac8183c8b882a49f461a3f50e2bc0424c2f9193067e1978bc436e1727750e02a1fa3980afc027b0ce0962697db35e8820eec07d328d92bfa29"},"length":504,"version":1}},"version":1},"signatures":[{"keyid":"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528","method":"ed25519","sig":"028882162e9f7ac6920de65ee530863394c159154ce8407afdcd82dfd2e0de79e58c8f6809bd87c03a004dd55464943b275201688cfe585df024b4dc9aef390d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/bf67c9e9587250dd26e53ee2f236e6ebb823421c524d0fe7cd5bd7cdca33bd851e12d3ed20c57be4a83d2fe7c81fc8b89533df6c078ff0dcf80e069a0d251523.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/bf67c9e9587250dd26e53ee2f236e6ebb823421c524d0fe7cd5bd7cdca33bd851e12d3ed20c57be4a83d2fe7c81fc8b89533df6c078ff0dcf80e069a0d251523.snapshot.json
new file mode 100644
index 0000000..3640e51
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/bf67c9e9587250dd26e53ee2f236e6ebb823421c524d0fe7cd5bd7cdca33bd851e12d3ed20c57be4a83d2fe7c81fc8b89533df6c078ff0dcf80e069a0d251523.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"7346c9cedb71f5052445bca722727c9e6a8a5b24bd3ea2f53ba1778715764f15d9a62ec3a246ce951f5a2487aaeabebaee0472f2d5fe4076abc300dd71048172"},"length":1486,"version":6},"targets.json":{"hashes":{"sha512":"8a8bbd4b5c1c0485c9ed0077224492e39348121972827280436b1691a41ca2456ebefc9ca1d0a01d503b1a6f3db948e5d9b1a5826f1d63edf0ecdbdaba3bd931"},"length":673,"version":2}},"version":2},"signatures":[{"keyid":"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528","method":"ed25519","sig":"0601b00e624568327a6cd7ad8606da1db0b9600b585a3d113458180324a264c2742cc2f452f932930af1dad3939f51cb9cad9dcd3c933e5163feece5b91c5f03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/c0effb3000d3ddac8183c8b882a49f461a3f50e2bc0424c2f9193067e1978bc436e1727750e02a1fa3980afc027b0ce0962697db35e8820eec07d328d92bfa29.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/c0effb3000d3ddac8183c8b882a49f461a3f50e2bc0424c2f9193067e1978bc436e1727750e02a1fa3980afc027b0ce0962697db35e8820eec07d328d92bfa29.targets.json
new file mode 100644
index 0000000..8990fe0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/c0effb3000d3ddac8183c8b882a49f461a3f50e2bc0424c2f9193067e1978bc436e1727750e02a1fa3980afc027b0ce0962697db35e8820eec07d328d92bfa29.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9","method":"ed25519","sig":"7f0a626a44cfbd246192c4a15ab89090225676bdb65cf06b15525f3f717d179650c197bb3fb182a42398650f82df0c10954a109e4011549d6c963d8b5d672a00"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/root.json
new file mode 100644
index 0000000..365c919
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528":{"keytype":"ed25519","keyval":{"public":"9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"}},"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03":{"keytype":"ed25519","keyval":{"public":"6dc91493d25d84af9fede767760ac2c42ca09e92bb55aef4df9cd107fbff004f"}},"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9":{"keytype":"ed25519","keyval":{"public":"27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"}},"fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111":{"keytype":"ed25519","keyval":{"public":"88a47a08025a6c1684415c01fbcbc8fb12e615e4cb84f86306198372d217c50c"}}},"roles":{"root":{"keyids":["cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03"],"threshold":1},"snapshot":{"keyids":["6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528"],"threshold":1},"targets":{"keyids":["d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9"],"threshold":1},"timestamp":{"keyids":["fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111"],"threshold":1}},"version":6},"signatures":[{"keyid":"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03","method":"ed25519","sig":"f5c6bf2239c6cb185f8dbe168c3a564b0e5644a897a7f6b07e4f901f937d160c4665b4404fd9ee3616fb63c06c5255252e4e180136e1eca7ed6e431f3eee2404"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/snapshot.json
new file mode 100644
index 0000000..5b78a65
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"7346c9cedb71f5052445bca722727c9e6a8a5b24bd3ea2f53ba1778715764f15d9a62ec3a246ce951f5a2487aaeabebaee0472f2d5fe4076abc300dd71048172"},"length":1486,"version":6},"targets.json":{"hashes":{"sha512":"a63da66b46abb195922deb3601f35c6fe3707f6485fcbd7d0956dc1bbca4654e7d7025d5ef5a4529bed8056b354d0184590c8753f40d464fd75e3ba406c5fe37"},"length":842,"version":3}},"version":3},"signatures":[{"keyid":"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528","method":"ed25519","sig":"dbbeed43b9627df6507ef36bbf6d9b5a2691736d57010752f407bbc4ad99afc9529f6febdb97289017baff333c88d10f7dd405a88c76a1d06b0a499795aec305"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/targets.json
new file mode 100644
index 0000000..ada58a4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9","method":"ed25519","sig":"ef22fe5680a15ed7cb72dfb077c9fe6ef0dba366ac4c3cf00e9c5761011a23859e597769dab1762d2fb36e04ffd81ea83f9b5e9ad6cebc628365a6b3480c9308"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/timestamp.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/timestamp.json
new file mode 100644
index 0000000..e4913f2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/2/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"34916a2d9705c332acdceaa14f4a5a31df993e45b48c5d28095bac81272ee7577582fcd311128f4ba8da8145a7682fa9c076534e1edec1e6cb17ccd61ad77909"},"length":717,"version":3}},"version":3},"signatures":[{"keyid":"fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111","method":"ed25519","sig":"78fa11c95a5028d4fd84ea3db3cd3c3c470444ecc70f1b268ad318603235107c71a9c49c6810f527b2d8b7bddd7fca8160c498aee87ea1bbff39392e39603001"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/keys/root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/keys/root.json
new file mode 100644
index 0000000..352fb91
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/keys/root.json
@@ -0,0 +1,19 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "6dc91493d25d84af9fede767760ac2c42ca09e92bb55aef4df9cd107fbff004f",
+				"private": "cbf1c46f3ebc8c916345a6fb1cbb197270fccd8cbf87ed3b33abeefada4e66e26dc91493d25d84af9fede767760ac2c42ca09e92bb55aef4df9cd107fbff004f"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "2fdb7fc60f13b005b92a11cf2d1c2b44f739dd68ef72e9e8641710239c5d4833",
+				"private": "ac3814e83f15ff4391e17835221db510f1c98278a577f500fb7d1ac4ab60fe702fdb7fc60f13b005b92a11cf2d1c2b44f739dd68ef72e9e8641710239c5d4833"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/keys/snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/keys/snapshot.json
new file mode 100644
index 0000000..facc800
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/keys/snapshot.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87",
+				"private": "cae4d90a116455883b10ea8ee025c73cc5a986a15921d66986549bad9ac12e5e9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/keys/targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/keys/targets.json
new file mode 100644
index 0000000..0b79433
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/keys/targets.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547",
+				"private": "38f3ad30d84114b02721440565eabb2592892b5e590d9ed16e4f72e820fc790927706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/keys/timestamp.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/keys/timestamp.json
new file mode 100644
index 0000000..1f641ad
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","keyval":{"public":"88a47a08025a6c1684415c01fbcbc8fb12e615e4cb84f86306198372d217c50c","private":"358875743f8f499d18cb22d600d6e6aef056573fba8fa576f3f65a97dfc7fab888a47a08025a6c1684415c01fbcbc8fb12e615e4cb84f86306198372d217c50c"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/1cf4f9c2a07b0ffdccac0094eb6e2eb992f42b51e7ea56ad436434e4215ecc39512b8c5188a78d987bc116ac4d999aeaee1478ed97583ff3d43a6d9c1f017ef6.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/1cf4f9c2a07b0ffdccac0094eb6e2eb992f42b51e7ea56ad436434e4215ecc39512b8c5188a78d987bc116ac4d999aeaee1478ed97583ff3d43a6d9c1f017ef6.root.json
new file mode 100644
index 0000000..3c2c940
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/1cf4f9c2a07b0ffdccac0094eb6e2eb992f42b51e7ea56ad436434e4215ecc39512b8c5188a78d987bc116ac4d999aeaee1478ed97583ff3d43a6d9c1f017ef6.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"55dc0bf3252b95d3e870fbbd4d01ed61029241e05f1fc67ae7e65c3463351c86":{"keytype":"ed25519","keyval":{"public":"9769cb2815cb8e30aba8f184945e88e380cb37f4563b1c3eaadb0989794857b5"}},"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528":{"keytype":"ed25519","keyval":{"public":"9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"}},"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03":{"keytype":"ed25519","keyval":{"public":"6dc91493d25d84af9fede767760ac2c42ca09e92bb55aef4df9cd107fbff004f"}},"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9":{"keytype":"ed25519","keyval":{"public":"27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"}}},"roles":{"root":{"keyids":["cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03"],"threshold":1},"snapshot":{"keyids":["6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528"],"threshold":1},"targets":{"keyids":["d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9"],"threshold":1},"timestamp":{"keyids":["55dc0bf3252b95d3e870fbbd4d01ed61029241e05f1fc67ae7e65c3463351c86"],"threshold":1}},"version":4},"signatures":[{"keyid":"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03","method":"ed25519","sig":"142bd48ca97e5fbdedf7465e74e8a07a9a4fc41e98d7b722afa2fb315d8f2d620a3383ff334e9812595e5328ed7830bc35248527f65227bd2c9e243445081e07"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/34916a2d9705c332acdceaa14f4a5a31df993e45b48c5d28095bac81272ee7577582fcd311128f4ba8da8145a7682fa9c076534e1edec1e6cb17ccd61ad77909.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/34916a2d9705c332acdceaa14f4a5a31df993e45b48c5d28095bac81272ee7577582fcd311128f4ba8da8145a7682fa9c076534e1edec1e6cb17ccd61ad77909.snapshot.json
new file mode 100644
index 0000000..5b78a65
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/34916a2d9705c332acdceaa14f4a5a31df993e45b48c5d28095bac81272ee7577582fcd311128f4ba8da8145a7682fa9c076534e1edec1e6cb17ccd61ad77909.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"7346c9cedb71f5052445bca722727c9e6a8a5b24bd3ea2f53ba1778715764f15d9a62ec3a246ce951f5a2487aaeabebaee0472f2d5fe4076abc300dd71048172"},"length":1486,"version":6},"targets.json":{"hashes":{"sha512":"a63da66b46abb195922deb3601f35c6fe3707f6485fcbd7d0956dc1bbca4654e7d7025d5ef5a4529bed8056b354d0184590c8753f40d464fd75e3ba406c5fe37"},"length":842,"version":3}},"version":3},"signatures":[{"keyid":"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528","method":"ed25519","sig":"dbbeed43b9627df6507ef36bbf6d9b5a2691736d57010752f407bbc4ad99afc9529f6febdb97289017baff333c88d10f7dd405a88c76a1d06b0a499795aec305"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/7346c9cedb71f5052445bca722727c9e6a8a5b24bd3ea2f53ba1778715764f15d9a62ec3a246ce951f5a2487aaeabebaee0472f2d5fe4076abc300dd71048172.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/7346c9cedb71f5052445bca722727c9e6a8a5b24bd3ea2f53ba1778715764f15d9a62ec3a246ce951f5a2487aaeabebaee0472f2d5fe4076abc300dd71048172.root.json
new file mode 100644
index 0000000..365c919
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/7346c9cedb71f5052445bca722727c9e6a8a5b24bd3ea2f53ba1778715764f15d9a62ec3a246ce951f5a2487aaeabebaee0472f2d5fe4076abc300dd71048172.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528":{"keytype":"ed25519","keyval":{"public":"9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"}},"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03":{"keytype":"ed25519","keyval":{"public":"6dc91493d25d84af9fede767760ac2c42ca09e92bb55aef4df9cd107fbff004f"}},"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9":{"keytype":"ed25519","keyval":{"public":"27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"}},"fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111":{"keytype":"ed25519","keyval":{"public":"88a47a08025a6c1684415c01fbcbc8fb12e615e4cb84f86306198372d217c50c"}}},"roles":{"root":{"keyids":["cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03"],"threshold":1},"snapshot":{"keyids":["6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528"],"threshold":1},"targets":{"keyids":["d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9"],"threshold":1},"timestamp":{"keyids":["fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111"],"threshold":1}},"version":6},"signatures":[{"keyid":"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03","method":"ed25519","sig":"f5c6bf2239c6cb185f8dbe168c3a564b0e5644a897a7f6b07e4f901f937d160c4665b4404fd9ee3616fb63c06c5255252e4e180136e1eca7ed6e431f3eee2404"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/7609413cbd8ce4a9ff0e577e036864a7aa3299be22239401a617ffa7133cc6ca54233ab46d130c5e380441a282949f52c662b2c5f067c845764cdb151b2ff2d1.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/7609413cbd8ce4a9ff0e577e036864a7aa3299be22239401a617ffa7133cc6ca54233ab46d130c5e380441a282949f52c662b2c5f067c845764cdb151b2ff2d1.targets.json
new file mode 100644
index 0000000..50e7714
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/7609413cbd8ce4a9ff0e577e036864a7aa3299be22239401a617ffa7133cc6ca54233ab46d130c5e380441a282949f52c662b2c5f067c845764cdb151b2ff2d1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","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":"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9","method":"ed25519","sig":"8a7ea470115b7ff0563e46ef9502f2209698b6d3f7a54e6856ffba18e2d529acd583a9002b5c9dc3e33a0aadac8310792270aa8feef8be0697303cb1e0e1d704"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/8a8bbd4b5c1c0485c9ed0077224492e39348121972827280436b1691a41ca2456ebefc9ca1d0a01d503b1a6f3db948e5d9b1a5826f1d63edf0ecdbdaba3bd931.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/8a8bbd4b5c1c0485c9ed0077224492e39348121972827280436b1691a41ca2456ebefc9ca1d0a01d503b1a6f3db948e5d9b1a5826f1d63edf0ecdbdaba3bd931.targets.json
new file mode 100644
index 0000000..8db3d88
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/8a8bbd4b5c1c0485c9ed0077224492e39348121972827280436b1691a41ca2456ebefc9ca1d0a01d503b1a6f3db948e5d9b1a5826f1d63edf0ecdbdaba3bd931.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9","method":"ed25519","sig":"0b38231e63489ec32ecfea8492b1e4fbdb01b81385231605cdb202df710bccdc3d92fa379cd8e58cd4769042d973901f946d44d24efc21541360b06525b6fd01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/8e93446da3d38bb2b35d822d43a443045042b061f2b42189ba69b21f25652b8e22e5e4c9b9d3106b6f2b1479e1696e3f4603bc1537beb926db046b204ae12958.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/8e93446da3d38bb2b35d822d43a443045042b061f2b42189ba69b21f25652b8e22e5e4c9b9d3106b6f2b1479e1696e3f4603bc1537beb926db046b204ae12958.root.json
new file mode 100644
index 0000000..382e005
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/8e93446da3d38bb2b35d822d43a443045042b061f2b42189ba69b21f25652b8e22e5e4c9b9d3106b6f2b1479e1696e3f4603bc1537beb926db046b204ae12958.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528":{"keytype":"ed25519","keyval":{"public":"9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"}},"a810fc6c19f79c69ad5ba1c093a4c730e19a466f5b31c0681dd2a5bd04d741df":{"keytype":"ed25519","keyval":{"public":"2fdb7fc60f13b005b92a11cf2d1c2b44f739dd68ef72e9e8641710239c5d4833"}},"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9":{"keytype":"ed25519","keyval":{"public":"27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"}},"fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111":{"keytype":"ed25519","keyval":{"public":"88a47a08025a6c1684415c01fbcbc8fb12e615e4cb84f86306198372d217c50c"}}},"roles":{"root":{"keyids":["a810fc6c19f79c69ad5ba1c093a4c730e19a466f5b31c0681dd2a5bd04d741df"],"threshold":1},"snapshot":{"keyids":["6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528"],"threshold":1},"targets":{"keyids":["d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9"],"threshold":1},"timestamp":{"keyids":["fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111"],"threshold":1}},"version":8},"signatures":[{"keyid":"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03","method":"ed25519","sig":"0226a1e2ba3a9ec0c62ad3093fd0d0ba4607e2f5018a4e8399fd8551c90781c895a5035bafe51cbd839bf07c64ef795f8aff4e8223391492b9bc9f88ff56540f"},{"keyid":"a810fc6c19f79c69ad5ba1c093a4c730e19a466f5b31c0681dd2a5bd04d741df","method":"ed25519","sig":"a9314478d543ddf0ddbcf6cdde63844e7f180d0a102dcba000d62cdc640b7b6d83b8b368527d2bce89e9a57678fa0d67fd72a71005b8cb5c49ccb5525e9a6b0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/a63da66b46abb195922deb3601f35c6fe3707f6485fcbd7d0956dc1bbca4654e7d7025d5ef5a4529bed8056b354d0184590c8753f40d464fd75e3ba406c5fe37.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/a63da66b46abb195922deb3601f35c6fe3707f6485fcbd7d0956dc1bbca4654e7d7025d5ef5a4529bed8056b354d0184590c8753f40d464fd75e3ba406c5fe37.targets.json
new file mode 100644
index 0000000..ada58a4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/a63da66b46abb195922deb3601f35c6fe3707f6485fcbd7d0956dc1bbca4654e7d7025d5ef5a4529bed8056b354d0184590c8753f40d464fd75e3ba406c5fe37.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9","method":"ed25519","sig":"ef22fe5680a15ed7cb72dfb077c9fe6ef0dba366ac4c3cf00e9c5761011a23859e597769dab1762d2fb36e04ffd81ea83f9b5e9ad6cebc628365a6b3480c9308"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/bb4ba5a3ee92745a08044435741fd877a315fd94844e1705d630e222937c9ce2565a9ecddc756b33ded41a9ee399e9d24ac2f29b62a5444635278c38397b3e07.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/bb4ba5a3ee92745a08044435741fd877a315fd94844e1705d630e222937c9ce2565a9ecddc756b33ded41a9ee399e9d24ac2f29b62a5444635278c38397b3e07.snapshot.json
new file mode 100644
index 0000000..e16c947
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/bb4ba5a3ee92745a08044435741fd877a315fd94844e1705d630e222937c9ce2565a9ecddc756b33ded41a9ee399e9d24ac2f29b62a5444635278c38397b3e07.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1cf4f9c2a07b0ffdccac0094eb6e2eb992f42b51e7ea56ad436434e4215ecc39512b8c5188a78d987bc116ac4d999aeaee1478ed97583ff3d43a6d9c1f017ef6"},"length":1486,"version":4},"targets.json":{"hashes":{"sha512":"c0effb3000d3ddac8183c8b882a49f461a3f50e2bc0424c2f9193067e1978bc436e1727750e02a1fa3980afc027b0ce0962697db35e8820eec07d328d92bfa29"},"length":504,"version":1}},"version":1},"signatures":[{"keyid":"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528","method":"ed25519","sig":"028882162e9f7ac6920de65ee530863394c159154ce8407afdcd82dfd2e0de79e58c8f6809bd87c03a004dd55464943b275201688cfe585df024b4dc9aef390d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/bf67c9e9587250dd26e53ee2f236e6ebb823421c524d0fe7cd5bd7cdca33bd851e12d3ed20c57be4a83d2fe7c81fc8b89533df6c078ff0dcf80e069a0d251523.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/bf67c9e9587250dd26e53ee2f236e6ebb823421c524d0fe7cd5bd7cdca33bd851e12d3ed20c57be4a83d2fe7c81fc8b89533df6c078ff0dcf80e069a0d251523.snapshot.json
new file mode 100644
index 0000000..3640e51
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/bf67c9e9587250dd26e53ee2f236e6ebb823421c524d0fe7cd5bd7cdca33bd851e12d3ed20c57be4a83d2fe7c81fc8b89533df6c078ff0dcf80e069a0d251523.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"7346c9cedb71f5052445bca722727c9e6a8a5b24bd3ea2f53ba1778715764f15d9a62ec3a246ce951f5a2487aaeabebaee0472f2d5fe4076abc300dd71048172"},"length":1486,"version":6},"targets.json":{"hashes":{"sha512":"8a8bbd4b5c1c0485c9ed0077224492e39348121972827280436b1691a41ca2456ebefc9ca1d0a01d503b1a6f3db948e5d9b1a5826f1d63edf0ecdbdaba3bd931"},"length":673,"version":2}},"version":2},"signatures":[{"keyid":"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528","method":"ed25519","sig":"0601b00e624568327a6cd7ad8606da1db0b9600b585a3d113458180324a264c2742cc2f452f932930af1dad3939f51cb9cad9dcd3c933e5163feece5b91c5f03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/c0effb3000d3ddac8183c8b882a49f461a3f50e2bc0424c2f9193067e1978bc436e1727750e02a1fa3980afc027b0ce0962697db35e8820eec07d328d92bfa29.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/c0effb3000d3ddac8183c8b882a49f461a3f50e2bc0424c2f9193067e1978bc436e1727750e02a1fa3980afc027b0ce0962697db35e8820eec07d328d92bfa29.targets.json
new file mode 100644
index 0000000..8990fe0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/c0effb3000d3ddac8183c8b882a49f461a3f50e2bc0424c2f9193067e1978bc436e1727750e02a1fa3980afc027b0ce0962697db35e8820eec07d328d92bfa29.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9","method":"ed25519","sig":"7f0a626a44cfbd246192c4a15ab89090225676bdb65cf06b15525f3f717d179650c197bb3fb182a42398650f82df0c10954a109e4011549d6c963d8b5d672a00"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/df3c0ef0ec8bc1b59c9b925718a456b9ee66be4305a7723c2a8a78be350e50661615f4369761af8d0fd9381436a5459ab474cc39b74bcfcfbd1bc3fe9ba33035.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/df3c0ef0ec8bc1b59c9b925718a456b9ee66be4305a7723c2a8a78be350e50661615f4369761af8d0fd9381436a5459ab474cc39b74bcfcfbd1bc3fe9ba33035.snapshot.json
new file mode 100644
index 0000000..6a213ea
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/df3c0ef0ec8bc1b59c9b925718a456b9ee66be4305a7723c2a8a78be350e50661615f4369761af8d0fd9381436a5459ab474cc39b74bcfcfbd1bc3fe9ba33035.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"8e93446da3d38bb2b35d822d43a443045042b061f2b42189ba69b21f25652b8e22e5e4c9b9d3106b6f2b1479e1696e3f4603bc1537beb926db046b204ae12958"},"length":1719,"version":8},"targets.json":{"hashes":{"sha512":"7609413cbd8ce4a9ff0e577e036864a7aa3299be22239401a617ffa7133cc6ca54233ab46d130c5e380441a282949f52c662b2c5f067c845764cdb151b2ff2d1"},"length":1011,"version":4}},"version":4},"signatures":[{"keyid":"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528","method":"ed25519","sig":"8a703efdc8530233dc5c7269acce1d3aae0faef08e3a22178e101074c6bfe178738ae6de302bd6d7d7145d9608bb8d22fc2c6a1373fe07ca7b5fd8e5cf37a604"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/root.json
new file mode 100644
index 0000000..382e005
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528":{"keytype":"ed25519","keyval":{"public":"9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"}},"a810fc6c19f79c69ad5ba1c093a4c730e19a466f5b31c0681dd2a5bd04d741df":{"keytype":"ed25519","keyval":{"public":"2fdb7fc60f13b005b92a11cf2d1c2b44f739dd68ef72e9e8641710239c5d4833"}},"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9":{"keytype":"ed25519","keyval":{"public":"27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"}},"fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111":{"keytype":"ed25519","keyval":{"public":"88a47a08025a6c1684415c01fbcbc8fb12e615e4cb84f86306198372d217c50c"}}},"roles":{"root":{"keyids":["a810fc6c19f79c69ad5ba1c093a4c730e19a466f5b31c0681dd2a5bd04d741df"],"threshold":1},"snapshot":{"keyids":["6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528"],"threshold":1},"targets":{"keyids":["d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9"],"threshold":1},"timestamp":{"keyids":["fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111"],"threshold":1}},"version":8},"signatures":[{"keyid":"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03","method":"ed25519","sig":"0226a1e2ba3a9ec0c62ad3093fd0d0ba4607e2f5018a4e8399fd8551c90781c895a5035bafe51cbd839bf07c64ef795f8aff4e8223391492b9bc9f88ff56540f"},{"keyid":"a810fc6c19f79c69ad5ba1c093a4c730e19a466f5b31c0681dd2a5bd04d741df","method":"ed25519","sig":"a9314478d543ddf0ddbcf6cdde63844e7f180d0a102dcba000d62cdc640b7b6d83b8b368527d2bce89e9a57678fa0d67fd72a71005b8cb5c49ccb5525e9a6b0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/snapshot.json
new file mode 100644
index 0000000..6a213ea
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"8e93446da3d38bb2b35d822d43a443045042b061f2b42189ba69b21f25652b8e22e5e4c9b9d3106b6f2b1479e1696e3f4603bc1537beb926db046b204ae12958"},"length":1719,"version":8},"targets.json":{"hashes":{"sha512":"7609413cbd8ce4a9ff0e577e036864a7aa3299be22239401a617ffa7133cc6ca54233ab46d130c5e380441a282949f52c662b2c5f067c845764cdb151b2ff2d1"},"length":1011,"version":4}},"version":4},"signatures":[{"keyid":"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528","method":"ed25519","sig":"8a703efdc8530233dc5c7269acce1d3aae0faef08e3a22178e101074c6bfe178738ae6de302bd6d7d7145d9608bb8d22fc2c6a1373fe07ca7b5fd8e5cf37a604"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/targets.json
new file mode 100644
index 0000000..50e7714
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","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":"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9","method":"ed25519","sig":"8a7ea470115b7ff0563e46ef9502f2209698b6d3f7a54e6856ffba18e2d529acd583a9002b5c9dc3e33a0aadac8310792270aa8feef8be0697303cb1e0e1d704"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/timestamp.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/timestamp.json
new file mode 100644
index 0000000..23d879d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/3/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"df3c0ef0ec8bc1b59c9b925718a456b9ee66be4305a7723c2a8a78be350e50661615f4369761af8d0fd9381436a5459ab474cc39b74bcfcfbd1bc3fe9ba33035"},"length":718,"version":4}},"version":4},"signatures":[{"keyid":"fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111","method":"ed25519","sig":"aa6a049a8f01a088868044db8f4af71006322b11a65074af421bece223fdaf81250b2b10dfc55f4e5ea60440d7e145b5eeb7602d76927a54b94aefe423737a0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/keys/root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/keys/root.json
new file mode 100644
index 0000000..2d94c83
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/keys/root.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","keyval":{"public":"2fdb7fc60f13b005b92a11cf2d1c2b44f739dd68ef72e9e8641710239c5d4833","private":"ac3814e83f15ff4391e17835221db510f1c98278a577f500fb7d1ac4ab60fe702fdb7fc60f13b005b92a11cf2d1c2b44f739dd68ef72e9e8641710239c5d4833"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/keys/snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/keys/snapshot.json
new file mode 100644
index 0000000..2cd7fed
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/keys/snapshot.json
@@ -0,0 +1,19 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87",
+				"private": "cae4d90a116455883b10ea8ee025c73cc5a986a15921d66986549bad9ac12e5e9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "a5367fc3f447b18794225bf7343a768a9bdf257880d24af7f4a2eb1b2239d1d5",
+				"private": "4ddb0f9b97b2a67a9af71fe6d8bc9576262c2a76b68336ca98e99ffdd1a4039ba5367fc3f447b18794225bf7343a768a9bdf257880d24af7f4a2eb1b2239d1d5"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/keys/targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/keys/targets.json
new file mode 100644
index 0000000..0b79433
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/keys/targets.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547",
+				"private": "38f3ad30d84114b02721440565eabb2592892b5e590d9ed16e4f72e820fc790927706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/keys/timestamp.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/keys/timestamp.json
new file mode 100644
index 0000000..1f641ad
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","keyval":{"public":"88a47a08025a6c1684415c01fbcbc8fb12e615e4cb84f86306198372d217c50c","private":"358875743f8f499d18cb22d600d6e6aef056573fba8fa576f3f65a97dfc7fab888a47a08025a6c1684415c01fbcbc8fb12e615e4cb84f86306198372d217c50c"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/0347e8986c72c2369c6a33685bd5cba89f446205ab3fab2a457cb6533ced07a90e283f2ef048d5db31f340590eaf60bc7eb101f1f3fafea1e2f8d4022f8043f0.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/0347e8986c72c2369c6a33685bd5cba89f446205ab3fab2a457cb6533ced07a90e283f2ef048d5db31f340590eaf60bc7eb101f1f3fafea1e2f8d4022f8043f0.snapshot.json
new file mode 100644
index 0000000..e8cef7c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/0347e8986c72c2369c6a33685bd5cba89f446205ab3fab2a457cb6533ced07a90e283f2ef048d5db31f340590eaf60bc7eb101f1f3fafea1e2f8d4022f8043f0.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"a2b0e9c09977e0c4b37e5bf07d1a1ba5443bad7059d26e6736a4e5b1b43cefa356625f24bfb5fb8ed4955b7b3866993e9cb5a434b5b2cde2cb8169c694618b7b"},"length":1487,"version":10},"targets.json":{"hashes":{"sha512":"3f281ec548fe746dd7ce1395050ed4153be9727f2d650f3bb02328e78b25d2d51f069b1c9fb848f87698403c94cf40f45191c84bba465cc874e2813df19b5acf"},"length":1180,"version":5}},"version":5},"signatures":[{"keyid":"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528","method":"ed25519","sig":"102e464b0df637e9cbf28621c1e84d3c6a8eb8cf3dfe5ecd6252f2112adad22f45296b6588504ed87128f1f1d88718f6c3438e838795c07e85134feee5e51c06"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/1cf4f9c2a07b0ffdccac0094eb6e2eb992f42b51e7ea56ad436434e4215ecc39512b8c5188a78d987bc116ac4d999aeaee1478ed97583ff3d43a6d9c1f017ef6.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/1cf4f9c2a07b0ffdccac0094eb6e2eb992f42b51e7ea56ad436434e4215ecc39512b8c5188a78d987bc116ac4d999aeaee1478ed97583ff3d43a6d9c1f017ef6.root.json
new file mode 100644
index 0000000..3c2c940
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/1cf4f9c2a07b0ffdccac0094eb6e2eb992f42b51e7ea56ad436434e4215ecc39512b8c5188a78d987bc116ac4d999aeaee1478ed97583ff3d43a6d9c1f017ef6.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"55dc0bf3252b95d3e870fbbd4d01ed61029241e05f1fc67ae7e65c3463351c86":{"keytype":"ed25519","keyval":{"public":"9769cb2815cb8e30aba8f184945e88e380cb37f4563b1c3eaadb0989794857b5"}},"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528":{"keytype":"ed25519","keyval":{"public":"9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"}},"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03":{"keytype":"ed25519","keyval":{"public":"6dc91493d25d84af9fede767760ac2c42ca09e92bb55aef4df9cd107fbff004f"}},"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9":{"keytype":"ed25519","keyval":{"public":"27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"}}},"roles":{"root":{"keyids":["cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03"],"threshold":1},"snapshot":{"keyids":["6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528"],"threshold":1},"targets":{"keyids":["d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9"],"threshold":1},"timestamp":{"keyids":["55dc0bf3252b95d3e870fbbd4d01ed61029241e05f1fc67ae7e65c3463351c86"],"threshold":1}},"version":4},"signatures":[{"keyid":"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03","method":"ed25519","sig":"142bd48ca97e5fbdedf7465e74e8a07a9a4fc41e98d7b722afa2fb315d8f2d620a3383ff334e9812595e5328ed7830bc35248527f65227bd2c9e243445081e07"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/34916a2d9705c332acdceaa14f4a5a31df993e45b48c5d28095bac81272ee7577582fcd311128f4ba8da8145a7682fa9c076534e1edec1e6cb17ccd61ad77909.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/34916a2d9705c332acdceaa14f4a5a31df993e45b48c5d28095bac81272ee7577582fcd311128f4ba8da8145a7682fa9c076534e1edec1e6cb17ccd61ad77909.snapshot.json
new file mode 100644
index 0000000..5b78a65
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/34916a2d9705c332acdceaa14f4a5a31df993e45b48c5d28095bac81272ee7577582fcd311128f4ba8da8145a7682fa9c076534e1edec1e6cb17ccd61ad77909.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"7346c9cedb71f5052445bca722727c9e6a8a5b24bd3ea2f53ba1778715764f15d9a62ec3a246ce951f5a2487aaeabebaee0472f2d5fe4076abc300dd71048172"},"length":1486,"version":6},"targets.json":{"hashes":{"sha512":"a63da66b46abb195922deb3601f35c6fe3707f6485fcbd7d0956dc1bbca4654e7d7025d5ef5a4529bed8056b354d0184590c8753f40d464fd75e3ba406c5fe37"},"length":842,"version":3}},"version":3},"signatures":[{"keyid":"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528","method":"ed25519","sig":"dbbeed43b9627df6507ef36bbf6d9b5a2691736d57010752f407bbc4ad99afc9529f6febdb97289017baff333c88d10f7dd405a88c76a1d06b0a499795aec305"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/3f281ec548fe746dd7ce1395050ed4153be9727f2d650f3bb02328e78b25d2d51f069b1c9fb848f87698403c94cf40f45191c84bba465cc874e2813df19b5acf.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/3f281ec548fe746dd7ce1395050ed4153be9727f2d650f3bb02328e78b25d2d51f069b1c9fb848f87698403c94cf40f45191c84bba465cc874e2813df19b5acf.targets.json
new file mode 100644
index 0000000..838f274
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/3f281ec548fe746dd7ce1395050ed4153be9727f2d650f3bb02328e78b25d2d51f069b1c9fb848f87698403c94cf40f45191c84bba465cc874e2813df19b5acf.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","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":"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9","method":"ed25519","sig":"486c8a2e90d91fb89fe2add5b905d492e60c4eb731c1bc92315f7f5673690e03f862a7fb92822d54332d04d2854ec9cba60449d6107504235b25018cdc1c4e0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/7346c9cedb71f5052445bca722727c9e6a8a5b24bd3ea2f53ba1778715764f15d9a62ec3a246ce951f5a2487aaeabebaee0472f2d5fe4076abc300dd71048172.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/7346c9cedb71f5052445bca722727c9e6a8a5b24bd3ea2f53ba1778715764f15d9a62ec3a246ce951f5a2487aaeabebaee0472f2d5fe4076abc300dd71048172.root.json
new file mode 100644
index 0000000..365c919
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/7346c9cedb71f5052445bca722727c9e6a8a5b24bd3ea2f53ba1778715764f15d9a62ec3a246ce951f5a2487aaeabebaee0472f2d5fe4076abc300dd71048172.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528":{"keytype":"ed25519","keyval":{"public":"9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"}},"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03":{"keytype":"ed25519","keyval":{"public":"6dc91493d25d84af9fede767760ac2c42ca09e92bb55aef4df9cd107fbff004f"}},"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9":{"keytype":"ed25519","keyval":{"public":"27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"}},"fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111":{"keytype":"ed25519","keyval":{"public":"88a47a08025a6c1684415c01fbcbc8fb12e615e4cb84f86306198372d217c50c"}}},"roles":{"root":{"keyids":["cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03"],"threshold":1},"snapshot":{"keyids":["6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528"],"threshold":1},"targets":{"keyids":["d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9"],"threshold":1},"timestamp":{"keyids":["fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111"],"threshold":1}},"version":6},"signatures":[{"keyid":"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03","method":"ed25519","sig":"f5c6bf2239c6cb185f8dbe168c3a564b0e5644a897a7f6b07e4f901f937d160c4665b4404fd9ee3616fb63c06c5255252e4e180136e1eca7ed6e431f3eee2404"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/7609413cbd8ce4a9ff0e577e036864a7aa3299be22239401a617ffa7133cc6ca54233ab46d130c5e380441a282949f52c662b2c5f067c845764cdb151b2ff2d1.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/7609413cbd8ce4a9ff0e577e036864a7aa3299be22239401a617ffa7133cc6ca54233ab46d130c5e380441a282949f52c662b2c5f067c845764cdb151b2ff2d1.targets.json
new file mode 100644
index 0000000..50e7714
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/7609413cbd8ce4a9ff0e577e036864a7aa3299be22239401a617ffa7133cc6ca54233ab46d130c5e380441a282949f52c662b2c5f067c845764cdb151b2ff2d1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","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":"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9","method":"ed25519","sig":"8a7ea470115b7ff0563e46ef9502f2209698b6d3f7a54e6856ffba18e2d529acd583a9002b5c9dc3e33a0aadac8310792270aa8feef8be0697303cb1e0e1d704"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/8a8bbd4b5c1c0485c9ed0077224492e39348121972827280436b1691a41ca2456ebefc9ca1d0a01d503b1a6f3db948e5d9b1a5826f1d63edf0ecdbdaba3bd931.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/8a8bbd4b5c1c0485c9ed0077224492e39348121972827280436b1691a41ca2456ebefc9ca1d0a01d503b1a6f3db948e5d9b1a5826f1d63edf0ecdbdaba3bd931.targets.json
new file mode 100644
index 0000000..8db3d88
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/8a8bbd4b5c1c0485c9ed0077224492e39348121972827280436b1691a41ca2456ebefc9ca1d0a01d503b1a6f3db948e5d9b1a5826f1d63edf0ecdbdaba3bd931.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9","method":"ed25519","sig":"0b38231e63489ec32ecfea8492b1e4fbdb01b81385231605cdb202df710bccdc3d92fa379cd8e58cd4769042d973901f946d44d24efc21541360b06525b6fd01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/8e93446da3d38bb2b35d822d43a443045042b061f2b42189ba69b21f25652b8e22e5e4c9b9d3106b6f2b1479e1696e3f4603bc1537beb926db046b204ae12958.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/8e93446da3d38bb2b35d822d43a443045042b061f2b42189ba69b21f25652b8e22e5e4c9b9d3106b6f2b1479e1696e3f4603bc1537beb926db046b204ae12958.root.json
new file mode 100644
index 0000000..382e005
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/8e93446da3d38bb2b35d822d43a443045042b061f2b42189ba69b21f25652b8e22e5e4c9b9d3106b6f2b1479e1696e3f4603bc1537beb926db046b204ae12958.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528":{"keytype":"ed25519","keyval":{"public":"9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"}},"a810fc6c19f79c69ad5ba1c093a4c730e19a466f5b31c0681dd2a5bd04d741df":{"keytype":"ed25519","keyval":{"public":"2fdb7fc60f13b005b92a11cf2d1c2b44f739dd68ef72e9e8641710239c5d4833"}},"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9":{"keytype":"ed25519","keyval":{"public":"27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"}},"fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111":{"keytype":"ed25519","keyval":{"public":"88a47a08025a6c1684415c01fbcbc8fb12e615e4cb84f86306198372d217c50c"}}},"roles":{"root":{"keyids":["a810fc6c19f79c69ad5ba1c093a4c730e19a466f5b31c0681dd2a5bd04d741df"],"threshold":1},"snapshot":{"keyids":["6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528"],"threshold":1},"targets":{"keyids":["d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9"],"threshold":1},"timestamp":{"keyids":["fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111"],"threshold":1}},"version":8},"signatures":[{"keyid":"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03","method":"ed25519","sig":"0226a1e2ba3a9ec0c62ad3093fd0d0ba4607e2f5018a4e8399fd8551c90781c895a5035bafe51cbd839bf07c64ef795f8aff4e8223391492b9bc9f88ff56540f"},{"keyid":"a810fc6c19f79c69ad5ba1c093a4c730e19a466f5b31c0681dd2a5bd04d741df","method":"ed25519","sig":"a9314478d543ddf0ddbcf6cdde63844e7f180d0a102dcba000d62cdc640b7b6d83b8b368527d2bce89e9a57678fa0d67fd72a71005b8cb5c49ccb5525e9a6b0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/a2b0e9c09977e0c4b37e5bf07d1a1ba5443bad7059d26e6736a4e5b1b43cefa356625f24bfb5fb8ed4955b7b3866993e9cb5a434b5b2cde2cb8169c694618b7b.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/a2b0e9c09977e0c4b37e5bf07d1a1ba5443bad7059d26e6736a4e5b1b43cefa356625f24bfb5fb8ed4955b7b3866993e9cb5a434b5b2cde2cb8169c694618b7b.root.json
new file mode 100644
index 0000000..f286216
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/a2b0e9c09977e0c4b37e5bf07d1a1ba5443bad7059d26e6736a4e5b1b43cefa356625f24bfb5fb8ed4955b7b3866993e9cb5a434b5b2cde2cb8169c694618b7b.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528":{"keytype":"ed25519","keyval":{"public":"9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"}},"a810fc6c19f79c69ad5ba1c093a4c730e19a466f5b31c0681dd2a5bd04d741df":{"keytype":"ed25519","keyval":{"public":"2fdb7fc60f13b005b92a11cf2d1c2b44f739dd68ef72e9e8641710239c5d4833"}},"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9":{"keytype":"ed25519","keyval":{"public":"27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"}},"fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111":{"keytype":"ed25519","keyval":{"public":"88a47a08025a6c1684415c01fbcbc8fb12e615e4cb84f86306198372d217c50c"}}},"roles":{"root":{"keyids":["a810fc6c19f79c69ad5ba1c093a4c730e19a466f5b31c0681dd2a5bd04d741df"],"threshold":1},"snapshot":{"keyids":["6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528"],"threshold":1},"targets":{"keyids":["d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9"],"threshold":1},"timestamp":{"keyids":["fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111"],"threshold":1}},"version":10},"signatures":[{"keyid":"a810fc6c19f79c69ad5ba1c093a4c730e19a466f5b31c0681dd2a5bd04d741df","method":"ed25519","sig":"b8235381d1969923c41855dbc42c1d1996d7e42fd360281492bb944dc2bd35d0cced2e3ab1a1acae9b632e2eb93a4496fe4d18e5e1a367350a176ba5302b3a08"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/a63da66b46abb195922deb3601f35c6fe3707f6485fcbd7d0956dc1bbca4654e7d7025d5ef5a4529bed8056b354d0184590c8753f40d464fd75e3ba406c5fe37.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/a63da66b46abb195922deb3601f35c6fe3707f6485fcbd7d0956dc1bbca4654e7d7025d5ef5a4529bed8056b354d0184590c8753f40d464fd75e3ba406c5fe37.targets.json
new file mode 100644
index 0000000..ada58a4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/a63da66b46abb195922deb3601f35c6fe3707f6485fcbd7d0956dc1bbca4654e7d7025d5ef5a4529bed8056b354d0184590c8753f40d464fd75e3ba406c5fe37.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9","method":"ed25519","sig":"ef22fe5680a15ed7cb72dfb077c9fe6ef0dba366ac4c3cf00e9c5761011a23859e597769dab1762d2fb36e04ffd81ea83f9b5e9ad6cebc628365a6b3480c9308"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/bb4ba5a3ee92745a08044435741fd877a315fd94844e1705d630e222937c9ce2565a9ecddc756b33ded41a9ee399e9d24ac2f29b62a5444635278c38397b3e07.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/bb4ba5a3ee92745a08044435741fd877a315fd94844e1705d630e222937c9ce2565a9ecddc756b33ded41a9ee399e9d24ac2f29b62a5444635278c38397b3e07.snapshot.json
new file mode 100644
index 0000000..e16c947
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/bb4ba5a3ee92745a08044435741fd877a315fd94844e1705d630e222937c9ce2565a9ecddc756b33ded41a9ee399e9d24ac2f29b62a5444635278c38397b3e07.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1cf4f9c2a07b0ffdccac0094eb6e2eb992f42b51e7ea56ad436434e4215ecc39512b8c5188a78d987bc116ac4d999aeaee1478ed97583ff3d43a6d9c1f017ef6"},"length":1486,"version":4},"targets.json":{"hashes":{"sha512":"c0effb3000d3ddac8183c8b882a49f461a3f50e2bc0424c2f9193067e1978bc436e1727750e02a1fa3980afc027b0ce0962697db35e8820eec07d328d92bfa29"},"length":504,"version":1}},"version":1},"signatures":[{"keyid":"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528","method":"ed25519","sig":"028882162e9f7ac6920de65ee530863394c159154ce8407afdcd82dfd2e0de79e58c8f6809bd87c03a004dd55464943b275201688cfe585df024b4dc9aef390d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/bf67c9e9587250dd26e53ee2f236e6ebb823421c524d0fe7cd5bd7cdca33bd851e12d3ed20c57be4a83d2fe7c81fc8b89533df6c078ff0dcf80e069a0d251523.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/bf67c9e9587250dd26e53ee2f236e6ebb823421c524d0fe7cd5bd7cdca33bd851e12d3ed20c57be4a83d2fe7c81fc8b89533df6c078ff0dcf80e069a0d251523.snapshot.json
new file mode 100644
index 0000000..3640e51
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/bf67c9e9587250dd26e53ee2f236e6ebb823421c524d0fe7cd5bd7cdca33bd851e12d3ed20c57be4a83d2fe7c81fc8b89533df6c078ff0dcf80e069a0d251523.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"7346c9cedb71f5052445bca722727c9e6a8a5b24bd3ea2f53ba1778715764f15d9a62ec3a246ce951f5a2487aaeabebaee0472f2d5fe4076abc300dd71048172"},"length":1486,"version":6},"targets.json":{"hashes":{"sha512":"8a8bbd4b5c1c0485c9ed0077224492e39348121972827280436b1691a41ca2456ebefc9ca1d0a01d503b1a6f3db948e5d9b1a5826f1d63edf0ecdbdaba3bd931"},"length":673,"version":2}},"version":2},"signatures":[{"keyid":"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528","method":"ed25519","sig":"0601b00e624568327a6cd7ad8606da1db0b9600b585a3d113458180324a264c2742cc2f452f932930af1dad3939f51cb9cad9dcd3c933e5163feece5b91c5f03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/c0effb3000d3ddac8183c8b882a49f461a3f50e2bc0424c2f9193067e1978bc436e1727750e02a1fa3980afc027b0ce0962697db35e8820eec07d328d92bfa29.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/c0effb3000d3ddac8183c8b882a49f461a3f50e2bc0424c2f9193067e1978bc436e1727750e02a1fa3980afc027b0ce0962697db35e8820eec07d328d92bfa29.targets.json
new file mode 100644
index 0000000..8990fe0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/c0effb3000d3ddac8183c8b882a49f461a3f50e2bc0424c2f9193067e1978bc436e1727750e02a1fa3980afc027b0ce0962697db35e8820eec07d328d92bfa29.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9","method":"ed25519","sig":"7f0a626a44cfbd246192c4a15ab89090225676bdb65cf06b15525f3f717d179650c197bb3fb182a42398650f82df0c10954a109e4011549d6c963d8b5d672a00"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/df3c0ef0ec8bc1b59c9b925718a456b9ee66be4305a7723c2a8a78be350e50661615f4369761af8d0fd9381436a5459ab474cc39b74bcfcfbd1bc3fe9ba33035.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/df3c0ef0ec8bc1b59c9b925718a456b9ee66be4305a7723c2a8a78be350e50661615f4369761af8d0fd9381436a5459ab474cc39b74bcfcfbd1bc3fe9ba33035.snapshot.json
new file mode 100644
index 0000000..6a213ea
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/df3c0ef0ec8bc1b59c9b925718a456b9ee66be4305a7723c2a8a78be350e50661615f4369761af8d0fd9381436a5459ab474cc39b74bcfcfbd1bc3fe9ba33035.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"8e93446da3d38bb2b35d822d43a443045042b061f2b42189ba69b21f25652b8e22e5e4c9b9d3106b6f2b1479e1696e3f4603bc1537beb926db046b204ae12958"},"length":1719,"version":8},"targets.json":{"hashes":{"sha512":"7609413cbd8ce4a9ff0e577e036864a7aa3299be22239401a617ffa7133cc6ca54233ab46d130c5e380441a282949f52c662b2c5f067c845764cdb151b2ff2d1"},"length":1011,"version":4}},"version":4},"signatures":[{"keyid":"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528","method":"ed25519","sig":"8a703efdc8530233dc5c7269acce1d3aae0faef08e3a22178e101074c6bfe178738ae6de302bd6d7d7145d9608bb8d22fc2c6a1373fe07ca7b5fd8e5cf37a604"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/root.json
new file mode 100644
index 0000000..f286216
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528":{"keytype":"ed25519","keyval":{"public":"9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"}},"a810fc6c19f79c69ad5ba1c093a4c730e19a466f5b31c0681dd2a5bd04d741df":{"keytype":"ed25519","keyval":{"public":"2fdb7fc60f13b005b92a11cf2d1c2b44f739dd68ef72e9e8641710239c5d4833"}},"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9":{"keytype":"ed25519","keyval":{"public":"27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"}},"fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111":{"keytype":"ed25519","keyval":{"public":"88a47a08025a6c1684415c01fbcbc8fb12e615e4cb84f86306198372d217c50c"}}},"roles":{"root":{"keyids":["a810fc6c19f79c69ad5ba1c093a4c730e19a466f5b31c0681dd2a5bd04d741df"],"threshold":1},"snapshot":{"keyids":["6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528"],"threshold":1},"targets":{"keyids":["d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9"],"threshold":1},"timestamp":{"keyids":["fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111"],"threshold":1}},"version":10},"signatures":[{"keyid":"a810fc6c19f79c69ad5ba1c093a4c730e19a466f5b31c0681dd2a5bd04d741df","method":"ed25519","sig":"b8235381d1969923c41855dbc42c1d1996d7e42fd360281492bb944dc2bd35d0cced2e3ab1a1acae9b632e2eb93a4496fe4d18e5e1a367350a176ba5302b3a08"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/snapshot.json
new file mode 100644
index 0000000..e8cef7c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"a2b0e9c09977e0c4b37e5bf07d1a1ba5443bad7059d26e6736a4e5b1b43cefa356625f24bfb5fb8ed4955b7b3866993e9cb5a434b5b2cde2cb8169c694618b7b"},"length":1487,"version":10},"targets.json":{"hashes":{"sha512":"3f281ec548fe746dd7ce1395050ed4153be9727f2d650f3bb02328e78b25d2d51f069b1c9fb848f87698403c94cf40f45191c84bba465cc874e2813df19b5acf"},"length":1180,"version":5}},"version":5},"signatures":[{"keyid":"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528","method":"ed25519","sig":"102e464b0df637e9cbf28621c1e84d3c6a8eb8cf3dfe5ecd6252f2112adad22f45296b6588504ed87128f1f1d88718f6c3438e838795c07e85134feee5e51c06"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/targets.json
new file mode 100644
index 0000000..838f274
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","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":"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9","method":"ed25519","sig":"486c8a2e90d91fb89fe2add5b905d492e60c4eb731c1bc92315f7f5673690e03f862a7fb92822d54332d04d2854ec9cba60449d6107504235b25018cdc1c4e0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/timestamp.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/timestamp.json
new file mode 100644
index 0000000..fbdd3cb
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/4/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"0347e8986c72c2369c6a33685bd5cba89f446205ab3fab2a457cb6533ced07a90e283f2ef048d5db31f340590eaf60bc7eb101f1f3fafea1e2f8d4022f8043f0"},"length":719,"version":5}},"version":5},"signatures":[{"keyid":"fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111","method":"ed25519","sig":"dec5d4247ec49b8ac12f7428fd64348c34598293d555a9568521baada4812ce2a2be01ac237ec4d5e435ea614345796d4863afaef1d41fd43637aa89f0e6e407"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/keys/root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/keys/root.json
new file mode 100644
index 0000000..2d94c83
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/keys/root.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","keyval":{"public":"2fdb7fc60f13b005b92a11cf2d1c2b44f739dd68ef72e9e8641710239c5d4833","private":"ac3814e83f15ff4391e17835221db510f1c98278a577f500fb7d1ac4ab60fe702fdb7fc60f13b005b92a11cf2d1c2b44f739dd68ef72e9e8641710239c5d4833"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/keys/snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/keys/snapshot.json
new file mode 100644
index 0000000..2cd7fed
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/keys/snapshot.json
@@ -0,0 +1,19 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87",
+				"private": "cae4d90a116455883b10ea8ee025c73cc5a986a15921d66986549bad9ac12e5e9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "a5367fc3f447b18794225bf7343a768a9bdf257880d24af7f4a2eb1b2239d1d5",
+				"private": "4ddb0f9b97b2a67a9af71fe6d8bc9576262c2a76b68336ca98e99ffdd1a4039ba5367fc3f447b18794225bf7343a768a9bdf257880d24af7f4a2eb1b2239d1d5"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/keys/targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/keys/targets.json
new file mode 100644
index 0000000..0b79433
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/keys/targets.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547",
+				"private": "38f3ad30d84114b02721440565eabb2592892b5e590d9ed16e4f72e820fc790927706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/keys/timestamp.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/keys/timestamp.json
new file mode 100644
index 0000000..1f641ad
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","keyval":{"public":"88a47a08025a6c1684415c01fbcbc8fb12e615e4cb84f86306198372d217c50c","private":"358875743f8f499d18cb22d600d6e6aef056573fba8fa576f3f65a97dfc7fab888a47a08025a6c1684415c01fbcbc8fb12e615e4cb84f86306198372d217c50c"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/0338cd54c0a7b6bc4b291100eae0939e124a1e5de7eccf31d91a516411029f59b7959db9a30a67d4dfc3d45461c1dc521dccb898538c8f8d090cba91e116e562.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/0338cd54c0a7b6bc4b291100eae0939e124a1e5de7eccf31d91a516411029f59b7959db9a30a67d4dfc3d45461c1dc521dccb898538c8f8d090cba91e116e562.snapshot.json
new file mode 100644
index 0000000..29c5b15
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/0338cd54c0a7b6bc4b291100eae0939e124a1e5de7eccf31d91a516411029f59b7959db9a30a67d4dfc3d45461c1dc521dccb898538c8f8d090cba91e116e562.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"a2b0e9c09977e0c4b37e5bf07d1a1ba5443bad7059d26e6736a4e5b1b43cefa356625f24bfb5fb8ed4955b7b3866993e9cb5a434b5b2cde2cb8169c694618b7b"},"length":1487,"version":10},"targets.json":{"hashes":{"sha512":"32683b6c926ce773082a054af2ce7547c6594c7b026e6247f93a1d37353edf40012e591c8f17ac9b6163c1a34d63d424ec739a4acb42c41cea74cbb44684165a"},"length":1349,"version":6}},"version":6},"signatures":[{"keyid":"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528","method":"ed25519","sig":"fdd7ed074e6f81f72499005102d417e242b13770949add86e510428b2d2794e7c466dd845520f969e516bd0d494256108b3c958ac3bdc319a64da6061735390e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/0347e8986c72c2369c6a33685bd5cba89f446205ab3fab2a457cb6533ced07a90e283f2ef048d5db31f340590eaf60bc7eb101f1f3fafea1e2f8d4022f8043f0.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/0347e8986c72c2369c6a33685bd5cba89f446205ab3fab2a457cb6533ced07a90e283f2ef048d5db31f340590eaf60bc7eb101f1f3fafea1e2f8d4022f8043f0.snapshot.json
new file mode 100644
index 0000000..e8cef7c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/0347e8986c72c2369c6a33685bd5cba89f446205ab3fab2a457cb6533ced07a90e283f2ef048d5db31f340590eaf60bc7eb101f1f3fafea1e2f8d4022f8043f0.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"a2b0e9c09977e0c4b37e5bf07d1a1ba5443bad7059d26e6736a4e5b1b43cefa356625f24bfb5fb8ed4955b7b3866993e9cb5a434b5b2cde2cb8169c694618b7b"},"length":1487,"version":10},"targets.json":{"hashes":{"sha512":"3f281ec548fe746dd7ce1395050ed4153be9727f2d650f3bb02328e78b25d2d51f069b1c9fb848f87698403c94cf40f45191c84bba465cc874e2813df19b5acf"},"length":1180,"version":5}},"version":5},"signatures":[{"keyid":"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528","method":"ed25519","sig":"102e464b0df637e9cbf28621c1e84d3c6a8eb8cf3dfe5ecd6252f2112adad22f45296b6588504ed87128f1f1d88718f6c3438e838795c07e85134feee5e51c06"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/1cf4f9c2a07b0ffdccac0094eb6e2eb992f42b51e7ea56ad436434e4215ecc39512b8c5188a78d987bc116ac4d999aeaee1478ed97583ff3d43a6d9c1f017ef6.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/1cf4f9c2a07b0ffdccac0094eb6e2eb992f42b51e7ea56ad436434e4215ecc39512b8c5188a78d987bc116ac4d999aeaee1478ed97583ff3d43a6d9c1f017ef6.root.json
new file mode 100644
index 0000000..3c2c940
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/1cf4f9c2a07b0ffdccac0094eb6e2eb992f42b51e7ea56ad436434e4215ecc39512b8c5188a78d987bc116ac4d999aeaee1478ed97583ff3d43a6d9c1f017ef6.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"55dc0bf3252b95d3e870fbbd4d01ed61029241e05f1fc67ae7e65c3463351c86":{"keytype":"ed25519","keyval":{"public":"9769cb2815cb8e30aba8f184945e88e380cb37f4563b1c3eaadb0989794857b5"}},"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528":{"keytype":"ed25519","keyval":{"public":"9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"}},"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03":{"keytype":"ed25519","keyval":{"public":"6dc91493d25d84af9fede767760ac2c42ca09e92bb55aef4df9cd107fbff004f"}},"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9":{"keytype":"ed25519","keyval":{"public":"27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"}}},"roles":{"root":{"keyids":["cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03"],"threshold":1},"snapshot":{"keyids":["6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528"],"threshold":1},"targets":{"keyids":["d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9"],"threshold":1},"timestamp":{"keyids":["55dc0bf3252b95d3e870fbbd4d01ed61029241e05f1fc67ae7e65c3463351c86"],"threshold":1}},"version":4},"signatures":[{"keyid":"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03","method":"ed25519","sig":"142bd48ca97e5fbdedf7465e74e8a07a9a4fc41e98d7b722afa2fb315d8f2d620a3383ff334e9812595e5328ed7830bc35248527f65227bd2c9e243445081e07"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/32683b6c926ce773082a054af2ce7547c6594c7b026e6247f93a1d37353edf40012e591c8f17ac9b6163c1a34d63d424ec739a4acb42c41cea74cbb44684165a.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/32683b6c926ce773082a054af2ce7547c6594c7b026e6247f93a1d37353edf40012e591c8f17ac9b6163c1a34d63d424ec739a4acb42c41cea74cbb44684165a.targets.json
new file mode 100644
index 0000000..9843928
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/32683b6c926ce773082a054af2ce7547c6594c7b026e6247f93a1d37353edf40012e591c8f17ac9b6163c1a34d63d424ec739a4acb42c41cea74cbb44684165a.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","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":"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9","method":"ed25519","sig":"f850a2e6aa3a3bb0c5104044801da04198e1b5aab677aff4cbc6471928f4b426ca644f14d24aa862a1d4ee9b8ba210227ea77580ddcd95477afa17ea4247aa03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/34916a2d9705c332acdceaa14f4a5a31df993e45b48c5d28095bac81272ee7577582fcd311128f4ba8da8145a7682fa9c076534e1edec1e6cb17ccd61ad77909.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/34916a2d9705c332acdceaa14f4a5a31df993e45b48c5d28095bac81272ee7577582fcd311128f4ba8da8145a7682fa9c076534e1edec1e6cb17ccd61ad77909.snapshot.json
new file mode 100644
index 0000000..5b78a65
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/34916a2d9705c332acdceaa14f4a5a31df993e45b48c5d28095bac81272ee7577582fcd311128f4ba8da8145a7682fa9c076534e1edec1e6cb17ccd61ad77909.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"7346c9cedb71f5052445bca722727c9e6a8a5b24bd3ea2f53ba1778715764f15d9a62ec3a246ce951f5a2487aaeabebaee0472f2d5fe4076abc300dd71048172"},"length":1486,"version":6},"targets.json":{"hashes":{"sha512":"a63da66b46abb195922deb3601f35c6fe3707f6485fcbd7d0956dc1bbca4654e7d7025d5ef5a4529bed8056b354d0184590c8753f40d464fd75e3ba406c5fe37"},"length":842,"version":3}},"version":3},"signatures":[{"keyid":"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528","method":"ed25519","sig":"dbbeed43b9627df6507ef36bbf6d9b5a2691736d57010752f407bbc4ad99afc9529f6febdb97289017baff333c88d10f7dd405a88c76a1d06b0a499795aec305"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/3f281ec548fe746dd7ce1395050ed4153be9727f2d650f3bb02328e78b25d2d51f069b1c9fb848f87698403c94cf40f45191c84bba465cc874e2813df19b5acf.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/3f281ec548fe746dd7ce1395050ed4153be9727f2d650f3bb02328e78b25d2d51f069b1c9fb848f87698403c94cf40f45191c84bba465cc874e2813df19b5acf.targets.json
new file mode 100644
index 0000000..838f274
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/3f281ec548fe746dd7ce1395050ed4153be9727f2d650f3bb02328e78b25d2d51f069b1c9fb848f87698403c94cf40f45191c84bba465cc874e2813df19b5acf.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","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":"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9","method":"ed25519","sig":"486c8a2e90d91fb89fe2add5b905d492e60c4eb731c1bc92315f7f5673690e03f862a7fb92822d54332d04d2854ec9cba60449d6107504235b25018cdc1c4e0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/7346c9cedb71f5052445bca722727c9e6a8a5b24bd3ea2f53ba1778715764f15d9a62ec3a246ce951f5a2487aaeabebaee0472f2d5fe4076abc300dd71048172.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/7346c9cedb71f5052445bca722727c9e6a8a5b24bd3ea2f53ba1778715764f15d9a62ec3a246ce951f5a2487aaeabebaee0472f2d5fe4076abc300dd71048172.root.json
new file mode 100644
index 0000000..365c919
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/7346c9cedb71f5052445bca722727c9e6a8a5b24bd3ea2f53ba1778715764f15d9a62ec3a246ce951f5a2487aaeabebaee0472f2d5fe4076abc300dd71048172.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528":{"keytype":"ed25519","keyval":{"public":"9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"}},"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03":{"keytype":"ed25519","keyval":{"public":"6dc91493d25d84af9fede767760ac2c42ca09e92bb55aef4df9cd107fbff004f"}},"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9":{"keytype":"ed25519","keyval":{"public":"27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"}},"fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111":{"keytype":"ed25519","keyval":{"public":"88a47a08025a6c1684415c01fbcbc8fb12e615e4cb84f86306198372d217c50c"}}},"roles":{"root":{"keyids":["cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03"],"threshold":1},"snapshot":{"keyids":["6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528"],"threshold":1},"targets":{"keyids":["d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9"],"threshold":1},"timestamp":{"keyids":["fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111"],"threshold":1}},"version":6},"signatures":[{"keyid":"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03","method":"ed25519","sig":"f5c6bf2239c6cb185f8dbe168c3a564b0e5644a897a7f6b07e4f901f937d160c4665b4404fd9ee3616fb63c06c5255252e4e180136e1eca7ed6e431f3eee2404"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/7609413cbd8ce4a9ff0e577e036864a7aa3299be22239401a617ffa7133cc6ca54233ab46d130c5e380441a282949f52c662b2c5f067c845764cdb151b2ff2d1.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/7609413cbd8ce4a9ff0e577e036864a7aa3299be22239401a617ffa7133cc6ca54233ab46d130c5e380441a282949f52c662b2c5f067c845764cdb151b2ff2d1.targets.json
new file mode 100644
index 0000000..50e7714
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/7609413cbd8ce4a9ff0e577e036864a7aa3299be22239401a617ffa7133cc6ca54233ab46d130c5e380441a282949f52c662b2c5f067c845764cdb151b2ff2d1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","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":"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9","method":"ed25519","sig":"8a7ea470115b7ff0563e46ef9502f2209698b6d3f7a54e6856ffba18e2d529acd583a9002b5c9dc3e33a0aadac8310792270aa8feef8be0697303cb1e0e1d704"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/8a8bbd4b5c1c0485c9ed0077224492e39348121972827280436b1691a41ca2456ebefc9ca1d0a01d503b1a6f3db948e5d9b1a5826f1d63edf0ecdbdaba3bd931.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/8a8bbd4b5c1c0485c9ed0077224492e39348121972827280436b1691a41ca2456ebefc9ca1d0a01d503b1a6f3db948e5d9b1a5826f1d63edf0ecdbdaba3bd931.targets.json
new file mode 100644
index 0000000..8db3d88
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/8a8bbd4b5c1c0485c9ed0077224492e39348121972827280436b1691a41ca2456ebefc9ca1d0a01d503b1a6f3db948e5d9b1a5826f1d63edf0ecdbdaba3bd931.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9","method":"ed25519","sig":"0b38231e63489ec32ecfea8492b1e4fbdb01b81385231605cdb202df710bccdc3d92fa379cd8e58cd4769042d973901f946d44d24efc21541360b06525b6fd01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/8e93446da3d38bb2b35d822d43a443045042b061f2b42189ba69b21f25652b8e22e5e4c9b9d3106b6f2b1479e1696e3f4603bc1537beb926db046b204ae12958.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/8e93446da3d38bb2b35d822d43a443045042b061f2b42189ba69b21f25652b8e22e5e4c9b9d3106b6f2b1479e1696e3f4603bc1537beb926db046b204ae12958.root.json
new file mode 100644
index 0000000..382e005
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/8e93446da3d38bb2b35d822d43a443045042b061f2b42189ba69b21f25652b8e22e5e4c9b9d3106b6f2b1479e1696e3f4603bc1537beb926db046b204ae12958.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528":{"keytype":"ed25519","keyval":{"public":"9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"}},"a810fc6c19f79c69ad5ba1c093a4c730e19a466f5b31c0681dd2a5bd04d741df":{"keytype":"ed25519","keyval":{"public":"2fdb7fc60f13b005b92a11cf2d1c2b44f739dd68ef72e9e8641710239c5d4833"}},"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9":{"keytype":"ed25519","keyval":{"public":"27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"}},"fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111":{"keytype":"ed25519","keyval":{"public":"88a47a08025a6c1684415c01fbcbc8fb12e615e4cb84f86306198372d217c50c"}}},"roles":{"root":{"keyids":["a810fc6c19f79c69ad5ba1c093a4c730e19a466f5b31c0681dd2a5bd04d741df"],"threshold":1},"snapshot":{"keyids":["6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528"],"threshold":1},"targets":{"keyids":["d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9"],"threshold":1},"timestamp":{"keyids":["fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111"],"threshold":1}},"version":8},"signatures":[{"keyid":"cff08a92d81581627c49c0a61e53030f3c19c6d4f660d52c4bb9e514b606ec03","method":"ed25519","sig":"0226a1e2ba3a9ec0c62ad3093fd0d0ba4607e2f5018a4e8399fd8551c90781c895a5035bafe51cbd839bf07c64ef795f8aff4e8223391492b9bc9f88ff56540f"},{"keyid":"a810fc6c19f79c69ad5ba1c093a4c730e19a466f5b31c0681dd2a5bd04d741df","method":"ed25519","sig":"a9314478d543ddf0ddbcf6cdde63844e7f180d0a102dcba000d62cdc640b7b6d83b8b368527d2bce89e9a57678fa0d67fd72a71005b8cb5c49ccb5525e9a6b0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/a2b0e9c09977e0c4b37e5bf07d1a1ba5443bad7059d26e6736a4e5b1b43cefa356625f24bfb5fb8ed4955b7b3866993e9cb5a434b5b2cde2cb8169c694618b7b.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/a2b0e9c09977e0c4b37e5bf07d1a1ba5443bad7059d26e6736a4e5b1b43cefa356625f24bfb5fb8ed4955b7b3866993e9cb5a434b5b2cde2cb8169c694618b7b.root.json
new file mode 100644
index 0000000..f286216
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/a2b0e9c09977e0c4b37e5bf07d1a1ba5443bad7059d26e6736a4e5b1b43cefa356625f24bfb5fb8ed4955b7b3866993e9cb5a434b5b2cde2cb8169c694618b7b.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528":{"keytype":"ed25519","keyval":{"public":"9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"}},"a810fc6c19f79c69ad5ba1c093a4c730e19a466f5b31c0681dd2a5bd04d741df":{"keytype":"ed25519","keyval":{"public":"2fdb7fc60f13b005b92a11cf2d1c2b44f739dd68ef72e9e8641710239c5d4833"}},"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9":{"keytype":"ed25519","keyval":{"public":"27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"}},"fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111":{"keytype":"ed25519","keyval":{"public":"88a47a08025a6c1684415c01fbcbc8fb12e615e4cb84f86306198372d217c50c"}}},"roles":{"root":{"keyids":["a810fc6c19f79c69ad5ba1c093a4c730e19a466f5b31c0681dd2a5bd04d741df"],"threshold":1},"snapshot":{"keyids":["6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528"],"threshold":1},"targets":{"keyids":["d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9"],"threshold":1},"timestamp":{"keyids":["fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111"],"threshold":1}},"version":10},"signatures":[{"keyid":"a810fc6c19f79c69ad5ba1c093a4c730e19a466f5b31c0681dd2a5bd04d741df","method":"ed25519","sig":"b8235381d1969923c41855dbc42c1d1996d7e42fd360281492bb944dc2bd35d0cced2e3ab1a1acae9b632e2eb93a4496fe4d18e5e1a367350a176ba5302b3a08"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/a63da66b46abb195922deb3601f35c6fe3707f6485fcbd7d0956dc1bbca4654e7d7025d5ef5a4529bed8056b354d0184590c8753f40d464fd75e3ba406c5fe37.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/a63da66b46abb195922deb3601f35c6fe3707f6485fcbd7d0956dc1bbca4654e7d7025d5ef5a4529bed8056b354d0184590c8753f40d464fd75e3ba406c5fe37.targets.json
new file mode 100644
index 0000000..ada58a4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/a63da66b46abb195922deb3601f35c6fe3707f6485fcbd7d0956dc1bbca4654e7d7025d5ef5a4529bed8056b354d0184590c8753f40d464fd75e3ba406c5fe37.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9","method":"ed25519","sig":"ef22fe5680a15ed7cb72dfb077c9fe6ef0dba366ac4c3cf00e9c5761011a23859e597769dab1762d2fb36e04ffd81ea83f9b5e9ad6cebc628365a6b3480c9308"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/bb4ba5a3ee92745a08044435741fd877a315fd94844e1705d630e222937c9ce2565a9ecddc756b33ded41a9ee399e9d24ac2f29b62a5444635278c38397b3e07.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/bb4ba5a3ee92745a08044435741fd877a315fd94844e1705d630e222937c9ce2565a9ecddc756b33ded41a9ee399e9d24ac2f29b62a5444635278c38397b3e07.snapshot.json
new file mode 100644
index 0000000..e16c947
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/bb4ba5a3ee92745a08044435741fd877a315fd94844e1705d630e222937c9ce2565a9ecddc756b33ded41a9ee399e9d24ac2f29b62a5444635278c38397b3e07.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1cf4f9c2a07b0ffdccac0094eb6e2eb992f42b51e7ea56ad436434e4215ecc39512b8c5188a78d987bc116ac4d999aeaee1478ed97583ff3d43a6d9c1f017ef6"},"length":1486,"version":4},"targets.json":{"hashes":{"sha512":"c0effb3000d3ddac8183c8b882a49f461a3f50e2bc0424c2f9193067e1978bc436e1727750e02a1fa3980afc027b0ce0962697db35e8820eec07d328d92bfa29"},"length":504,"version":1}},"version":1},"signatures":[{"keyid":"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528","method":"ed25519","sig":"028882162e9f7ac6920de65ee530863394c159154ce8407afdcd82dfd2e0de79e58c8f6809bd87c03a004dd55464943b275201688cfe585df024b4dc9aef390d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/bf67c9e9587250dd26e53ee2f236e6ebb823421c524d0fe7cd5bd7cdca33bd851e12d3ed20c57be4a83d2fe7c81fc8b89533df6c078ff0dcf80e069a0d251523.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/bf67c9e9587250dd26e53ee2f236e6ebb823421c524d0fe7cd5bd7cdca33bd851e12d3ed20c57be4a83d2fe7c81fc8b89533df6c078ff0dcf80e069a0d251523.snapshot.json
new file mode 100644
index 0000000..3640e51
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/bf67c9e9587250dd26e53ee2f236e6ebb823421c524d0fe7cd5bd7cdca33bd851e12d3ed20c57be4a83d2fe7c81fc8b89533df6c078ff0dcf80e069a0d251523.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"7346c9cedb71f5052445bca722727c9e6a8a5b24bd3ea2f53ba1778715764f15d9a62ec3a246ce951f5a2487aaeabebaee0472f2d5fe4076abc300dd71048172"},"length":1486,"version":6},"targets.json":{"hashes":{"sha512":"8a8bbd4b5c1c0485c9ed0077224492e39348121972827280436b1691a41ca2456ebefc9ca1d0a01d503b1a6f3db948e5d9b1a5826f1d63edf0ecdbdaba3bd931"},"length":673,"version":2}},"version":2},"signatures":[{"keyid":"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528","method":"ed25519","sig":"0601b00e624568327a6cd7ad8606da1db0b9600b585a3d113458180324a264c2742cc2f452f932930af1dad3939f51cb9cad9dcd3c933e5163feece5b91c5f03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/c0effb3000d3ddac8183c8b882a49f461a3f50e2bc0424c2f9193067e1978bc436e1727750e02a1fa3980afc027b0ce0962697db35e8820eec07d328d92bfa29.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/c0effb3000d3ddac8183c8b882a49f461a3f50e2bc0424c2f9193067e1978bc436e1727750e02a1fa3980afc027b0ce0962697db35e8820eec07d328d92bfa29.targets.json
new file mode 100644
index 0000000..8990fe0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/c0effb3000d3ddac8183c8b882a49f461a3f50e2bc0424c2f9193067e1978bc436e1727750e02a1fa3980afc027b0ce0962697db35e8820eec07d328d92bfa29.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9","method":"ed25519","sig":"7f0a626a44cfbd246192c4a15ab89090225676bdb65cf06b15525f3f717d179650c197bb3fb182a42398650f82df0c10954a109e4011549d6c963d8b5d672a00"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/df3c0ef0ec8bc1b59c9b925718a456b9ee66be4305a7723c2a8a78be350e50661615f4369761af8d0fd9381436a5459ab474cc39b74bcfcfbd1bc3fe9ba33035.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/df3c0ef0ec8bc1b59c9b925718a456b9ee66be4305a7723c2a8a78be350e50661615f4369761af8d0fd9381436a5459ab474cc39b74bcfcfbd1bc3fe9ba33035.snapshot.json
new file mode 100644
index 0000000..6a213ea
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/df3c0ef0ec8bc1b59c9b925718a456b9ee66be4305a7723c2a8a78be350e50661615f4369761af8d0fd9381436a5459ab474cc39b74bcfcfbd1bc3fe9ba33035.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"8e93446da3d38bb2b35d822d43a443045042b061f2b42189ba69b21f25652b8e22e5e4c9b9d3106b6f2b1479e1696e3f4603bc1537beb926db046b204ae12958"},"length":1719,"version":8},"targets.json":{"hashes":{"sha512":"7609413cbd8ce4a9ff0e577e036864a7aa3299be22239401a617ffa7133cc6ca54233ab46d130c5e380441a282949f52c662b2c5f067c845764cdb151b2ff2d1"},"length":1011,"version":4}},"version":4},"signatures":[{"keyid":"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528","method":"ed25519","sig":"8a703efdc8530233dc5c7269acce1d3aae0faef08e3a22178e101074c6bfe178738ae6de302bd6d7d7145d9608bb8d22fc2c6a1373fe07ca7b5fd8e5cf37a604"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/root.json
new file mode 100644
index 0000000..f286216
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528":{"keytype":"ed25519","keyval":{"public":"9515c8967ac7794bff508cb400c64aa4248c3743bddc92caa20795f3f7725a87"}},"a810fc6c19f79c69ad5ba1c093a4c730e19a466f5b31c0681dd2a5bd04d741df":{"keytype":"ed25519","keyval":{"public":"2fdb7fc60f13b005b92a11cf2d1c2b44f739dd68ef72e9e8641710239c5d4833"}},"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9":{"keytype":"ed25519","keyval":{"public":"27706315f57da16eae3cace17fac0652c05b44680f2db1d0bd4e4b97789fa547"}},"fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111":{"keytype":"ed25519","keyval":{"public":"88a47a08025a6c1684415c01fbcbc8fb12e615e4cb84f86306198372d217c50c"}}},"roles":{"root":{"keyids":["a810fc6c19f79c69ad5ba1c093a4c730e19a466f5b31c0681dd2a5bd04d741df"],"threshold":1},"snapshot":{"keyids":["6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528"],"threshold":1},"targets":{"keyids":["d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9"],"threshold":1},"timestamp":{"keyids":["fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111"],"threshold":1}},"version":10},"signatures":[{"keyid":"a810fc6c19f79c69ad5ba1c093a4c730e19a466f5b31c0681dd2a5bd04d741df","method":"ed25519","sig":"b8235381d1969923c41855dbc42c1d1996d7e42fd360281492bb944dc2bd35d0cced2e3ab1a1acae9b632e2eb93a4496fe4d18e5e1a367350a176ba5302b3a08"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/snapshot.json
new file mode 100644
index 0000000..29c5b15
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"a2b0e9c09977e0c4b37e5bf07d1a1ba5443bad7059d26e6736a4e5b1b43cefa356625f24bfb5fb8ed4955b7b3866993e9cb5a434b5b2cde2cb8169c694618b7b"},"length":1487,"version":10},"targets.json":{"hashes":{"sha512":"32683b6c926ce773082a054af2ce7547c6594c7b026e6247f93a1d37353edf40012e591c8f17ac9b6163c1a34d63d424ec739a4acb42c41cea74cbb44684165a"},"length":1349,"version":6}},"version":6},"signatures":[{"keyid":"6ef0d39879667b7c0e80041ad94775e3d9f99ae9aaaaecacff8973b7acea3528","method":"ed25519","sig":"fdd7ed074e6f81f72499005102d417e242b13770949add86e510428b2d2794e7c466dd845520f969e516bd0d494256108b3c958ac3bdc319a64da6061735390e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/targets.json
new file mode 100644
index 0000000..9843928
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","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":"d780f6260bd555bf6ce5b3bf729337b584c58bbb0cd122f49b1fcbbcf49d4fd9","method":"ed25519","sig":"f850a2e6aa3a3bb0c5104044801da04198e1b5aab677aff4cbc6471928f4b426ca644f14d24aa862a1d4ee9b8ba210227ea77580ddcd95477afa17ea4247aa03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5
new file mode 100644
index 0000000..7813681
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5
@@ -0,0 +1 @@
+5
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/timestamp.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/timestamp.json
new file mode 100644
index 0000000..3c1daae
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-false/5/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"0338cd54c0a7b6bc4b291100eae0939e124a1e5de7eccf31d91a516411029f59b7959db9a30a67d4dfc3d45461c1dc521dccb898538c8f8d090cba91e116e562"},"length":719,"version":6}},"version":6},"signatures":[{"keyid":"fc5ed20ba359e863b9a6cd5f01d191c80a6be53bdbdd5c362950b54d4f409111","method":"ed25519","sig":"8d5c9d62e9ad7dc9a2359228895a0c1a3a24ade38b202c177501342787b10905a3b3961601227693f0d32b57c34142d3e943a09d6295ea37c5937fc1deae780e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/keys/root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/keys/root.json
new file mode 100644
index 0000000..299cf28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/keys/root.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "2cb8f268eecc8b71b24b46b76591814988f9a36f7d612fa15570356dfe6c8c03",
+				"private": "78c404e5d81e52eb181b7cdcc37830197a2de728b8bc41ea09b85948dbdcefdf2cb8f268eecc8b71b24b46b76591814988f9a36f7d612fa15570356dfe6c8c03"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/keys/snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/keys/snapshot.json
new file mode 100644
index 0000000..252ba0d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/keys/snapshot.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1",
+				"private": "7cf8ce9926296ce5197f6881902761a4419f0f2e77126b4b7cb1ab5de1964282e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/keys/targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/keys/targets.json
new file mode 100644
index 0000000..1ab2bfc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/keys/targets.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702",
+				"private": "a6064d1baae4eacfef2110f7bb0e5763e82e93fe1c8077fe48d3d8643c0f10aff2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/keys/timestamp.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/keys/timestamp.json
new file mode 100644
index 0000000..43c0c57
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/keys/timestamp.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "80eccc5cfdc99ab297a74a3ca0a782529778988d917f74a3a9078e7a7738617e",
+				"private": "f0cf587877561b72b686cebd80d34f4232c4aa8f77ec30d1da9d3185aacb71ab80eccc5cfdc99ab297a74a3ca0a782529778988d917f74a3a9078e7a7738617e"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/repository/12a410a308200d55fa7b8a4606d3714a84e4a967cbd98bca0e8495dd374082f8ee8587081b617c3a5fc56036f470ac3d48182e913a333297d4a86ebe4407c804.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/repository/12a410a308200d55fa7b8a4606d3714a84e4a967cbd98bca0e8495dd374082f8ee8587081b617c3a5fc56036f470ac3d48182e913a333297d4a86ebe4407c804.targets.json
new file mode 100644
index 0000000..5edf184
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/repository/12a410a308200d55fa7b8a4606d3714a84e4a967cbd98bca0e8495dd374082f8ee8587081b617c3a5fc56036f470ac3d48182e913a333297d4a86ebe4407c804.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3","method":"ed25519","sig":"e71b71e48ef910aacc8aa54f032491ef6f098dc7c934a50409b44a9f84b5776ba0aabfae20468b49d624d1fd417ed413c896545fcf92b7c8676a5a627012d305"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/repository/55a29e2e24a6862c1a7a556c3749cf7e9d9d005aea55561e4109bb4e0a501a381a9862f4afdfc044c63f4586012684a7330cea8bc22950df50dbdadd56d8099b.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/repository/55a29e2e24a6862c1a7a556c3749cf7e9d9d005aea55561e4109bb4e0a501a381a9862f4afdfc044c63f4586012684a7330cea8bc22950df50dbdadd56d8099b.snapshot.json
new file mode 100644
index 0000000..11c5302
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/repository/55a29e2e24a6862c1a7a556c3749cf7e9d9d005aea55561e4109bb4e0a501a381a9862f4afdfc044c63f4586012684a7330cea8bc22950df50dbdadd56d8099b.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"f031988b8d6e21a01142a1fcee1d9d0096119cdc86ad61462bfc57a50a7ee5e865802832c2a3704908f65a1fc95a318a57ec928ad5bea6565b7c30faa74da85b"},"length":1486,"version":4},"targets.json":{"hashes":{"sha512":"12a410a308200d55fa7b8a4606d3714a84e4a967cbd98bca0e8495dd374082f8ee8587081b617c3a5fc56036f470ac3d48182e913a333297d4a86ebe4407c804"},"length":504,"version":1}},"version":1},"signatures":[{"keyid":"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69","method":"ed25519","sig":"8907e2b8b402769bfd281a2c74840da71fe1056e533cf0737923e2b81b48e06f1ffb44f71a0e0d8742638c6f92326c599c544713e5838ac571091bb3632bd609"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/repository/f031988b8d6e21a01142a1fcee1d9d0096119cdc86ad61462bfc57a50a7ee5e865802832c2a3704908f65a1fc95a318a57ec928ad5bea6565b7c30faa74da85b.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/repository/f031988b8d6e21a01142a1fcee1d9d0096119cdc86ad61462bfc57a50a7ee5e865802832c2a3704908f65a1fc95a318a57ec928ad5bea6565b7c30faa74da85b.root.json
new file mode 100644
index 0000000..b295df4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/repository/f031988b8d6e21a01142a1fcee1d9d0096119cdc86ad61462bfc57a50a7ee5e865802832c2a3704908f65a1fc95a318a57ec928ad5bea6565b7c30faa74da85b.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69":{"keytype":"ed25519","keyval":{"public":"e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"}},"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a":{"keytype":"ed25519","keyval":{"public":"2cb8f268eecc8b71b24b46b76591814988f9a36f7d612fa15570356dfe6c8c03"}},"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3":{"keytype":"ed25519","keyval":{"public":"f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"}},"a80e1f2f8295ca1d7ea2e9f49aa5cabf8c4f24f6b7cec9dc79f0ed9c01fb13bc":{"keytype":"ed25519","keyval":{"public":"80eccc5cfdc99ab297a74a3ca0a782529778988d917f74a3a9078e7a7738617e"}}},"roles":{"root":{"keyids":["4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a"],"threshold":1},"snapshot":{"keyids":["033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69"],"threshold":1},"targets":{"keyids":["509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3"],"threshold":1},"timestamp":{"keyids":["a80e1f2f8295ca1d7ea2e9f49aa5cabf8c4f24f6b7cec9dc79f0ed9c01fb13bc"],"threshold":1}},"version":4},"signatures":[{"keyid":"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a","method":"ed25519","sig":"c1f117bf9a1cf7051fe863b7369a405c85ce9969c6c687d3625158ba870705e45ec0118493f762a51e30aaab7397ec4fca0ff560be6e4b444a497645711ff40b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/repository/root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/repository/root.json
new file mode 100644
index 0000000..b295df4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69":{"keytype":"ed25519","keyval":{"public":"e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"}},"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a":{"keytype":"ed25519","keyval":{"public":"2cb8f268eecc8b71b24b46b76591814988f9a36f7d612fa15570356dfe6c8c03"}},"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3":{"keytype":"ed25519","keyval":{"public":"f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"}},"a80e1f2f8295ca1d7ea2e9f49aa5cabf8c4f24f6b7cec9dc79f0ed9c01fb13bc":{"keytype":"ed25519","keyval":{"public":"80eccc5cfdc99ab297a74a3ca0a782529778988d917f74a3a9078e7a7738617e"}}},"roles":{"root":{"keyids":["4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a"],"threshold":1},"snapshot":{"keyids":["033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69"],"threshold":1},"targets":{"keyids":["509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3"],"threshold":1},"timestamp":{"keyids":["a80e1f2f8295ca1d7ea2e9f49aa5cabf8c4f24f6b7cec9dc79f0ed9c01fb13bc"],"threshold":1}},"version":4},"signatures":[{"keyid":"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a","method":"ed25519","sig":"c1f117bf9a1cf7051fe863b7369a405c85ce9969c6c687d3625158ba870705e45ec0118493f762a51e30aaab7397ec4fca0ff560be6e4b444a497645711ff40b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/repository/snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/repository/snapshot.json
new file mode 100644
index 0000000..11c5302
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"f031988b8d6e21a01142a1fcee1d9d0096119cdc86ad61462bfc57a50a7ee5e865802832c2a3704908f65a1fc95a318a57ec928ad5bea6565b7c30faa74da85b"},"length":1486,"version":4},"targets.json":{"hashes":{"sha512":"12a410a308200d55fa7b8a4606d3714a84e4a967cbd98bca0e8495dd374082f8ee8587081b617c3a5fc56036f470ac3d48182e913a333297d4a86ebe4407c804"},"length":504,"version":1}},"version":1},"signatures":[{"keyid":"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69","method":"ed25519","sig":"8907e2b8b402769bfd281a2c74840da71fe1056e533cf0737923e2b81b48e06f1ffb44f71a0e0d8742638c6f92326c599c544713e5838ac571091bb3632bd609"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/repository/targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/repository/targets.json
new file mode 100644
index 0000000..5edf184
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3","method":"ed25519","sig":"e71b71e48ef910aacc8aa54f032491ef6f098dc7c934a50409b44a9f84b5776ba0aabfae20468b49d624d1fd417ed413c896545fcf92b7c8676a5a627012d305"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/repository/timestamp.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/repository/timestamp.json
new file mode 100644
index 0000000..4562402
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/0/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"55a29e2e24a6862c1a7a556c3749cf7e9d9d005aea55561e4109bb4e0a501a381a9862f4afdfc044c63f4586012684a7330cea8bc22950df50dbdadd56d8099b"},"length":717,"version":1}},"version":1},"signatures":[{"keyid":"a80e1f2f8295ca1d7ea2e9f49aa5cabf8c4f24f6b7cec9dc79f0ed9c01fb13bc","method":"ed25519","sig":"ce13687048be4b2996ac582610bfab5562c69169b04131a3e1220b3573830f5f93e317a5755df845819ea84628e02fa17b439c4a92e2f7718dc9a85e52089709"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/keys/root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/keys/root.json
new file mode 100644
index 0000000..299cf28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/keys/root.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "2cb8f268eecc8b71b24b46b76591814988f9a36f7d612fa15570356dfe6c8c03",
+				"private": "78c404e5d81e52eb181b7cdcc37830197a2de728b8bc41ea09b85948dbdcefdf2cb8f268eecc8b71b24b46b76591814988f9a36f7d612fa15570356dfe6c8c03"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/keys/snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/keys/snapshot.json
new file mode 100644
index 0000000..252ba0d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/keys/snapshot.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1",
+				"private": "7cf8ce9926296ce5197f6881902761a4419f0f2e77126b4b7cb1ab5de1964282e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/keys/targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/keys/targets.json
new file mode 100644
index 0000000..1ab2bfc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/keys/targets.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702",
+				"private": "a6064d1baae4eacfef2110f7bb0e5763e82e93fe1c8077fe48d3d8643c0f10aff2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/keys/timestamp.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/keys/timestamp.json
new file mode 100644
index 0000000..075617d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/keys/timestamp.json
@@ -0,0 +1,19 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "80eccc5cfdc99ab297a74a3ca0a782529778988d917f74a3a9078e7a7738617e",
+				"private": "f0cf587877561b72b686cebd80d34f4232c4aa8f77ec30d1da9d3185aacb71ab80eccc5cfdc99ab297a74a3ca0a782529778988d917f74a3a9078e7a7738617e"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "750a38ecc1d14ea877bc24bfc419f5bc4ce493e2023f97dee9c94dc6fdebccf8",
+				"private": "1c02eae47042d2b898a4efd1537e48144044871a46fc9d35c72af728f0428a41750a38ecc1d14ea877bc24bfc419f5bc4ce493e2023f97dee9c94dc6fdebccf8"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/12a410a308200d55fa7b8a4606d3714a84e4a967cbd98bca0e8495dd374082f8ee8587081b617c3a5fc56036f470ac3d48182e913a333297d4a86ebe4407c804.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/12a410a308200d55fa7b8a4606d3714a84e4a967cbd98bca0e8495dd374082f8ee8587081b617c3a5fc56036f470ac3d48182e913a333297d4a86ebe4407c804.targets.json
new file mode 100644
index 0000000..5edf184
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/12a410a308200d55fa7b8a4606d3714a84e4a967cbd98bca0e8495dd374082f8ee8587081b617c3a5fc56036f470ac3d48182e913a333297d4a86ebe4407c804.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3","method":"ed25519","sig":"e71b71e48ef910aacc8aa54f032491ef6f098dc7c934a50409b44a9f84b5776ba0aabfae20468b49d624d1fd417ed413c896545fcf92b7c8676a5a627012d305"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/3c60756e31091ca73ccf75908b514a370056577f80d1955d694626c74f371fc6d5d4eb6beab49ae78e8d548848d534ff1aa25f77c21b9f87316d8d2aa11bcfa3.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/3c60756e31091ca73ccf75908b514a370056577f80d1955d694626c74f371fc6d5d4eb6beab49ae78e8d548848d534ff1aa25f77c21b9f87316d8d2aa11bcfa3.targets.json
new file mode 100644
index 0000000..e60948f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/3c60756e31091ca73ccf75908b514a370056577f80d1955d694626c74f371fc6d5d4eb6beab49ae78e8d548848d534ff1aa25f77c21b9f87316d8d2aa11bcfa3.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3","method":"ed25519","sig":"a8363d9786650e5af6d135ec4afeb7b35b0c912725b64cc83e69a61e795d4e4a931e0ec27ba8d7f5878571731f21afd47dce61491c07382b5301c23db59bd005"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/55a29e2e24a6862c1a7a556c3749cf7e9d9d005aea55561e4109bb4e0a501a381a9862f4afdfc044c63f4586012684a7330cea8bc22950df50dbdadd56d8099b.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/55a29e2e24a6862c1a7a556c3749cf7e9d9d005aea55561e4109bb4e0a501a381a9862f4afdfc044c63f4586012684a7330cea8bc22950df50dbdadd56d8099b.snapshot.json
new file mode 100644
index 0000000..11c5302
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/55a29e2e24a6862c1a7a556c3749cf7e9d9d005aea55561e4109bb4e0a501a381a9862f4afdfc044c63f4586012684a7330cea8bc22950df50dbdadd56d8099b.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"f031988b8d6e21a01142a1fcee1d9d0096119cdc86ad61462bfc57a50a7ee5e865802832c2a3704908f65a1fc95a318a57ec928ad5bea6565b7c30faa74da85b"},"length":1486,"version":4},"targets.json":{"hashes":{"sha512":"12a410a308200d55fa7b8a4606d3714a84e4a967cbd98bca0e8495dd374082f8ee8587081b617c3a5fc56036f470ac3d48182e913a333297d4a86ebe4407c804"},"length":504,"version":1}},"version":1},"signatures":[{"keyid":"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69","method":"ed25519","sig":"8907e2b8b402769bfd281a2c74840da71fe1056e533cf0737923e2b81b48e06f1ffb44f71a0e0d8742638c6f92326c599c544713e5838ac571091bb3632bd609"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/de7cc5e4a98dd1a2f7662b3207c29e302792d8f12588ea4786143d686d4c2a79e4089781a412b66031aec4de1ead19a5402bc5f89b971b43f533173febe44c4e.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/de7cc5e4a98dd1a2f7662b3207c29e302792d8f12588ea4786143d686d4c2a79e4089781a412b66031aec4de1ead19a5402bc5f89b971b43f533173febe44c4e.snapshot.json
new file mode 100644
index 0000000..ad576d6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/de7cc5e4a98dd1a2f7662b3207c29e302792d8f12588ea4786143d686d4c2a79e4089781a412b66031aec4de1ead19a5402bc5f89b971b43f533173febe44c4e.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"de8c0dd09d4643506149a3aa5c9a09d59a7459ce0c7626eb4558a255b3698edf1e248ec39f4f98434905a486cfba13d6f3c06ade8abb8992bde966b63de79d64"},"length":1486,"version":6},"targets.json":{"hashes":{"sha512":"3c60756e31091ca73ccf75908b514a370056577f80d1955d694626c74f371fc6d5d4eb6beab49ae78e8d548848d534ff1aa25f77c21b9f87316d8d2aa11bcfa3"},"length":673,"version":2}},"version":2},"signatures":[{"keyid":"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69","method":"ed25519","sig":"a99810004b53fa79cdf865bd0b4060c24d0a02d5d15f563153078348fac9ee248c6d6fdf1bf09e0262c27077f395527ee27d23df9c1e4c07d92e50023d3dd10e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/de8c0dd09d4643506149a3aa5c9a09d59a7459ce0c7626eb4558a255b3698edf1e248ec39f4f98434905a486cfba13d6f3c06ade8abb8992bde966b63de79d64.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/de8c0dd09d4643506149a3aa5c9a09d59a7459ce0c7626eb4558a255b3698edf1e248ec39f4f98434905a486cfba13d6f3c06ade8abb8992bde966b63de79d64.root.json
new file mode 100644
index 0000000..32ad1be
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/de8c0dd09d4643506149a3aa5c9a09d59a7459ce0c7626eb4558a255b3698edf1e248ec39f4f98434905a486cfba13d6f3c06ade8abb8992bde966b63de79d64.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69":{"keytype":"ed25519","keyval":{"public":"e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"}},"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a":{"keytype":"ed25519","keyval":{"public":"2cb8f268eecc8b71b24b46b76591814988f9a36f7d612fa15570356dfe6c8c03"}},"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3":{"keytype":"ed25519","keyval":{"public":"f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"}},"dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399":{"keytype":"ed25519","keyval":{"public":"750a38ecc1d14ea877bc24bfc419f5bc4ce493e2023f97dee9c94dc6fdebccf8"}}},"roles":{"root":{"keyids":["4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a"],"threshold":1},"snapshot":{"keyids":["033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69"],"threshold":1},"targets":{"keyids":["509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3"],"threshold":1},"timestamp":{"keyids":["dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399"],"threshold":1}},"version":6},"signatures":[{"keyid":"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a","method":"ed25519","sig":"325396967e15530a1a7bf83689496ce5b07e44e95b971102e0875158fb8bb46345213bb26409957750e052ff6ba6bd8ca3028182683b669590378cf73bd01c0e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/f031988b8d6e21a01142a1fcee1d9d0096119cdc86ad61462bfc57a50a7ee5e865802832c2a3704908f65a1fc95a318a57ec928ad5bea6565b7c30faa74da85b.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/f031988b8d6e21a01142a1fcee1d9d0096119cdc86ad61462bfc57a50a7ee5e865802832c2a3704908f65a1fc95a318a57ec928ad5bea6565b7c30faa74da85b.root.json
new file mode 100644
index 0000000..b295df4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/f031988b8d6e21a01142a1fcee1d9d0096119cdc86ad61462bfc57a50a7ee5e865802832c2a3704908f65a1fc95a318a57ec928ad5bea6565b7c30faa74da85b.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69":{"keytype":"ed25519","keyval":{"public":"e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"}},"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a":{"keytype":"ed25519","keyval":{"public":"2cb8f268eecc8b71b24b46b76591814988f9a36f7d612fa15570356dfe6c8c03"}},"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3":{"keytype":"ed25519","keyval":{"public":"f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"}},"a80e1f2f8295ca1d7ea2e9f49aa5cabf8c4f24f6b7cec9dc79f0ed9c01fb13bc":{"keytype":"ed25519","keyval":{"public":"80eccc5cfdc99ab297a74a3ca0a782529778988d917f74a3a9078e7a7738617e"}}},"roles":{"root":{"keyids":["4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a"],"threshold":1},"snapshot":{"keyids":["033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69"],"threshold":1},"targets":{"keyids":["509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3"],"threshold":1},"timestamp":{"keyids":["a80e1f2f8295ca1d7ea2e9f49aa5cabf8c4f24f6b7cec9dc79f0ed9c01fb13bc"],"threshold":1}},"version":4},"signatures":[{"keyid":"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a","method":"ed25519","sig":"c1f117bf9a1cf7051fe863b7369a405c85ce9969c6c687d3625158ba870705e45ec0118493f762a51e30aaab7397ec4fca0ff560be6e4b444a497645711ff40b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/root.json
new file mode 100644
index 0000000..32ad1be
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69":{"keytype":"ed25519","keyval":{"public":"e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"}},"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a":{"keytype":"ed25519","keyval":{"public":"2cb8f268eecc8b71b24b46b76591814988f9a36f7d612fa15570356dfe6c8c03"}},"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3":{"keytype":"ed25519","keyval":{"public":"f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"}},"dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399":{"keytype":"ed25519","keyval":{"public":"750a38ecc1d14ea877bc24bfc419f5bc4ce493e2023f97dee9c94dc6fdebccf8"}}},"roles":{"root":{"keyids":["4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a"],"threshold":1},"snapshot":{"keyids":["033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69"],"threshold":1},"targets":{"keyids":["509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3"],"threshold":1},"timestamp":{"keyids":["dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399"],"threshold":1}},"version":6},"signatures":[{"keyid":"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a","method":"ed25519","sig":"325396967e15530a1a7bf83689496ce5b07e44e95b971102e0875158fb8bb46345213bb26409957750e052ff6ba6bd8ca3028182683b669590378cf73bd01c0e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/snapshot.json
new file mode 100644
index 0000000..ad576d6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"de8c0dd09d4643506149a3aa5c9a09d59a7459ce0c7626eb4558a255b3698edf1e248ec39f4f98434905a486cfba13d6f3c06ade8abb8992bde966b63de79d64"},"length":1486,"version":6},"targets.json":{"hashes":{"sha512":"3c60756e31091ca73ccf75908b514a370056577f80d1955d694626c74f371fc6d5d4eb6beab49ae78e8d548848d534ff1aa25f77c21b9f87316d8d2aa11bcfa3"},"length":673,"version":2}},"version":2},"signatures":[{"keyid":"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69","method":"ed25519","sig":"a99810004b53fa79cdf865bd0b4060c24d0a02d5d15f563153078348fac9ee248c6d6fdf1bf09e0262c27077f395527ee27d23df9c1e4c07d92e50023d3dd10e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/targets.json
new file mode 100644
index 0000000..e60948f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3","method":"ed25519","sig":"a8363d9786650e5af6d135ec4afeb7b35b0c912725b64cc83e69a61e795d4e4a931e0ec27ba8d7f5878571731f21afd47dce61491c07382b5301c23db59bd005"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/timestamp.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/timestamp.json
new file mode 100644
index 0000000..689c3af
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/1/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"de7cc5e4a98dd1a2f7662b3207c29e302792d8f12588ea4786143d686d4c2a79e4089781a412b66031aec4de1ead19a5402bc5f89b971b43f533173febe44c4e"},"length":717,"version":2}},"version":2},"signatures":[{"keyid":"dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399","method":"ed25519","sig":"e9689ca0ba47469433e64f957a7ed28dcf177fb699302bcfd9ba0edcaa87d200db70b4b473d3dc3fb9760ddd28d7ebd9486f09528abbf4629e11a68d0c9be900"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/keys/root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/keys/root.json
new file mode 100644
index 0000000..299cf28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/keys/root.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "2cb8f268eecc8b71b24b46b76591814988f9a36f7d612fa15570356dfe6c8c03",
+				"private": "78c404e5d81e52eb181b7cdcc37830197a2de728b8bc41ea09b85948dbdcefdf2cb8f268eecc8b71b24b46b76591814988f9a36f7d612fa15570356dfe6c8c03"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/keys/snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/keys/snapshot.json
new file mode 100644
index 0000000..252ba0d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/keys/snapshot.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1",
+				"private": "7cf8ce9926296ce5197f6881902761a4419f0f2e77126b4b7cb1ab5de1964282e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/keys/targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/keys/targets.json
new file mode 100644
index 0000000..1ab2bfc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/keys/targets.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702",
+				"private": "a6064d1baae4eacfef2110f7bb0e5763e82e93fe1c8077fe48d3d8643c0f10aff2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/keys/timestamp.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/keys/timestamp.json
new file mode 100644
index 0000000..7e8eec0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","keyval":{"public":"750a38ecc1d14ea877bc24bfc419f5bc4ce493e2023f97dee9c94dc6fdebccf8","private":"1c02eae47042d2b898a4efd1537e48144044871a46fc9d35c72af728f0428a41750a38ecc1d14ea877bc24bfc419f5bc4ce493e2023f97dee9c94dc6fdebccf8"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/096f3efae08e274b0ced5ec3c3c76a9d322f224f7b3215b0ecc21d5562329338bde7a230bdfb5e2ed3105b3642dac80cd5d51341ce212dfa329cedbfca79fac2.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/096f3efae08e274b0ced5ec3c3c76a9d322f224f7b3215b0ecc21d5562329338bde7a230bdfb5e2ed3105b3642dac80cd5d51341ce212dfa329cedbfca79fac2.targets.json
new file mode 100644
index 0000000..2d524bc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/096f3efae08e274b0ced5ec3c3c76a9d322f224f7b3215b0ecc21d5562329338bde7a230bdfb5e2ed3105b3642dac80cd5d51341ce212dfa329cedbfca79fac2.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3","method":"ed25519","sig":"f34e8cbd211b0c1fadc191bb23c29485018c3179401d2439d01cafe719dc21e7474fcbefab9d46971f80e7091258c23dee1a34a39485638041bd10766fd66f01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/12a410a308200d55fa7b8a4606d3714a84e4a967cbd98bca0e8495dd374082f8ee8587081b617c3a5fc56036f470ac3d48182e913a333297d4a86ebe4407c804.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/12a410a308200d55fa7b8a4606d3714a84e4a967cbd98bca0e8495dd374082f8ee8587081b617c3a5fc56036f470ac3d48182e913a333297d4a86ebe4407c804.targets.json
new file mode 100644
index 0000000..5edf184
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/12a410a308200d55fa7b8a4606d3714a84e4a967cbd98bca0e8495dd374082f8ee8587081b617c3a5fc56036f470ac3d48182e913a333297d4a86ebe4407c804.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3","method":"ed25519","sig":"e71b71e48ef910aacc8aa54f032491ef6f098dc7c934a50409b44a9f84b5776ba0aabfae20468b49d624d1fd417ed413c896545fcf92b7c8676a5a627012d305"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/3c60756e31091ca73ccf75908b514a370056577f80d1955d694626c74f371fc6d5d4eb6beab49ae78e8d548848d534ff1aa25f77c21b9f87316d8d2aa11bcfa3.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/3c60756e31091ca73ccf75908b514a370056577f80d1955d694626c74f371fc6d5d4eb6beab49ae78e8d548848d534ff1aa25f77c21b9f87316d8d2aa11bcfa3.targets.json
new file mode 100644
index 0000000..e60948f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/3c60756e31091ca73ccf75908b514a370056577f80d1955d694626c74f371fc6d5d4eb6beab49ae78e8d548848d534ff1aa25f77c21b9f87316d8d2aa11bcfa3.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3","method":"ed25519","sig":"a8363d9786650e5af6d135ec4afeb7b35b0c912725b64cc83e69a61e795d4e4a931e0ec27ba8d7f5878571731f21afd47dce61491c07382b5301c23db59bd005"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/55a29e2e24a6862c1a7a556c3749cf7e9d9d005aea55561e4109bb4e0a501a381a9862f4afdfc044c63f4586012684a7330cea8bc22950df50dbdadd56d8099b.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/55a29e2e24a6862c1a7a556c3749cf7e9d9d005aea55561e4109bb4e0a501a381a9862f4afdfc044c63f4586012684a7330cea8bc22950df50dbdadd56d8099b.snapshot.json
new file mode 100644
index 0000000..11c5302
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/55a29e2e24a6862c1a7a556c3749cf7e9d9d005aea55561e4109bb4e0a501a381a9862f4afdfc044c63f4586012684a7330cea8bc22950df50dbdadd56d8099b.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"f031988b8d6e21a01142a1fcee1d9d0096119cdc86ad61462bfc57a50a7ee5e865802832c2a3704908f65a1fc95a318a57ec928ad5bea6565b7c30faa74da85b"},"length":1486,"version":4},"targets.json":{"hashes":{"sha512":"12a410a308200d55fa7b8a4606d3714a84e4a967cbd98bca0e8495dd374082f8ee8587081b617c3a5fc56036f470ac3d48182e913a333297d4a86ebe4407c804"},"length":504,"version":1}},"version":1},"signatures":[{"keyid":"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69","method":"ed25519","sig":"8907e2b8b402769bfd281a2c74840da71fe1056e533cf0737923e2b81b48e06f1ffb44f71a0e0d8742638c6f92326c599c544713e5838ac571091bb3632bd609"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/8efb12d97a9b84106b83aea4affcdf2cdcb56cf11925859875a3ac89062d05ee983e22714e04923126a292fa6a3c8ceca30a13c0703f58b53d52723fda3fddb4.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/8efb12d97a9b84106b83aea4affcdf2cdcb56cf11925859875a3ac89062d05ee983e22714e04923126a292fa6a3c8ceca30a13c0703f58b53d52723fda3fddb4.snapshot.json
new file mode 100644
index 0000000..14624b6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/8efb12d97a9b84106b83aea4affcdf2cdcb56cf11925859875a3ac89062d05ee983e22714e04923126a292fa6a3c8ceca30a13c0703f58b53d52723fda3fddb4.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"de8c0dd09d4643506149a3aa5c9a09d59a7459ce0c7626eb4558a255b3698edf1e248ec39f4f98434905a486cfba13d6f3c06ade8abb8992bde966b63de79d64"},"length":1486,"version":6},"targets.json":{"hashes":{"sha512":"096f3efae08e274b0ced5ec3c3c76a9d322f224f7b3215b0ecc21d5562329338bde7a230bdfb5e2ed3105b3642dac80cd5d51341ce212dfa329cedbfca79fac2"},"length":842,"version":3}},"version":3},"signatures":[{"keyid":"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69","method":"ed25519","sig":"34639ca164776e931e267fc6b59625232dda6434c43bd5176fd4feed1d817c32da125d93cc9638132451c3e314310c3d30eb2dfbd4fdf209896023bd730d4f0c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/de7cc5e4a98dd1a2f7662b3207c29e302792d8f12588ea4786143d686d4c2a79e4089781a412b66031aec4de1ead19a5402bc5f89b971b43f533173febe44c4e.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/de7cc5e4a98dd1a2f7662b3207c29e302792d8f12588ea4786143d686d4c2a79e4089781a412b66031aec4de1ead19a5402bc5f89b971b43f533173febe44c4e.snapshot.json
new file mode 100644
index 0000000..ad576d6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/de7cc5e4a98dd1a2f7662b3207c29e302792d8f12588ea4786143d686d4c2a79e4089781a412b66031aec4de1ead19a5402bc5f89b971b43f533173febe44c4e.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"de8c0dd09d4643506149a3aa5c9a09d59a7459ce0c7626eb4558a255b3698edf1e248ec39f4f98434905a486cfba13d6f3c06ade8abb8992bde966b63de79d64"},"length":1486,"version":6},"targets.json":{"hashes":{"sha512":"3c60756e31091ca73ccf75908b514a370056577f80d1955d694626c74f371fc6d5d4eb6beab49ae78e8d548848d534ff1aa25f77c21b9f87316d8d2aa11bcfa3"},"length":673,"version":2}},"version":2},"signatures":[{"keyid":"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69","method":"ed25519","sig":"a99810004b53fa79cdf865bd0b4060c24d0a02d5d15f563153078348fac9ee248c6d6fdf1bf09e0262c27077f395527ee27d23df9c1e4c07d92e50023d3dd10e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/de8c0dd09d4643506149a3aa5c9a09d59a7459ce0c7626eb4558a255b3698edf1e248ec39f4f98434905a486cfba13d6f3c06ade8abb8992bde966b63de79d64.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/de8c0dd09d4643506149a3aa5c9a09d59a7459ce0c7626eb4558a255b3698edf1e248ec39f4f98434905a486cfba13d6f3c06ade8abb8992bde966b63de79d64.root.json
new file mode 100644
index 0000000..32ad1be
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/de8c0dd09d4643506149a3aa5c9a09d59a7459ce0c7626eb4558a255b3698edf1e248ec39f4f98434905a486cfba13d6f3c06ade8abb8992bde966b63de79d64.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69":{"keytype":"ed25519","keyval":{"public":"e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"}},"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a":{"keytype":"ed25519","keyval":{"public":"2cb8f268eecc8b71b24b46b76591814988f9a36f7d612fa15570356dfe6c8c03"}},"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3":{"keytype":"ed25519","keyval":{"public":"f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"}},"dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399":{"keytype":"ed25519","keyval":{"public":"750a38ecc1d14ea877bc24bfc419f5bc4ce493e2023f97dee9c94dc6fdebccf8"}}},"roles":{"root":{"keyids":["4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a"],"threshold":1},"snapshot":{"keyids":["033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69"],"threshold":1},"targets":{"keyids":["509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3"],"threshold":1},"timestamp":{"keyids":["dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399"],"threshold":1}},"version":6},"signatures":[{"keyid":"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a","method":"ed25519","sig":"325396967e15530a1a7bf83689496ce5b07e44e95b971102e0875158fb8bb46345213bb26409957750e052ff6ba6bd8ca3028182683b669590378cf73bd01c0e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/f031988b8d6e21a01142a1fcee1d9d0096119cdc86ad61462bfc57a50a7ee5e865802832c2a3704908f65a1fc95a318a57ec928ad5bea6565b7c30faa74da85b.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/f031988b8d6e21a01142a1fcee1d9d0096119cdc86ad61462bfc57a50a7ee5e865802832c2a3704908f65a1fc95a318a57ec928ad5bea6565b7c30faa74da85b.root.json
new file mode 100644
index 0000000..b295df4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/f031988b8d6e21a01142a1fcee1d9d0096119cdc86ad61462bfc57a50a7ee5e865802832c2a3704908f65a1fc95a318a57ec928ad5bea6565b7c30faa74da85b.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69":{"keytype":"ed25519","keyval":{"public":"e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"}},"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a":{"keytype":"ed25519","keyval":{"public":"2cb8f268eecc8b71b24b46b76591814988f9a36f7d612fa15570356dfe6c8c03"}},"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3":{"keytype":"ed25519","keyval":{"public":"f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"}},"a80e1f2f8295ca1d7ea2e9f49aa5cabf8c4f24f6b7cec9dc79f0ed9c01fb13bc":{"keytype":"ed25519","keyval":{"public":"80eccc5cfdc99ab297a74a3ca0a782529778988d917f74a3a9078e7a7738617e"}}},"roles":{"root":{"keyids":["4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a"],"threshold":1},"snapshot":{"keyids":["033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69"],"threshold":1},"targets":{"keyids":["509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3"],"threshold":1},"timestamp":{"keyids":["a80e1f2f8295ca1d7ea2e9f49aa5cabf8c4f24f6b7cec9dc79f0ed9c01fb13bc"],"threshold":1}},"version":4},"signatures":[{"keyid":"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a","method":"ed25519","sig":"c1f117bf9a1cf7051fe863b7369a405c85ce9969c6c687d3625158ba870705e45ec0118493f762a51e30aaab7397ec4fca0ff560be6e4b444a497645711ff40b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/root.json
new file mode 100644
index 0000000..32ad1be
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69":{"keytype":"ed25519","keyval":{"public":"e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"}},"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a":{"keytype":"ed25519","keyval":{"public":"2cb8f268eecc8b71b24b46b76591814988f9a36f7d612fa15570356dfe6c8c03"}},"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3":{"keytype":"ed25519","keyval":{"public":"f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"}},"dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399":{"keytype":"ed25519","keyval":{"public":"750a38ecc1d14ea877bc24bfc419f5bc4ce493e2023f97dee9c94dc6fdebccf8"}}},"roles":{"root":{"keyids":["4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a"],"threshold":1},"snapshot":{"keyids":["033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69"],"threshold":1},"targets":{"keyids":["509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3"],"threshold":1},"timestamp":{"keyids":["dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399"],"threshold":1}},"version":6},"signatures":[{"keyid":"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a","method":"ed25519","sig":"325396967e15530a1a7bf83689496ce5b07e44e95b971102e0875158fb8bb46345213bb26409957750e052ff6ba6bd8ca3028182683b669590378cf73bd01c0e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/snapshot.json
new file mode 100644
index 0000000..14624b6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"de8c0dd09d4643506149a3aa5c9a09d59a7459ce0c7626eb4558a255b3698edf1e248ec39f4f98434905a486cfba13d6f3c06ade8abb8992bde966b63de79d64"},"length":1486,"version":6},"targets.json":{"hashes":{"sha512":"096f3efae08e274b0ced5ec3c3c76a9d322f224f7b3215b0ecc21d5562329338bde7a230bdfb5e2ed3105b3642dac80cd5d51341ce212dfa329cedbfca79fac2"},"length":842,"version":3}},"version":3},"signatures":[{"keyid":"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69","method":"ed25519","sig":"34639ca164776e931e267fc6b59625232dda6434c43bd5176fd4feed1d817c32da125d93cc9638132451c3e314310c3d30eb2dfbd4fdf209896023bd730d4f0c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/targets.json
new file mode 100644
index 0000000..2d524bc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3","method":"ed25519","sig":"f34e8cbd211b0c1fadc191bb23c29485018c3179401d2439d01cafe719dc21e7474fcbefab9d46971f80e7091258c23dee1a34a39485638041bd10766fd66f01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/timestamp.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/timestamp.json
new file mode 100644
index 0000000..6b833cc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/2/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"8efb12d97a9b84106b83aea4affcdf2cdcb56cf11925859875a3ac89062d05ee983e22714e04923126a292fa6a3c8ceca30a13c0703f58b53d52723fda3fddb4"},"length":717,"version":3}},"version":3},"signatures":[{"keyid":"dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399","method":"ed25519","sig":"b6ccdc7264c691cd2fe000ff24621121d711b5cafbd85173bca076eef2c5a673e3b7632393f920d62bb463287978c69c68e63955f0f33a0bcd8ed12bb0a44500"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/keys/root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/keys/root.json
new file mode 100644
index 0000000..b205532
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/keys/root.json
@@ -0,0 +1,19 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "2cb8f268eecc8b71b24b46b76591814988f9a36f7d612fa15570356dfe6c8c03",
+				"private": "78c404e5d81e52eb181b7cdcc37830197a2de728b8bc41ea09b85948dbdcefdf2cb8f268eecc8b71b24b46b76591814988f9a36f7d612fa15570356dfe6c8c03"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "4cb867728dd3405ab20aed8e099f63d1ee4392ba9b4d17b6599988e552b8043f",
+				"private": "e0ea7a15adb7f80516d8385e152388a0eee10b46127971d3931390eac69e9d1e4cb867728dd3405ab20aed8e099f63d1ee4392ba9b4d17b6599988e552b8043f"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/keys/snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/keys/snapshot.json
new file mode 100644
index 0000000..252ba0d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/keys/snapshot.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1",
+				"private": "7cf8ce9926296ce5197f6881902761a4419f0f2e77126b4b7cb1ab5de1964282e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/keys/targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/keys/targets.json
new file mode 100644
index 0000000..1ab2bfc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/keys/targets.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702",
+				"private": "a6064d1baae4eacfef2110f7bb0e5763e82e93fe1c8077fe48d3d8643c0f10aff2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/keys/timestamp.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/keys/timestamp.json
new file mode 100644
index 0000000..7e8eec0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","keyval":{"public":"750a38ecc1d14ea877bc24bfc419f5bc4ce493e2023f97dee9c94dc6fdebccf8","private":"1c02eae47042d2b898a4efd1537e48144044871a46fc9d35c72af728f0428a41750a38ecc1d14ea877bc24bfc419f5bc4ce493e2023f97dee9c94dc6fdebccf8"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/096f3efae08e274b0ced5ec3c3c76a9d322f224f7b3215b0ecc21d5562329338bde7a230bdfb5e2ed3105b3642dac80cd5d51341ce212dfa329cedbfca79fac2.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/096f3efae08e274b0ced5ec3c3c76a9d322f224f7b3215b0ecc21d5562329338bde7a230bdfb5e2ed3105b3642dac80cd5d51341ce212dfa329cedbfca79fac2.targets.json
new file mode 100644
index 0000000..2d524bc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/096f3efae08e274b0ced5ec3c3c76a9d322f224f7b3215b0ecc21d5562329338bde7a230bdfb5e2ed3105b3642dac80cd5d51341ce212dfa329cedbfca79fac2.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3","method":"ed25519","sig":"f34e8cbd211b0c1fadc191bb23c29485018c3179401d2439d01cafe719dc21e7474fcbefab9d46971f80e7091258c23dee1a34a39485638041bd10766fd66f01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/12a410a308200d55fa7b8a4606d3714a84e4a967cbd98bca0e8495dd374082f8ee8587081b617c3a5fc56036f470ac3d48182e913a333297d4a86ebe4407c804.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/12a410a308200d55fa7b8a4606d3714a84e4a967cbd98bca0e8495dd374082f8ee8587081b617c3a5fc56036f470ac3d48182e913a333297d4a86ebe4407c804.targets.json
new file mode 100644
index 0000000..5edf184
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/12a410a308200d55fa7b8a4606d3714a84e4a967cbd98bca0e8495dd374082f8ee8587081b617c3a5fc56036f470ac3d48182e913a333297d4a86ebe4407c804.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3","method":"ed25519","sig":"e71b71e48ef910aacc8aa54f032491ef6f098dc7c934a50409b44a9f84b5776ba0aabfae20468b49d624d1fd417ed413c896545fcf92b7c8676a5a627012d305"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/3c60756e31091ca73ccf75908b514a370056577f80d1955d694626c74f371fc6d5d4eb6beab49ae78e8d548848d534ff1aa25f77c21b9f87316d8d2aa11bcfa3.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/3c60756e31091ca73ccf75908b514a370056577f80d1955d694626c74f371fc6d5d4eb6beab49ae78e8d548848d534ff1aa25f77c21b9f87316d8d2aa11bcfa3.targets.json
new file mode 100644
index 0000000..e60948f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/3c60756e31091ca73ccf75908b514a370056577f80d1955d694626c74f371fc6d5d4eb6beab49ae78e8d548848d534ff1aa25f77c21b9f87316d8d2aa11bcfa3.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3","method":"ed25519","sig":"a8363d9786650e5af6d135ec4afeb7b35b0c912725b64cc83e69a61e795d4e4a931e0ec27ba8d7f5878571731f21afd47dce61491c07382b5301c23db59bd005"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/55a29e2e24a6862c1a7a556c3749cf7e9d9d005aea55561e4109bb4e0a501a381a9862f4afdfc044c63f4586012684a7330cea8bc22950df50dbdadd56d8099b.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/55a29e2e24a6862c1a7a556c3749cf7e9d9d005aea55561e4109bb4e0a501a381a9862f4afdfc044c63f4586012684a7330cea8bc22950df50dbdadd56d8099b.snapshot.json
new file mode 100644
index 0000000..11c5302
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/55a29e2e24a6862c1a7a556c3749cf7e9d9d005aea55561e4109bb4e0a501a381a9862f4afdfc044c63f4586012684a7330cea8bc22950df50dbdadd56d8099b.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"f031988b8d6e21a01142a1fcee1d9d0096119cdc86ad61462bfc57a50a7ee5e865802832c2a3704908f65a1fc95a318a57ec928ad5bea6565b7c30faa74da85b"},"length":1486,"version":4},"targets.json":{"hashes":{"sha512":"12a410a308200d55fa7b8a4606d3714a84e4a967cbd98bca0e8495dd374082f8ee8587081b617c3a5fc56036f470ac3d48182e913a333297d4a86ebe4407c804"},"length":504,"version":1}},"version":1},"signatures":[{"keyid":"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69","method":"ed25519","sig":"8907e2b8b402769bfd281a2c74840da71fe1056e533cf0737923e2b81b48e06f1ffb44f71a0e0d8742638c6f92326c599c544713e5838ac571091bb3632bd609"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/8c916597f86e4caffa732a174b616927f1840ff921255880cc9ac463a4f83785335e13de5d478d2dcf5d759c6ce561098c5a2759f09e1e24c2e265cb156160ec.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/8c916597f86e4caffa732a174b616927f1840ff921255880cc9ac463a4f83785335e13de5d478d2dcf5d759c6ce561098c5a2759f09e1e24c2e265cb156160ec.targets.json
new file mode 100644
index 0000000..e640c40
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/8c916597f86e4caffa732a174b616927f1840ff921255880cc9ac463a4f83785335e13de5d478d2dcf5d759c6ce561098c5a2759f09e1e24c2e265cb156160ec.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","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":"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3","method":"ed25519","sig":"d2892434e28c24f2f1da0fa1cea4c676bbf50c284e6d8a7fe67242b17a3a009d4d90f365212b02017ba88d102eeadf2ac34298fbf1cf86b3be4f59de419e4c09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/8efb12d97a9b84106b83aea4affcdf2cdcb56cf11925859875a3ac89062d05ee983e22714e04923126a292fa6a3c8ceca30a13c0703f58b53d52723fda3fddb4.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/8efb12d97a9b84106b83aea4affcdf2cdcb56cf11925859875a3ac89062d05ee983e22714e04923126a292fa6a3c8ceca30a13c0703f58b53d52723fda3fddb4.snapshot.json
new file mode 100644
index 0000000..14624b6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/8efb12d97a9b84106b83aea4affcdf2cdcb56cf11925859875a3ac89062d05ee983e22714e04923126a292fa6a3c8ceca30a13c0703f58b53d52723fda3fddb4.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"de8c0dd09d4643506149a3aa5c9a09d59a7459ce0c7626eb4558a255b3698edf1e248ec39f4f98434905a486cfba13d6f3c06ade8abb8992bde966b63de79d64"},"length":1486,"version":6},"targets.json":{"hashes":{"sha512":"096f3efae08e274b0ced5ec3c3c76a9d322f224f7b3215b0ecc21d5562329338bde7a230bdfb5e2ed3105b3642dac80cd5d51341ce212dfa329cedbfca79fac2"},"length":842,"version":3}},"version":3},"signatures":[{"keyid":"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69","method":"ed25519","sig":"34639ca164776e931e267fc6b59625232dda6434c43bd5176fd4feed1d817c32da125d93cc9638132451c3e314310c3d30eb2dfbd4fdf209896023bd730d4f0c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/a0a38bdf734a9352aed80ae91f2778f0202834c97532e044e1a940f9ad119369f1e1061890efcecd01827eb1e7a0f60b10f505adfdd39947ce0e9a63feb6799c.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/a0a38bdf734a9352aed80ae91f2778f0202834c97532e044e1a940f9ad119369f1e1061890efcecd01827eb1e7a0f60b10f505adfdd39947ce0e9a63feb6799c.snapshot.json
new file mode 100644
index 0000000..4706a84
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/a0a38bdf734a9352aed80ae91f2778f0202834c97532e044e1a940f9ad119369f1e1061890efcecd01827eb1e7a0f60b10f505adfdd39947ce0e9a63feb6799c.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"c80c4812ffc84886f44ff68597fcc9b93fe04218d2f2f418ef26914c63ad33c8b92130ef0018d96277ebccbc97feffb48f4b05cc8485dd8607eb487266a2caa6"},"length":1719,"version":8},"targets.json":{"hashes":{"sha512":"8c916597f86e4caffa732a174b616927f1840ff921255880cc9ac463a4f83785335e13de5d478d2dcf5d759c6ce561098c5a2759f09e1e24c2e265cb156160ec"},"length":1011,"version":4}},"version":4},"signatures":[{"keyid":"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69","method":"ed25519","sig":"3b4aaafc642b5cea97d33efba2e1e76eca0bf475556ebeacaa4308544e647f2faa1fa69c3e5fd5bb81f9048f6e8ef1f2cbe5d3f9a0147729759cf4568a161f00"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/c80c4812ffc84886f44ff68597fcc9b93fe04218d2f2f418ef26914c63ad33c8b92130ef0018d96277ebccbc97feffb48f4b05cc8485dd8607eb487266a2caa6.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/c80c4812ffc84886f44ff68597fcc9b93fe04218d2f2f418ef26914c63ad33c8b92130ef0018d96277ebccbc97feffb48f4b05cc8485dd8607eb487266a2caa6.root.json
new file mode 100644
index 0000000..b947b8d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/c80c4812ffc84886f44ff68597fcc9b93fe04218d2f2f418ef26914c63ad33c8b92130ef0018d96277ebccbc97feffb48f4b05cc8485dd8607eb487266a2caa6.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69":{"keytype":"ed25519","keyval":{"public":"e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"}},"059d5e6fb4f30a6e022d25ba2146214f346e4ec198d263d62c7a8b6f61f185ab":{"keytype":"ed25519","keyval":{"public":"4cb867728dd3405ab20aed8e099f63d1ee4392ba9b4d17b6599988e552b8043f"}},"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3":{"keytype":"ed25519","keyval":{"public":"f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"}},"dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399":{"keytype":"ed25519","keyval":{"public":"750a38ecc1d14ea877bc24bfc419f5bc4ce493e2023f97dee9c94dc6fdebccf8"}}},"roles":{"root":{"keyids":["059d5e6fb4f30a6e022d25ba2146214f346e4ec198d263d62c7a8b6f61f185ab"],"threshold":1},"snapshot":{"keyids":["033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69"],"threshold":1},"targets":{"keyids":["509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3"],"threshold":1},"timestamp":{"keyids":["dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399"],"threshold":1}},"version":8},"signatures":[{"keyid":"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a","method":"ed25519","sig":"3367f2849a12611b254f966f090e26b3a534160b42fbae244fe98aa28b408ae92465270b3f7450cecb2176579e679af5bc8d5be743479aba7f41d43282f0be0b"},{"keyid":"059d5e6fb4f30a6e022d25ba2146214f346e4ec198d263d62c7a8b6f61f185ab","method":"ed25519","sig":"2c0a92da5a57f789ba5987e0836dddc57e6f30470b0bf627c7610cef2364a7dff7a9ab25ce55aabc580589ec80851ce535aa111386187b71bcd1eb017dbd4a07"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/de7cc5e4a98dd1a2f7662b3207c29e302792d8f12588ea4786143d686d4c2a79e4089781a412b66031aec4de1ead19a5402bc5f89b971b43f533173febe44c4e.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/de7cc5e4a98dd1a2f7662b3207c29e302792d8f12588ea4786143d686d4c2a79e4089781a412b66031aec4de1ead19a5402bc5f89b971b43f533173febe44c4e.snapshot.json
new file mode 100644
index 0000000..ad576d6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/de7cc5e4a98dd1a2f7662b3207c29e302792d8f12588ea4786143d686d4c2a79e4089781a412b66031aec4de1ead19a5402bc5f89b971b43f533173febe44c4e.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"de8c0dd09d4643506149a3aa5c9a09d59a7459ce0c7626eb4558a255b3698edf1e248ec39f4f98434905a486cfba13d6f3c06ade8abb8992bde966b63de79d64"},"length":1486,"version":6},"targets.json":{"hashes":{"sha512":"3c60756e31091ca73ccf75908b514a370056577f80d1955d694626c74f371fc6d5d4eb6beab49ae78e8d548848d534ff1aa25f77c21b9f87316d8d2aa11bcfa3"},"length":673,"version":2}},"version":2},"signatures":[{"keyid":"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69","method":"ed25519","sig":"a99810004b53fa79cdf865bd0b4060c24d0a02d5d15f563153078348fac9ee248c6d6fdf1bf09e0262c27077f395527ee27d23df9c1e4c07d92e50023d3dd10e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/de8c0dd09d4643506149a3aa5c9a09d59a7459ce0c7626eb4558a255b3698edf1e248ec39f4f98434905a486cfba13d6f3c06ade8abb8992bde966b63de79d64.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/de8c0dd09d4643506149a3aa5c9a09d59a7459ce0c7626eb4558a255b3698edf1e248ec39f4f98434905a486cfba13d6f3c06ade8abb8992bde966b63de79d64.root.json
new file mode 100644
index 0000000..32ad1be
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/de8c0dd09d4643506149a3aa5c9a09d59a7459ce0c7626eb4558a255b3698edf1e248ec39f4f98434905a486cfba13d6f3c06ade8abb8992bde966b63de79d64.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69":{"keytype":"ed25519","keyval":{"public":"e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"}},"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a":{"keytype":"ed25519","keyval":{"public":"2cb8f268eecc8b71b24b46b76591814988f9a36f7d612fa15570356dfe6c8c03"}},"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3":{"keytype":"ed25519","keyval":{"public":"f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"}},"dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399":{"keytype":"ed25519","keyval":{"public":"750a38ecc1d14ea877bc24bfc419f5bc4ce493e2023f97dee9c94dc6fdebccf8"}}},"roles":{"root":{"keyids":["4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a"],"threshold":1},"snapshot":{"keyids":["033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69"],"threshold":1},"targets":{"keyids":["509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3"],"threshold":1},"timestamp":{"keyids":["dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399"],"threshold":1}},"version":6},"signatures":[{"keyid":"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a","method":"ed25519","sig":"325396967e15530a1a7bf83689496ce5b07e44e95b971102e0875158fb8bb46345213bb26409957750e052ff6ba6bd8ca3028182683b669590378cf73bd01c0e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/f031988b8d6e21a01142a1fcee1d9d0096119cdc86ad61462bfc57a50a7ee5e865802832c2a3704908f65a1fc95a318a57ec928ad5bea6565b7c30faa74da85b.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/f031988b8d6e21a01142a1fcee1d9d0096119cdc86ad61462bfc57a50a7ee5e865802832c2a3704908f65a1fc95a318a57ec928ad5bea6565b7c30faa74da85b.root.json
new file mode 100644
index 0000000..b295df4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/f031988b8d6e21a01142a1fcee1d9d0096119cdc86ad61462bfc57a50a7ee5e865802832c2a3704908f65a1fc95a318a57ec928ad5bea6565b7c30faa74da85b.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69":{"keytype":"ed25519","keyval":{"public":"e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"}},"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a":{"keytype":"ed25519","keyval":{"public":"2cb8f268eecc8b71b24b46b76591814988f9a36f7d612fa15570356dfe6c8c03"}},"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3":{"keytype":"ed25519","keyval":{"public":"f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"}},"a80e1f2f8295ca1d7ea2e9f49aa5cabf8c4f24f6b7cec9dc79f0ed9c01fb13bc":{"keytype":"ed25519","keyval":{"public":"80eccc5cfdc99ab297a74a3ca0a782529778988d917f74a3a9078e7a7738617e"}}},"roles":{"root":{"keyids":["4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a"],"threshold":1},"snapshot":{"keyids":["033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69"],"threshold":1},"targets":{"keyids":["509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3"],"threshold":1},"timestamp":{"keyids":["a80e1f2f8295ca1d7ea2e9f49aa5cabf8c4f24f6b7cec9dc79f0ed9c01fb13bc"],"threshold":1}},"version":4},"signatures":[{"keyid":"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a","method":"ed25519","sig":"c1f117bf9a1cf7051fe863b7369a405c85ce9969c6c687d3625158ba870705e45ec0118493f762a51e30aaab7397ec4fca0ff560be6e4b444a497645711ff40b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/root.json
new file mode 100644
index 0000000..b947b8d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69":{"keytype":"ed25519","keyval":{"public":"e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"}},"059d5e6fb4f30a6e022d25ba2146214f346e4ec198d263d62c7a8b6f61f185ab":{"keytype":"ed25519","keyval":{"public":"4cb867728dd3405ab20aed8e099f63d1ee4392ba9b4d17b6599988e552b8043f"}},"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3":{"keytype":"ed25519","keyval":{"public":"f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"}},"dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399":{"keytype":"ed25519","keyval":{"public":"750a38ecc1d14ea877bc24bfc419f5bc4ce493e2023f97dee9c94dc6fdebccf8"}}},"roles":{"root":{"keyids":["059d5e6fb4f30a6e022d25ba2146214f346e4ec198d263d62c7a8b6f61f185ab"],"threshold":1},"snapshot":{"keyids":["033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69"],"threshold":1},"targets":{"keyids":["509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3"],"threshold":1},"timestamp":{"keyids":["dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399"],"threshold":1}},"version":8},"signatures":[{"keyid":"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a","method":"ed25519","sig":"3367f2849a12611b254f966f090e26b3a534160b42fbae244fe98aa28b408ae92465270b3f7450cecb2176579e679af5bc8d5be743479aba7f41d43282f0be0b"},{"keyid":"059d5e6fb4f30a6e022d25ba2146214f346e4ec198d263d62c7a8b6f61f185ab","method":"ed25519","sig":"2c0a92da5a57f789ba5987e0836dddc57e6f30470b0bf627c7610cef2364a7dff7a9ab25ce55aabc580589ec80851ce535aa111386187b71bcd1eb017dbd4a07"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/snapshot.json
new file mode 100644
index 0000000..4706a84
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"c80c4812ffc84886f44ff68597fcc9b93fe04218d2f2f418ef26914c63ad33c8b92130ef0018d96277ebccbc97feffb48f4b05cc8485dd8607eb487266a2caa6"},"length":1719,"version":8},"targets.json":{"hashes":{"sha512":"8c916597f86e4caffa732a174b616927f1840ff921255880cc9ac463a4f83785335e13de5d478d2dcf5d759c6ce561098c5a2759f09e1e24c2e265cb156160ec"},"length":1011,"version":4}},"version":4},"signatures":[{"keyid":"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69","method":"ed25519","sig":"3b4aaafc642b5cea97d33efba2e1e76eca0bf475556ebeacaa4308544e647f2faa1fa69c3e5fd5bb81f9048f6e8ef1f2cbe5d3f9a0147729759cf4568a161f00"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/targets.json
new file mode 100644
index 0000000..e640c40
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","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":"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3","method":"ed25519","sig":"d2892434e28c24f2f1da0fa1cea4c676bbf50c284e6d8a7fe67242b17a3a009d4d90f365212b02017ba88d102eeadf2ac34298fbf1cf86b3be4f59de419e4c09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/timestamp.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/timestamp.json
new file mode 100644
index 0000000..2f99cea
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/3/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"a0a38bdf734a9352aed80ae91f2778f0202834c97532e044e1a940f9ad119369f1e1061890efcecd01827eb1e7a0f60b10f505adfdd39947ce0e9a63feb6799c"},"length":718,"version":4}},"version":4},"signatures":[{"keyid":"dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399","method":"ed25519","sig":"4b741030465c5cba76bf4e4e97f28d234d046c45fba2cabe5734d4e9a50cd6a83932c54b3cd4dce6b6b86116f7df053437b3b27d66647d7eb93830a68299c80c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/keys/root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/keys/root.json
new file mode 100644
index 0000000..eb9f6d2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/keys/root.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","keyval":{"public":"4cb867728dd3405ab20aed8e099f63d1ee4392ba9b4d17b6599988e552b8043f","private":"e0ea7a15adb7f80516d8385e152388a0eee10b46127971d3931390eac69e9d1e4cb867728dd3405ab20aed8e099f63d1ee4392ba9b4d17b6599988e552b8043f"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/keys/snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/keys/snapshot.json
new file mode 100644
index 0000000..1af1d5b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/keys/snapshot.json
@@ -0,0 +1,19 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1",
+				"private": "7cf8ce9926296ce5197f6881902761a4419f0f2e77126b4b7cb1ab5de1964282e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "b505941a0910af124b907b5c60f4db6445ee1d57353a3f35d40b6093972557f7",
+				"private": "843ad218baee1d2f4cc06e8b8e4a6e05b69f9ba184c2eae09a3b542a96503ef1b505941a0910af124b907b5c60f4db6445ee1d57353a3f35d40b6093972557f7"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/keys/targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/keys/targets.json
new file mode 100644
index 0000000..1ab2bfc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/keys/targets.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702",
+				"private": "a6064d1baae4eacfef2110f7bb0e5763e82e93fe1c8077fe48d3d8643c0f10aff2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/keys/timestamp.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/keys/timestamp.json
new file mode 100644
index 0000000..7e8eec0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","keyval":{"public":"750a38ecc1d14ea877bc24bfc419f5bc4ce493e2023f97dee9c94dc6fdebccf8","private":"1c02eae47042d2b898a4efd1537e48144044871a46fc9d35c72af728f0428a41750a38ecc1d14ea877bc24bfc419f5bc4ce493e2023f97dee9c94dc6fdebccf8"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/096f3efae08e274b0ced5ec3c3c76a9d322f224f7b3215b0ecc21d5562329338bde7a230bdfb5e2ed3105b3642dac80cd5d51341ce212dfa329cedbfca79fac2.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/096f3efae08e274b0ced5ec3c3c76a9d322f224f7b3215b0ecc21d5562329338bde7a230bdfb5e2ed3105b3642dac80cd5d51341ce212dfa329cedbfca79fac2.targets.json
new file mode 100644
index 0000000..2d524bc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/096f3efae08e274b0ced5ec3c3c76a9d322f224f7b3215b0ecc21d5562329338bde7a230bdfb5e2ed3105b3642dac80cd5d51341ce212dfa329cedbfca79fac2.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3","method":"ed25519","sig":"f34e8cbd211b0c1fadc191bb23c29485018c3179401d2439d01cafe719dc21e7474fcbefab9d46971f80e7091258c23dee1a34a39485638041bd10766fd66f01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/12a410a308200d55fa7b8a4606d3714a84e4a967cbd98bca0e8495dd374082f8ee8587081b617c3a5fc56036f470ac3d48182e913a333297d4a86ebe4407c804.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/12a410a308200d55fa7b8a4606d3714a84e4a967cbd98bca0e8495dd374082f8ee8587081b617c3a5fc56036f470ac3d48182e913a333297d4a86ebe4407c804.targets.json
new file mode 100644
index 0000000..5edf184
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/12a410a308200d55fa7b8a4606d3714a84e4a967cbd98bca0e8495dd374082f8ee8587081b617c3a5fc56036f470ac3d48182e913a333297d4a86ebe4407c804.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3","method":"ed25519","sig":"e71b71e48ef910aacc8aa54f032491ef6f098dc7c934a50409b44a9f84b5776ba0aabfae20468b49d624d1fd417ed413c896545fcf92b7c8676a5a627012d305"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/3c60756e31091ca73ccf75908b514a370056577f80d1955d694626c74f371fc6d5d4eb6beab49ae78e8d548848d534ff1aa25f77c21b9f87316d8d2aa11bcfa3.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/3c60756e31091ca73ccf75908b514a370056577f80d1955d694626c74f371fc6d5d4eb6beab49ae78e8d548848d534ff1aa25f77c21b9f87316d8d2aa11bcfa3.targets.json
new file mode 100644
index 0000000..e60948f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/3c60756e31091ca73ccf75908b514a370056577f80d1955d694626c74f371fc6d5d4eb6beab49ae78e8d548848d534ff1aa25f77c21b9f87316d8d2aa11bcfa3.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3","method":"ed25519","sig":"a8363d9786650e5af6d135ec4afeb7b35b0c912725b64cc83e69a61e795d4e4a931e0ec27ba8d7f5878571731f21afd47dce61491c07382b5301c23db59bd005"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/55a29e2e24a6862c1a7a556c3749cf7e9d9d005aea55561e4109bb4e0a501a381a9862f4afdfc044c63f4586012684a7330cea8bc22950df50dbdadd56d8099b.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/55a29e2e24a6862c1a7a556c3749cf7e9d9d005aea55561e4109bb4e0a501a381a9862f4afdfc044c63f4586012684a7330cea8bc22950df50dbdadd56d8099b.snapshot.json
new file mode 100644
index 0000000..11c5302
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/55a29e2e24a6862c1a7a556c3749cf7e9d9d005aea55561e4109bb4e0a501a381a9862f4afdfc044c63f4586012684a7330cea8bc22950df50dbdadd56d8099b.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"f031988b8d6e21a01142a1fcee1d9d0096119cdc86ad61462bfc57a50a7ee5e865802832c2a3704908f65a1fc95a318a57ec928ad5bea6565b7c30faa74da85b"},"length":1486,"version":4},"targets.json":{"hashes":{"sha512":"12a410a308200d55fa7b8a4606d3714a84e4a967cbd98bca0e8495dd374082f8ee8587081b617c3a5fc56036f470ac3d48182e913a333297d4a86ebe4407c804"},"length":504,"version":1}},"version":1},"signatures":[{"keyid":"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69","method":"ed25519","sig":"8907e2b8b402769bfd281a2c74840da71fe1056e533cf0737923e2b81b48e06f1ffb44f71a0e0d8742638c6f92326c599c544713e5838ac571091bb3632bd609"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/78cf7942df974a50b5da9beadd0d633ad65a853e0f80c6e6faf21ce2bbea85fc19e0f5f215a82791861712a18226884ddcc59b72bdda87590ebd7337552223a3.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/78cf7942df974a50b5da9beadd0d633ad65a853e0f80c6e6faf21ce2bbea85fc19e0f5f215a82791861712a18226884ddcc59b72bdda87590ebd7337552223a3.snapshot.json
new file mode 100644
index 0000000..1ff9975
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/78cf7942df974a50b5da9beadd0d633ad65a853e0f80c6e6faf21ce2bbea85fc19e0f5f215a82791861712a18226884ddcc59b72bdda87590ebd7337552223a3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"a8b64a1d0979024fc54374aa35782f692f4acadbeba71674e29c004fccfa7adce4a4afc419e3ee161422197b6470a73e5c76515d054e7c2a94e11fe73564155e"},"length":1487,"version":10},"targets.json":{"hashes":{"sha512":"8b03850ed24bb673510353b46087c561e438369088b135f85ff63eade4cf7f86c42b6a29568b0ffc1a79fd3c5c73680fb8a6f89d59824d43c9425ddf17a72e27"},"length":1180,"version":5}},"version":5},"signatures":[{"keyid":"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69","method":"ed25519","sig":"8518bf97c21cbcd514a106e1cab0de2a1b94b928bfab995dceebde1cdffc5dad143476b64ab5db0729568d2a982e7350104f6b8f45b634f4e4aee13738c01208"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/8b03850ed24bb673510353b46087c561e438369088b135f85ff63eade4cf7f86c42b6a29568b0ffc1a79fd3c5c73680fb8a6f89d59824d43c9425ddf17a72e27.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/8b03850ed24bb673510353b46087c561e438369088b135f85ff63eade4cf7f86c42b6a29568b0ffc1a79fd3c5c73680fb8a6f89d59824d43c9425ddf17a72e27.targets.json
new file mode 100644
index 0000000..6a03f7a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/8b03850ed24bb673510353b46087c561e438369088b135f85ff63eade4cf7f86c42b6a29568b0ffc1a79fd3c5c73680fb8a6f89d59824d43c9425ddf17a72e27.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","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":"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3","method":"ed25519","sig":"73980e6401a3f8af3f650b14902382338555f275e08abf89ddc629724402e61130a98131b1e1b37c84fccdb78bbd51b760ffdff386ad23c7397c63dd6da04f0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/8c916597f86e4caffa732a174b616927f1840ff921255880cc9ac463a4f83785335e13de5d478d2dcf5d759c6ce561098c5a2759f09e1e24c2e265cb156160ec.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/8c916597f86e4caffa732a174b616927f1840ff921255880cc9ac463a4f83785335e13de5d478d2dcf5d759c6ce561098c5a2759f09e1e24c2e265cb156160ec.targets.json
new file mode 100644
index 0000000..e640c40
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/8c916597f86e4caffa732a174b616927f1840ff921255880cc9ac463a4f83785335e13de5d478d2dcf5d759c6ce561098c5a2759f09e1e24c2e265cb156160ec.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","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":"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3","method":"ed25519","sig":"d2892434e28c24f2f1da0fa1cea4c676bbf50c284e6d8a7fe67242b17a3a009d4d90f365212b02017ba88d102eeadf2ac34298fbf1cf86b3be4f59de419e4c09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/8efb12d97a9b84106b83aea4affcdf2cdcb56cf11925859875a3ac89062d05ee983e22714e04923126a292fa6a3c8ceca30a13c0703f58b53d52723fda3fddb4.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/8efb12d97a9b84106b83aea4affcdf2cdcb56cf11925859875a3ac89062d05ee983e22714e04923126a292fa6a3c8ceca30a13c0703f58b53d52723fda3fddb4.snapshot.json
new file mode 100644
index 0000000..14624b6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/8efb12d97a9b84106b83aea4affcdf2cdcb56cf11925859875a3ac89062d05ee983e22714e04923126a292fa6a3c8ceca30a13c0703f58b53d52723fda3fddb4.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"de8c0dd09d4643506149a3aa5c9a09d59a7459ce0c7626eb4558a255b3698edf1e248ec39f4f98434905a486cfba13d6f3c06ade8abb8992bde966b63de79d64"},"length":1486,"version":6},"targets.json":{"hashes":{"sha512":"096f3efae08e274b0ced5ec3c3c76a9d322f224f7b3215b0ecc21d5562329338bde7a230bdfb5e2ed3105b3642dac80cd5d51341ce212dfa329cedbfca79fac2"},"length":842,"version":3}},"version":3},"signatures":[{"keyid":"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69","method":"ed25519","sig":"34639ca164776e931e267fc6b59625232dda6434c43bd5176fd4feed1d817c32da125d93cc9638132451c3e314310c3d30eb2dfbd4fdf209896023bd730d4f0c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/a0a38bdf734a9352aed80ae91f2778f0202834c97532e044e1a940f9ad119369f1e1061890efcecd01827eb1e7a0f60b10f505adfdd39947ce0e9a63feb6799c.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/a0a38bdf734a9352aed80ae91f2778f0202834c97532e044e1a940f9ad119369f1e1061890efcecd01827eb1e7a0f60b10f505adfdd39947ce0e9a63feb6799c.snapshot.json
new file mode 100644
index 0000000..4706a84
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/a0a38bdf734a9352aed80ae91f2778f0202834c97532e044e1a940f9ad119369f1e1061890efcecd01827eb1e7a0f60b10f505adfdd39947ce0e9a63feb6799c.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"c80c4812ffc84886f44ff68597fcc9b93fe04218d2f2f418ef26914c63ad33c8b92130ef0018d96277ebccbc97feffb48f4b05cc8485dd8607eb487266a2caa6"},"length":1719,"version":8},"targets.json":{"hashes":{"sha512":"8c916597f86e4caffa732a174b616927f1840ff921255880cc9ac463a4f83785335e13de5d478d2dcf5d759c6ce561098c5a2759f09e1e24c2e265cb156160ec"},"length":1011,"version":4}},"version":4},"signatures":[{"keyid":"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69","method":"ed25519","sig":"3b4aaafc642b5cea97d33efba2e1e76eca0bf475556ebeacaa4308544e647f2faa1fa69c3e5fd5bb81f9048f6e8ef1f2cbe5d3f9a0147729759cf4568a161f00"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/a8b64a1d0979024fc54374aa35782f692f4acadbeba71674e29c004fccfa7adce4a4afc419e3ee161422197b6470a73e5c76515d054e7c2a94e11fe73564155e.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/a8b64a1d0979024fc54374aa35782f692f4acadbeba71674e29c004fccfa7adce4a4afc419e3ee161422197b6470a73e5c76515d054e7c2a94e11fe73564155e.root.json
new file mode 100644
index 0000000..6128c11
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/a8b64a1d0979024fc54374aa35782f692f4acadbeba71674e29c004fccfa7adce4a4afc419e3ee161422197b6470a73e5c76515d054e7c2a94e11fe73564155e.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69":{"keytype":"ed25519","keyval":{"public":"e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"}},"059d5e6fb4f30a6e022d25ba2146214f346e4ec198d263d62c7a8b6f61f185ab":{"keytype":"ed25519","keyval":{"public":"4cb867728dd3405ab20aed8e099f63d1ee4392ba9b4d17b6599988e552b8043f"}},"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3":{"keytype":"ed25519","keyval":{"public":"f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"}},"dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399":{"keytype":"ed25519","keyval":{"public":"750a38ecc1d14ea877bc24bfc419f5bc4ce493e2023f97dee9c94dc6fdebccf8"}}},"roles":{"root":{"keyids":["059d5e6fb4f30a6e022d25ba2146214f346e4ec198d263d62c7a8b6f61f185ab"],"threshold":1},"snapshot":{"keyids":["033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69"],"threshold":1},"targets":{"keyids":["509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3"],"threshold":1},"timestamp":{"keyids":["dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399"],"threshold":1}},"version":10},"signatures":[{"keyid":"059d5e6fb4f30a6e022d25ba2146214f346e4ec198d263d62c7a8b6f61f185ab","method":"ed25519","sig":"2bacf2488b5c3ce80ab00dc479909568a777593db756af54e701abba379052f988daec550ddb72a3dc9d4a8e674e6e39fc0977216ad7081547b218437e993108"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/c80c4812ffc84886f44ff68597fcc9b93fe04218d2f2f418ef26914c63ad33c8b92130ef0018d96277ebccbc97feffb48f4b05cc8485dd8607eb487266a2caa6.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/c80c4812ffc84886f44ff68597fcc9b93fe04218d2f2f418ef26914c63ad33c8b92130ef0018d96277ebccbc97feffb48f4b05cc8485dd8607eb487266a2caa6.root.json
new file mode 100644
index 0000000..b947b8d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/c80c4812ffc84886f44ff68597fcc9b93fe04218d2f2f418ef26914c63ad33c8b92130ef0018d96277ebccbc97feffb48f4b05cc8485dd8607eb487266a2caa6.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69":{"keytype":"ed25519","keyval":{"public":"e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"}},"059d5e6fb4f30a6e022d25ba2146214f346e4ec198d263d62c7a8b6f61f185ab":{"keytype":"ed25519","keyval":{"public":"4cb867728dd3405ab20aed8e099f63d1ee4392ba9b4d17b6599988e552b8043f"}},"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3":{"keytype":"ed25519","keyval":{"public":"f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"}},"dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399":{"keytype":"ed25519","keyval":{"public":"750a38ecc1d14ea877bc24bfc419f5bc4ce493e2023f97dee9c94dc6fdebccf8"}}},"roles":{"root":{"keyids":["059d5e6fb4f30a6e022d25ba2146214f346e4ec198d263d62c7a8b6f61f185ab"],"threshold":1},"snapshot":{"keyids":["033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69"],"threshold":1},"targets":{"keyids":["509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3"],"threshold":1},"timestamp":{"keyids":["dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399"],"threshold":1}},"version":8},"signatures":[{"keyid":"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a","method":"ed25519","sig":"3367f2849a12611b254f966f090e26b3a534160b42fbae244fe98aa28b408ae92465270b3f7450cecb2176579e679af5bc8d5be743479aba7f41d43282f0be0b"},{"keyid":"059d5e6fb4f30a6e022d25ba2146214f346e4ec198d263d62c7a8b6f61f185ab","method":"ed25519","sig":"2c0a92da5a57f789ba5987e0836dddc57e6f30470b0bf627c7610cef2364a7dff7a9ab25ce55aabc580589ec80851ce535aa111386187b71bcd1eb017dbd4a07"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/de7cc5e4a98dd1a2f7662b3207c29e302792d8f12588ea4786143d686d4c2a79e4089781a412b66031aec4de1ead19a5402bc5f89b971b43f533173febe44c4e.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/de7cc5e4a98dd1a2f7662b3207c29e302792d8f12588ea4786143d686d4c2a79e4089781a412b66031aec4de1ead19a5402bc5f89b971b43f533173febe44c4e.snapshot.json
new file mode 100644
index 0000000..ad576d6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/de7cc5e4a98dd1a2f7662b3207c29e302792d8f12588ea4786143d686d4c2a79e4089781a412b66031aec4de1ead19a5402bc5f89b971b43f533173febe44c4e.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"de8c0dd09d4643506149a3aa5c9a09d59a7459ce0c7626eb4558a255b3698edf1e248ec39f4f98434905a486cfba13d6f3c06ade8abb8992bde966b63de79d64"},"length":1486,"version":6},"targets.json":{"hashes":{"sha512":"3c60756e31091ca73ccf75908b514a370056577f80d1955d694626c74f371fc6d5d4eb6beab49ae78e8d548848d534ff1aa25f77c21b9f87316d8d2aa11bcfa3"},"length":673,"version":2}},"version":2},"signatures":[{"keyid":"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69","method":"ed25519","sig":"a99810004b53fa79cdf865bd0b4060c24d0a02d5d15f563153078348fac9ee248c6d6fdf1bf09e0262c27077f395527ee27d23df9c1e4c07d92e50023d3dd10e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/de8c0dd09d4643506149a3aa5c9a09d59a7459ce0c7626eb4558a255b3698edf1e248ec39f4f98434905a486cfba13d6f3c06ade8abb8992bde966b63de79d64.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/de8c0dd09d4643506149a3aa5c9a09d59a7459ce0c7626eb4558a255b3698edf1e248ec39f4f98434905a486cfba13d6f3c06ade8abb8992bde966b63de79d64.root.json
new file mode 100644
index 0000000..32ad1be
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/de8c0dd09d4643506149a3aa5c9a09d59a7459ce0c7626eb4558a255b3698edf1e248ec39f4f98434905a486cfba13d6f3c06ade8abb8992bde966b63de79d64.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69":{"keytype":"ed25519","keyval":{"public":"e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"}},"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a":{"keytype":"ed25519","keyval":{"public":"2cb8f268eecc8b71b24b46b76591814988f9a36f7d612fa15570356dfe6c8c03"}},"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3":{"keytype":"ed25519","keyval":{"public":"f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"}},"dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399":{"keytype":"ed25519","keyval":{"public":"750a38ecc1d14ea877bc24bfc419f5bc4ce493e2023f97dee9c94dc6fdebccf8"}}},"roles":{"root":{"keyids":["4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a"],"threshold":1},"snapshot":{"keyids":["033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69"],"threshold":1},"targets":{"keyids":["509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3"],"threshold":1},"timestamp":{"keyids":["dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399"],"threshold":1}},"version":6},"signatures":[{"keyid":"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a","method":"ed25519","sig":"325396967e15530a1a7bf83689496ce5b07e44e95b971102e0875158fb8bb46345213bb26409957750e052ff6ba6bd8ca3028182683b669590378cf73bd01c0e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/f031988b8d6e21a01142a1fcee1d9d0096119cdc86ad61462bfc57a50a7ee5e865802832c2a3704908f65a1fc95a318a57ec928ad5bea6565b7c30faa74da85b.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/f031988b8d6e21a01142a1fcee1d9d0096119cdc86ad61462bfc57a50a7ee5e865802832c2a3704908f65a1fc95a318a57ec928ad5bea6565b7c30faa74da85b.root.json
new file mode 100644
index 0000000..b295df4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/f031988b8d6e21a01142a1fcee1d9d0096119cdc86ad61462bfc57a50a7ee5e865802832c2a3704908f65a1fc95a318a57ec928ad5bea6565b7c30faa74da85b.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69":{"keytype":"ed25519","keyval":{"public":"e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"}},"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a":{"keytype":"ed25519","keyval":{"public":"2cb8f268eecc8b71b24b46b76591814988f9a36f7d612fa15570356dfe6c8c03"}},"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3":{"keytype":"ed25519","keyval":{"public":"f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"}},"a80e1f2f8295ca1d7ea2e9f49aa5cabf8c4f24f6b7cec9dc79f0ed9c01fb13bc":{"keytype":"ed25519","keyval":{"public":"80eccc5cfdc99ab297a74a3ca0a782529778988d917f74a3a9078e7a7738617e"}}},"roles":{"root":{"keyids":["4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a"],"threshold":1},"snapshot":{"keyids":["033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69"],"threshold":1},"targets":{"keyids":["509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3"],"threshold":1},"timestamp":{"keyids":["a80e1f2f8295ca1d7ea2e9f49aa5cabf8c4f24f6b7cec9dc79f0ed9c01fb13bc"],"threshold":1}},"version":4},"signatures":[{"keyid":"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a","method":"ed25519","sig":"c1f117bf9a1cf7051fe863b7369a405c85ce9969c6c687d3625158ba870705e45ec0118493f762a51e30aaab7397ec4fca0ff560be6e4b444a497645711ff40b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/root.json
new file mode 100644
index 0000000..6128c11
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69":{"keytype":"ed25519","keyval":{"public":"e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"}},"059d5e6fb4f30a6e022d25ba2146214f346e4ec198d263d62c7a8b6f61f185ab":{"keytype":"ed25519","keyval":{"public":"4cb867728dd3405ab20aed8e099f63d1ee4392ba9b4d17b6599988e552b8043f"}},"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3":{"keytype":"ed25519","keyval":{"public":"f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"}},"dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399":{"keytype":"ed25519","keyval":{"public":"750a38ecc1d14ea877bc24bfc419f5bc4ce493e2023f97dee9c94dc6fdebccf8"}}},"roles":{"root":{"keyids":["059d5e6fb4f30a6e022d25ba2146214f346e4ec198d263d62c7a8b6f61f185ab"],"threshold":1},"snapshot":{"keyids":["033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69"],"threshold":1},"targets":{"keyids":["509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3"],"threshold":1},"timestamp":{"keyids":["dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399"],"threshold":1}},"version":10},"signatures":[{"keyid":"059d5e6fb4f30a6e022d25ba2146214f346e4ec198d263d62c7a8b6f61f185ab","method":"ed25519","sig":"2bacf2488b5c3ce80ab00dc479909568a777593db756af54e701abba379052f988daec550ddb72a3dc9d4a8e674e6e39fc0977216ad7081547b218437e993108"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/snapshot.json
new file mode 100644
index 0000000..1ff9975
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"a8b64a1d0979024fc54374aa35782f692f4acadbeba71674e29c004fccfa7adce4a4afc419e3ee161422197b6470a73e5c76515d054e7c2a94e11fe73564155e"},"length":1487,"version":10},"targets.json":{"hashes":{"sha512":"8b03850ed24bb673510353b46087c561e438369088b135f85ff63eade4cf7f86c42b6a29568b0ffc1a79fd3c5c73680fb8a6f89d59824d43c9425ddf17a72e27"},"length":1180,"version":5}},"version":5},"signatures":[{"keyid":"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69","method":"ed25519","sig":"8518bf97c21cbcd514a106e1cab0de2a1b94b928bfab995dceebde1cdffc5dad143476b64ab5db0729568d2a982e7350104f6b8f45b634f4e4aee13738c01208"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/targets.json
new file mode 100644
index 0000000..6a03f7a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","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":"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3","method":"ed25519","sig":"73980e6401a3f8af3f650b14902382338555f275e08abf89ddc629724402e61130a98131b1e1b37c84fccdb78bbd51b760ffdff386ad23c7397c63dd6da04f0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/timestamp.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/timestamp.json
new file mode 100644
index 0000000..4a8eb29
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/4/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"78cf7942df974a50b5da9beadd0d633ad65a853e0f80c6e6faf21ce2bbea85fc19e0f5f215a82791861712a18226884ddcc59b72bdda87590ebd7337552223a3"},"length":719,"version":5}},"version":5},"signatures":[{"keyid":"dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399","method":"ed25519","sig":"e6da06dbcc065370ff7e64822f2799b4cfd65999aef4c96108dfa2d298055592c63be4cf3d87178dff3fdddda2f2a9317df7001ae05b641124b92860d0d5710f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/keys/root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/keys/root.json
new file mode 100644
index 0000000..eb9f6d2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/keys/root.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","keyval":{"public":"4cb867728dd3405ab20aed8e099f63d1ee4392ba9b4d17b6599988e552b8043f","private":"e0ea7a15adb7f80516d8385e152388a0eee10b46127971d3931390eac69e9d1e4cb867728dd3405ab20aed8e099f63d1ee4392ba9b4d17b6599988e552b8043f"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/keys/snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/keys/snapshot.json
new file mode 100644
index 0000000..1af1d5b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/keys/snapshot.json
@@ -0,0 +1,19 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1",
+				"private": "7cf8ce9926296ce5197f6881902761a4419f0f2e77126b4b7cb1ab5de1964282e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "b505941a0910af124b907b5c60f4db6445ee1d57353a3f35d40b6093972557f7",
+				"private": "843ad218baee1d2f4cc06e8b8e4a6e05b69f9ba184c2eae09a3b542a96503ef1b505941a0910af124b907b5c60f4db6445ee1d57353a3f35d40b6093972557f7"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/keys/targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/keys/targets.json
new file mode 100644
index 0000000..1ab2bfc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/keys/targets.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702",
+				"private": "a6064d1baae4eacfef2110f7bb0e5763e82e93fe1c8077fe48d3d8643c0f10aff2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/keys/timestamp.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/keys/timestamp.json
new file mode 100644
index 0000000..7e8eec0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","keyval":{"public":"750a38ecc1d14ea877bc24bfc419f5bc4ce493e2023f97dee9c94dc6fdebccf8","private":"1c02eae47042d2b898a4efd1537e48144044871a46fc9d35c72af728f0428a41750a38ecc1d14ea877bc24bfc419f5bc4ce493e2023f97dee9c94dc6fdebccf8"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/096f3efae08e274b0ced5ec3c3c76a9d322f224f7b3215b0ecc21d5562329338bde7a230bdfb5e2ed3105b3642dac80cd5d51341ce212dfa329cedbfca79fac2.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/096f3efae08e274b0ced5ec3c3c76a9d322f224f7b3215b0ecc21d5562329338bde7a230bdfb5e2ed3105b3642dac80cd5d51341ce212dfa329cedbfca79fac2.targets.json
new file mode 100644
index 0000000..2d524bc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/096f3efae08e274b0ced5ec3c3c76a9d322f224f7b3215b0ecc21d5562329338bde7a230bdfb5e2ed3105b3642dac80cd5d51341ce212dfa329cedbfca79fac2.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3","method":"ed25519","sig":"f34e8cbd211b0c1fadc191bb23c29485018c3179401d2439d01cafe719dc21e7474fcbefab9d46971f80e7091258c23dee1a34a39485638041bd10766fd66f01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/12a410a308200d55fa7b8a4606d3714a84e4a967cbd98bca0e8495dd374082f8ee8587081b617c3a5fc56036f470ac3d48182e913a333297d4a86ebe4407c804.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/12a410a308200d55fa7b8a4606d3714a84e4a967cbd98bca0e8495dd374082f8ee8587081b617c3a5fc56036f470ac3d48182e913a333297d4a86ebe4407c804.targets.json
new file mode 100644
index 0000000..5edf184
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/12a410a308200d55fa7b8a4606d3714a84e4a967cbd98bca0e8495dd374082f8ee8587081b617c3a5fc56036f470ac3d48182e913a333297d4a86ebe4407c804.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3","method":"ed25519","sig":"e71b71e48ef910aacc8aa54f032491ef6f098dc7c934a50409b44a9f84b5776ba0aabfae20468b49d624d1fd417ed413c896545fcf92b7c8676a5a627012d305"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/3c60756e31091ca73ccf75908b514a370056577f80d1955d694626c74f371fc6d5d4eb6beab49ae78e8d548848d534ff1aa25f77c21b9f87316d8d2aa11bcfa3.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/3c60756e31091ca73ccf75908b514a370056577f80d1955d694626c74f371fc6d5d4eb6beab49ae78e8d548848d534ff1aa25f77c21b9f87316d8d2aa11bcfa3.targets.json
new file mode 100644
index 0000000..e60948f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/3c60756e31091ca73ccf75908b514a370056577f80d1955d694626c74f371fc6d5d4eb6beab49ae78e8d548848d534ff1aa25f77c21b9f87316d8d2aa11bcfa3.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3","method":"ed25519","sig":"a8363d9786650e5af6d135ec4afeb7b35b0c912725b64cc83e69a61e795d4e4a931e0ec27ba8d7f5878571731f21afd47dce61491c07382b5301c23db59bd005"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/55a29e2e24a6862c1a7a556c3749cf7e9d9d005aea55561e4109bb4e0a501a381a9862f4afdfc044c63f4586012684a7330cea8bc22950df50dbdadd56d8099b.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/55a29e2e24a6862c1a7a556c3749cf7e9d9d005aea55561e4109bb4e0a501a381a9862f4afdfc044c63f4586012684a7330cea8bc22950df50dbdadd56d8099b.snapshot.json
new file mode 100644
index 0000000..11c5302
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/55a29e2e24a6862c1a7a556c3749cf7e9d9d005aea55561e4109bb4e0a501a381a9862f4afdfc044c63f4586012684a7330cea8bc22950df50dbdadd56d8099b.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"f031988b8d6e21a01142a1fcee1d9d0096119cdc86ad61462bfc57a50a7ee5e865802832c2a3704908f65a1fc95a318a57ec928ad5bea6565b7c30faa74da85b"},"length":1486,"version":4},"targets.json":{"hashes":{"sha512":"12a410a308200d55fa7b8a4606d3714a84e4a967cbd98bca0e8495dd374082f8ee8587081b617c3a5fc56036f470ac3d48182e913a333297d4a86ebe4407c804"},"length":504,"version":1}},"version":1},"signatures":[{"keyid":"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69","method":"ed25519","sig":"8907e2b8b402769bfd281a2c74840da71fe1056e533cf0737923e2b81b48e06f1ffb44f71a0e0d8742638c6f92326c599c544713e5838ac571091bb3632bd609"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/6b114fced02c0f2f6d326a690dddc9e1976988dbeb1c5a836ba4f5f02de4adcbc71dddd65cc69669f6ec02bff1c168c27f22b37dcba431b0a2e4672eda85adf1.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/6b114fced02c0f2f6d326a690dddc9e1976988dbeb1c5a836ba4f5f02de4adcbc71dddd65cc69669f6ec02bff1c168c27f22b37dcba431b0a2e4672eda85adf1.targets.json
new file mode 100644
index 0000000..1b3bdf5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/6b114fced02c0f2f6d326a690dddc9e1976988dbeb1c5a836ba4f5f02de4adcbc71dddd65cc69669f6ec02bff1c168c27f22b37dcba431b0a2e4672eda85adf1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","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":"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3","method":"ed25519","sig":"db780b7e4a63e738d741b26d9bb30581e6f4c07d18b09c9124a742fdd9d141739c6af3516299519478e89f93de0ba880d80e8dbd0d61f5f9d02e0c3bd2a60709"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/78cf7942df974a50b5da9beadd0d633ad65a853e0f80c6e6faf21ce2bbea85fc19e0f5f215a82791861712a18226884ddcc59b72bdda87590ebd7337552223a3.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/78cf7942df974a50b5da9beadd0d633ad65a853e0f80c6e6faf21ce2bbea85fc19e0f5f215a82791861712a18226884ddcc59b72bdda87590ebd7337552223a3.snapshot.json
new file mode 100644
index 0000000..1ff9975
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/78cf7942df974a50b5da9beadd0d633ad65a853e0f80c6e6faf21ce2bbea85fc19e0f5f215a82791861712a18226884ddcc59b72bdda87590ebd7337552223a3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"a8b64a1d0979024fc54374aa35782f692f4acadbeba71674e29c004fccfa7adce4a4afc419e3ee161422197b6470a73e5c76515d054e7c2a94e11fe73564155e"},"length":1487,"version":10},"targets.json":{"hashes":{"sha512":"8b03850ed24bb673510353b46087c561e438369088b135f85ff63eade4cf7f86c42b6a29568b0ffc1a79fd3c5c73680fb8a6f89d59824d43c9425ddf17a72e27"},"length":1180,"version":5}},"version":5},"signatures":[{"keyid":"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69","method":"ed25519","sig":"8518bf97c21cbcd514a106e1cab0de2a1b94b928bfab995dceebde1cdffc5dad143476b64ab5db0729568d2a982e7350104f6b8f45b634f4e4aee13738c01208"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/8b03850ed24bb673510353b46087c561e438369088b135f85ff63eade4cf7f86c42b6a29568b0ffc1a79fd3c5c73680fb8a6f89d59824d43c9425ddf17a72e27.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/8b03850ed24bb673510353b46087c561e438369088b135f85ff63eade4cf7f86c42b6a29568b0ffc1a79fd3c5c73680fb8a6f89d59824d43c9425ddf17a72e27.targets.json
new file mode 100644
index 0000000..6a03f7a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/8b03850ed24bb673510353b46087c561e438369088b135f85ff63eade4cf7f86c42b6a29568b0ffc1a79fd3c5c73680fb8a6f89d59824d43c9425ddf17a72e27.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","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":"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3","method":"ed25519","sig":"73980e6401a3f8af3f650b14902382338555f275e08abf89ddc629724402e61130a98131b1e1b37c84fccdb78bbd51b760ffdff386ad23c7397c63dd6da04f0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/8c916597f86e4caffa732a174b616927f1840ff921255880cc9ac463a4f83785335e13de5d478d2dcf5d759c6ce561098c5a2759f09e1e24c2e265cb156160ec.targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/8c916597f86e4caffa732a174b616927f1840ff921255880cc9ac463a4f83785335e13de5d478d2dcf5d759c6ce561098c5a2759f09e1e24c2e265cb156160ec.targets.json
new file mode 100644
index 0000000..e640c40
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/8c916597f86e4caffa732a174b616927f1840ff921255880cc9ac463a4f83785335e13de5d478d2dcf5d759c6ce561098c5a2759f09e1e24c2e265cb156160ec.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","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":"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3","method":"ed25519","sig":"d2892434e28c24f2f1da0fa1cea4c676bbf50c284e6d8a7fe67242b17a3a009d4d90f365212b02017ba88d102eeadf2ac34298fbf1cf86b3be4f59de419e4c09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/8efb12d97a9b84106b83aea4affcdf2cdcb56cf11925859875a3ac89062d05ee983e22714e04923126a292fa6a3c8ceca30a13c0703f58b53d52723fda3fddb4.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/8efb12d97a9b84106b83aea4affcdf2cdcb56cf11925859875a3ac89062d05ee983e22714e04923126a292fa6a3c8ceca30a13c0703f58b53d52723fda3fddb4.snapshot.json
new file mode 100644
index 0000000..14624b6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/8efb12d97a9b84106b83aea4affcdf2cdcb56cf11925859875a3ac89062d05ee983e22714e04923126a292fa6a3c8ceca30a13c0703f58b53d52723fda3fddb4.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"de8c0dd09d4643506149a3aa5c9a09d59a7459ce0c7626eb4558a255b3698edf1e248ec39f4f98434905a486cfba13d6f3c06ade8abb8992bde966b63de79d64"},"length":1486,"version":6},"targets.json":{"hashes":{"sha512":"096f3efae08e274b0ced5ec3c3c76a9d322f224f7b3215b0ecc21d5562329338bde7a230bdfb5e2ed3105b3642dac80cd5d51341ce212dfa329cedbfca79fac2"},"length":842,"version":3}},"version":3},"signatures":[{"keyid":"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69","method":"ed25519","sig":"34639ca164776e931e267fc6b59625232dda6434c43bd5176fd4feed1d817c32da125d93cc9638132451c3e314310c3d30eb2dfbd4fdf209896023bd730d4f0c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/a0a38bdf734a9352aed80ae91f2778f0202834c97532e044e1a940f9ad119369f1e1061890efcecd01827eb1e7a0f60b10f505adfdd39947ce0e9a63feb6799c.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/a0a38bdf734a9352aed80ae91f2778f0202834c97532e044e1a940f9ad119369f1e1061890efcecd01827eb1e7a0f60b10f505adfdd39947ce0e9a63feb6799c.snapshot.json
new file mode 100644
index 0000000..4706a84
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/a0a38bdf734a9352aed80ae91f2778f0202834c97532e044e1a940f9ad119369f1e1061890efcecd01827eb1e7a0f60b10f505adfdd39947ce0e9a63feb6799c.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"c80c4812ffc84886f44ff68597fcc9b93fe04218d2f2f418ef26914c63ad33c8b92130ef0018d96277ebccbc97feffb48f4b05cc8485dd8607eb487266a2caa6"},"length":1719,"version":8},"targets.json":{"hashes":{"sha512":"8c916597f86e4caffa732a174b616927f1840ff921255880cc9ac463a4f83785335e13de5d478d2dcf5d759c6ce561098c5a2759f09e1e24c2e265cb156160ec"},"length":1011,"version":4}},"version":4},"signatures":[{"keyid":"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69","method":"ed25519","sig":"3b4aaafc642b5cea97d33efba2e1e76eca0bf475556ebeacaa4308544e647f2faa1fa69c3e5fd5bb81f9048f6e8ef1f2cbe5d3f9a0147729759cf4568a161f00"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/a8b64a1d0979024fc54374aa35782f692f4acadbeba71674e29c004fccfa7adce4a4afc419e3ee161422197b6470a73e5c76515d054e7c2a94e11fe73564155e.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/a8b64a1d0979024fc54374aa35782f692f4acadbeba71674e29c004fccfa7adce4a4afc419e3ee161422197b6470a73e5c76515d054e7c2a94e11fe73564155e.root.json
new file mode 100644
index 0000000..6128c11
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/a8b64a1d0979024fc54374aa35782f692f4acadbeba71674e29c004fccfa7adce4a4afc419e3ee161422197b6470a73e5c76515d054e7c2a94e11fe73564155e.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69":{"keytype":"ed25519","keyval":{"public":"e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"}},"059d5e6fb4f30a6e022d25ba2146214f346e4ec198d263d62c7a8b6f61f185ab":{"keytype":"ed25519","keyval":{"public":"4cb867728dd3405ab20aed8e099f63d1ee4392ba9b4d17b6599988e552b8043f"}},"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3":{"keytype":"ed25519","keyval":{"public":"f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"}},"dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399":{"keytype":"ed25519","keyval":{"public":"750a38ecc1d14ea877bc24bfc419f5bc4ce493e2023f97dee9c94dc6fdebccf8"}}},"roles":{"root":{"keyids":["059d5e6fb4f30a6e022d25ba2146214f346e4ec198d263d62c7a8b6f61f185ab"],"threshold":1},"snapshot":{"keyids":["033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69"],"threshold":1},"targets":{"keyids":["509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3"],"threshold":1},"timestamp":{"keyids":["dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399"],"threshold":1}},"version":10},"signatures":[{"keyid":"059d5e6fb4f30a6e022d25ba2146214f346e4ec198d263d62c7a8b6f61f185ab","method":"ed25519","sig":"2bacf2488b5c3ce80ab00dc479909568a777593db756af54e701abba379052f988daec550ddb72a3dc9d4a8e674e6e39fc0977216ad7081547b218437e993108"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/c80c4812ffc84886f44ff68597fcc9b93fe04218d2f2f418ef26914c63ad33c8b92130ef0018d96277ebccbc97feffb48f4b05cc8485dd8607eb487266a2caa6.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/c80c4812ffc84886f44ff68597fcc9b93fe04218d2f2f418ef26914c63ad33c8b92130ef0018d96277ebccbc97feffb48f4b05cc8485dd8607eb487266a2caa6.root.json
new file mode 100644
index 0000000..b947b8d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/c80c4812ffc84886f44ff68597fcc9b93fe04218d2f2f418ef26914c63ad33c8b92130ef0018d96277ebccbc97feffb48f4b05cc8485dd8607eb487266a2caa6.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69":{"keytype":"ed25519","keyval":{"public":"e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"}},"059d5e6fb4f30a6e022d25ba2146214f346e4ec198d263d62c7a8b6f61f185ab":{"keytype":"ed25519","keyval":{"public":"4cb867728dd3405ab20aed8e099f63d1ee4392ba9b4d17b6599988e552b8043f"}},"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3":{"keytype":"ed25519","keyval":{"public":"f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"}},"dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399":{"keytype":"ed25519","keyval":{"public":"750a38ecc1d14ea877bc24bfc419f5bc4ce493e2023f97dee9c94dc6fdebccf8"}}},"roles":{"root":{"keyids":["059d5e6fb4f30a6e022d25ba2146214f346e4ec198d263d62c7a8b6f61f185ab"],"threshold":1},"snapshot":{"keyids":["033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69"],"threshold":1},"targets":{"keyids":["509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3"],"threshold":1},"timestamp":{"keyids":["dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399"],"threshold":1}},"version":8},"signatures":[{"keyid":"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a","method":"ed25519","sig":"3367f2849a12611b254f966f090e26b3a534160b42fbae244fe98aa28b408ae92465270b3f7450cecb2176579e679af5bc8d5be743479aba7f41d43282f0be0b"},{"keyid":"059d5e6fb4f30a6e022d25ba2146214f346e4ec198d263d62c7a8b6f61f185ab","method":"ed25519","sig":"2c0a92da5a57f789ba5987e0836dddc57e6f30470b0bf627c7610cef2364a7dff7a9ab25ce55aabc580589ec80851ce535aa111386187b71bcd1eb017dbd4a07"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/de7cc5e4a98dd1a2f7662b3207c29e302792d8f12588ea4786143d686d4c2a79e4089781a412b66031aec4de1ead19a5402bc5f89b971b43f533173febe44c4e.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/de7cc5e4a98dd1a2f7662b3207c29e302792d8f12588ea4786143d686d4c2a79e4089781a412b66031aec4de1ead19a5402bc5f89b971b43f533173febe44c4e.snapshot.json
new file mode 100644
index 0000000..ad576d6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/de7cc5e4a98dd1a2f7662b3207c29e302792d8f12588ea4786143d686d4c2a79e4089781a412b66031aec4de1ead19a5402bc5f89b971b43f533173febe44c4e.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"de8c0dd09d4643506149a3aa5c9a09d59a7459ce0c7626eb4558a255b3698edf1e248ec39f4f98434905a486cfba13d6f3c06ade8abb8992bde966b63de79d64"},"length":1486,"version":6},"targets.json":{"hashes":{"sha512":"3c60756e31091ca73ccf75908b514a370056577f80d1955d694626c74f371fc6d5d4eb6beab49ae78e8d548848d534ff1aa25f77c21b9f87316d8d2aa11bcfa3"},"length":673,"version":2}},"version":2},"signatures":[{"keyid":"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69","method":"ed25519","sig":"a99810004b53fa79cdf865bd0b4060c24d0a02d5d15f563153078348fac9ee248c6d6fdf1bf09e0262c27077f395527ee27d23df9c1e4c07d92e50023d3dd10e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/de8c0dd09d4643506149a3aa5c9a09d59a7459ce0c7626eb4558a255b3698edf1e248ec39f4f98434905a486cfba13d6f3c06ade8abb8992bde966b63de79d64.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/de8c0dd09d4643506149a3aa5c9a09d59a7459ce0c7626eb4558a255b3698edf1e248ec39f4f98434905a486cfba13d6f3c06ade8abb8992bde966b63de79d64.root.json
new file mode 100644
index 0000000..32ad1be
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/de8c0dd09d4643506149a3aa5c9a09d59a7459ce0c7626eb4558a255b3698edf1e248ec39f4f98434905a486cfba13d6f3c06ade8abb8992bde966b63de79d64.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69":{"keytype":"ed25519","keyval":{"public":"e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"}},"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a":{"keytype":"ed25519","keyval":{"public":"2cb8f268eecc8b71b24b46b76591814988f9a36f7d612fa15570356dfe6c8c03"}},"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3":{"keytype":"ed25519","keyval":{"public":"f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"}},"dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399":{"keytype":"ed25519","keyval":{"public":"750a38ecc1d14ea877bc24bfc419f5bc4ce493e2023f97dee9c94dc6fdebccf8"}}},"roles":{"root":{"keyids":["4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a"],"threshold":1},"snapshot":{"keyids":["033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69"],"threshold":1},"targets":{"keyids":["509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3"],"threshold":1},"timestamp":{"keyids":["dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399"],"threshold":1}},"version":6},"signatures":[{"keyid":"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a","method":"ed25519","sig":"325396967e15530a1a7bf83689496ce5b07e44e95b971102e0875158fb8bb46345213bb26409957750e052ff6ba6bd8ca3028182683b669590378cf73bd01c0e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/ec8d5aa98f2e5e4f64b5ebcc46cf2ae5ba258b2435b06065ba1e6a67dd98f031b4bab498b48653b60383bc2c9cc12d7a0091e3ff953fd52a1498778a6620b9f4.snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/ec8d5aa98f2e5e4f64b5ebcc46cf2ae5ba258b2435b06065ba1e6a67dd98f031b4bab498b48653b60383bc2c9cc12d7a0091e3ff953fd52a1498778a6620b9f4.snapshot.json
new file mode 100644
index 0000000..8281d18
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/ec8d5aa98f2e5e4f64b5ebcc46cf2ae5ba258b2435b06065ba1e6a67dd98f031b4bab498b48653b60383bc2c9cc12d7a0091e3ff953fd52a1498778a6620b9f4.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"a8b64a1d0979024fc54374aa35782f692f4acadbeba71674e29c004fccfa7adce4a4afc419e3ee161422197b6470a73e5c76515d054e7c2a94e11fe73564155e"},"length":1487,"version":10},"targets.json":{"hashes":{"sha512":"6b114fced02c0f2f6d326a690dddc9e1976988dbeb1c5a836ba4f5f02de4adcbc71dddd65cc69669f6ec02bff1c168c27f22b37dcba431b0a2e4672eda85adf1"},"length":1349,"version":6}},"version":6},"signatures":[{"keyid":"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69","method":"ed25519","sig":"b281daf89f71b70cf0acc96d56dff6d02dbe11e6711d84f6247f65ef44ac9636bbc7bbb24650665f7697fe7745bd209a9930e52c359d72ad614294da76993703"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/f031988b8d6e21a01142a1fcee1d9d0096119cdc86ad61462bfc57a50a7ee5e865802832c2a3704908f65a1fc95a318a57ec928ad5bea6565b7c30faa74da85b.root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/f031988b8d6e21a01142a1fcee1d9d0096119cdc86ad61462bfc57a50a7ee5e865802832c2a3704908f65a1fc95a318a57ec928ad5bea6565b7c30faa74da85b.root.json
new file mode 100644
index 0000000..b295df4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/f031988b8d6e21a01142a1fcee1d9d0096119cdc86ad61462bfc57a50a7ee5e865802832c2a3704908f65a1fc95a318a57ec928ad5bea6565b7c30faa74da85b.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69":{"keytype":"ed25519","keyval":{"public":"e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"}},"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a":{"keytype":"ed25519","keyval":{"public":"2cb8f268eecc8b71b24b46b76591814988f9a36f7d612fa15570356dfe6c8c03"}},"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3":{"keytype":"ed25519","keyval":{"public":"f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"}},"a80e1f2f8295ca1d7ea2e9f49aa5cabf8c4f24f6b7cec9dc79f0ed9c01fb13bc":{"keytype":"ed25519","keyval":{"public":"80eccc5cfdc99ab297a74a3ca0a782529778988d917f74a3a9078e7a7738617e"}}},"roles":{"root":{"keyids":["4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a"],"threshold":1},"snapshot":{"keyids":["033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69"],"threshold":1},"targets":{"keyids":["509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3"],"threshold":1},"timestamp":{"keyids":["a80e1f2f8295ca1d7ea2e9f49aa5cabf8c4f24f6b7cec9dc79f0ed9c01fb13bc"],"threshold":1}},"version":4},"signatures":[{"keyid":"4f6672406ebe4b23b8815a497314e4b7db504605810c524b37ee7ed3c93ac20a","method":"ed25519","sig":"c1f117bf9a1cf7051fe863b7369a405c85ce9969c6c687d3625158ba870705e45ec0118493f762a51e30aaab7397ec4fca0ff560be6e4b444a497645711ff40b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/root.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/root.json
new file mode 100644
index 0000000..6128c11
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69":{"keytype":"ed25519","keyval":{"public":"e2020545aff5964ac4fb3521f82d73e768554c4c3526e5ef2b74aa05b551f8a1"}},"059d5e6fb4f30a6e022d25ba2146214f346e4ec198d263d62c7a8b6f61f185ab":{"keytype":"ed25519","keyval":{"public":"4cb867728dd3405ab20aed8e099f63d1ee4392ba9b4d17b6599988e552b8043f"}},"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3":{"keytype":"ed25519","keyval":{"public":"f2b531196082affb72b54d720fb9987fa540e2840c121dbca60726d9f1ed3702"}},"dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399":{"keytype":"ed25519","keyval":{"public":"750a38ecc1d14ea877bc24bfc419f5bc4ce493e2023f97dee9c94dc6fdebccf8"}}},"roles":{"root":{"keyids":["059d5e6fb4f30a6e022d25ba2146214f346e4ec198d263d62c7a8b6f61f185ab"],"threshold":1},"snapshot":{"keyids":["033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69"],"threshold":1},"targets":{"keyids":["509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3"],"threshold":1},"timestamp":{"keyids":["dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399"],"threshold":1}},"version":10},"signatures":[{"keyid":"059d5e6fb4f30a6e022d25ba2146214f346e4ec198d263d62c7a8b6f61f185ab","method":"ed25519","sig":"2bacf2488b5c3ce80ab00dc479909568a777593db756af54e701abba379052f988daec550ddb72a3dc9d4a8e674e6e39fc0977216ad7081547b218437e993108"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/snapshot.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/snapshot.json
new file mode 100644
index 0000000..8281d18
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"a8b64a1d0979024fc54374aa35782f692f4acadbeba71674e29c004fccfa7adce4a4afc419e3ee161422197b6470a73e5c76515d054e7c2a94e11fe73564155e"},"length":1487,"version":10},"targets.json":{"hashes":{"sha512":"6b114fced02c0f2f6d326a690dddc9e1976988dbeb1c5a836ba4f5f02de4adcbc71dddd65cc69669f6ec02bff1c168c27f22b37dcba431b0a2e4672eda85adf1"},"length":1349,"version":6}},"version":6},"signatures":[{"keyid":"033f682e0532f28bca1ab0a4451c51f48a7f2d00dcad648e2bedfb93d1124e69","method":"ed25519","sig":"b281daf89f71b70cf0acc96d56dff6d02dbe11e6711d84f6247f65ef44ac9636bbc7bbb24650665f7697fe7745bd209a9930e52c359d72ad614294da76993703"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/targets.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/targets.json
new file mode 100644
index 0000000..1b3bdf5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","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":"509ffc83dfc2282037f886b278530e689284dfe69f8d36153e63fb4028fed8a3","method":"ed25519","sig":"db780b7e4a63e738d741b26d9bb30581e6f4c07d18b09c9124a742fdd9d141739c6af3516299519478e89f93de0ba880d80e8dbd0d61f5f9d02e0c3bd2a60709"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5
new file mode 100644
index 0000000..7813681
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5
@@ -0,0 +1 @@
+5
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4 b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/timestamp.json b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/timestamp.json
new file mode 100644
index 0000000..1be63e9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/consistent-snapshot-true/5/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"ec8d5aa98f2e5e4f64b5ebcc46cf2ae5ba258b2435b06065ba1e6a67dd98f031b4bab498b48653b60383bc2c9cc12d7a0091e3ff953fd52a1498778a6620b9f4"},"length":719,"version":6}},"version":6},"signatures":[{"keyid":"dd602341baf426b21d5e9710ebbc9e4fd5b022d0420fb7830fcf26a60d57d399","method":"ed25519","sig":"067e7f112effda2b0c6c34d4b7636dd5ba25ea9175fb42a41b4325cf86cbce3377b2a3a024a64d6b6fa54310dae8f7e5d130cd540f231f0516a7fb9e22be6a0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M0/generate.go b/client/testdata/go-tuf-transition-M0/generate.go
new file mode 100644
index 0000000..e815de6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M0/generate.go
@@ -0,0 +1,164 @@
+package main
+
+import (
+	"encoding/json"
+	"fmt"
+	"io/ioutil"
+	"log"
+	"os"
+	"os/exec"
+	"path/filepath"
+	"time"
+
+	tuf "github.com/flynn/go-tuf"
+	"github.com/flynn/go-tuf/sign"
+)
+
+var expirationDate = time.Date(2100, time.January, 1, 0, 0, 0, 0, time.UTC)
+
+type persistedKeys struct {
+	Encrypted bool               `json:"encrypted"`
+	Data      []*sign.PrivateKey `json:"data"`
+}
+
+func assertNotNil(err error) {
+	if err != nil {
+		panic(fmt.Sprintf("assertion failed: %s", err))
+	}
+}
+
+func copyRepo(src string, dst string) {
+	cmd := exec.Command("cp", "-r", src, dst)
+	assertNotNil(cmd.Run())
+}
+
+func newRepo(dir string) *tuf.Repo {
+	repo, err := tuf.NewRepo(tuf.FileSystemStore(dir, nil))
+	assertNotNil(err)
+
+	return repo
+}
+
+func commit(repo *tuf.Repo) {
+	assertNotNil(repo.SnapshotWithExpires(tuf.CompressionTypeNone, expirationDate))
+	assertNotNil(repo.TimestampWithExpires(expirationDate))
+	assertNotNil(repo.Commit())
+}
+
+func genKeys(repo *tuf.Repo, roles []string) map[string]string {
+	ids := make(map[string]string)
+
+	for _, role := range roles {
+		id, err := repo.GenKeyWithExpires(role, expirationDate)
+		assertNotNil(err)
+		ids[role] = id
+	}
+
+	return ids
+}
+
+func addTargets(repo *tuf.Repo, dir string, files map[string][]byte) {
+	paths := []string{}
+	for file, data := range files {
+		path := filepath.Join(dir, "staged", "targets", file)
+		assertNotNil(os.MkdirAll(filepath.Dir(path), 0755))
+		assertNotNil(ioutil.WriteFile(path, data, 0644))
+		paths = append(paths, file)
+	}
+	assertNotNil(repo.AddTargetsWithExpires(paths, nil, expirationDate))
+}
+
+func revokeKey(repo *tuf.Repo, role string, id string) {
+	assertNotNil(repo.RevokeKeyWithExpires(role, id, expirationDate))
+}
+
+// repoFilteredKeys filters out a key to make sure we can't sign with it. This
+// is to make sure key rotation worked.
+func filterKeys(dir string, role string, id string) {
+	path := filepath.Join(dir, "keys", fmt.Sprintf("%s.json", role))
+	b, err := ioutil.ReadFile(path)
+	assertNotNil(err)
+
+	keys := &persistedKeys{}
+	assertNotNil(json.Unmarshal(b, keys))
+
+	newKeys := []*sign.PrivateKey{}
+	for _, key := range keys.Data {
+		if key.PublicData().ID() != id {
+			newKeys = append(newKeys, key)
+		}
+	}
+	keys.Data = newKeys
+
+	b, err = json.Marshal(keys)
+	assertNotNil(err)
+
+	err = ioutil.WriteFile(path, b, 0644)
+	assertNotNil(err)
+}
+
+func generateRepos(dir string) {
+	// Create the initial repo.
+	dir0 := filepath.Join(dir, "0")
+	repo0 := newRepo(dir0)
+	ids := genKeys(repo0, []string{"root", "snapshot", "targets", "timestamp"})
+	addTargets(repo0, dir0, map[string][]byte{"0": []byte("0")})
+	commit(repo0)
+
+	// Rotate the timestamp keys.
+	dir1 := filepath.Join(dir, "1")
+	copyRepo(dir0, dir1)
+	repo1 := newRepo(dir1)
+	revokeKey(repo1, "timestamp", ids["timestamp"])
+	genKeys(repo1, []string{"timestamp"})
+	addTargets(repo1, dir1, map[string][]byte{"1": []byte("1")})
+	commit(repo1)
+
+	// Filter out the old timestamp key to make sure we can't use it.
+	dir2 := filepath.Join(dir, "2")
+	copyRepo(dir1, dir2)
+	filterKeys(dir2, "timestamp", ids["timestamp"])
+	repo2 := newRepo(dir2)
+	addTargets(repo2, dir2, map[string][]byte{"2": []byte("2")})
+	commit(repo2)
+
+	// Now, actually rotate the root keys.
+	dir3 := filepath.Join(dir, "3")
+	copyRepo(dir2, dir3)
+	repo3 := newRepo(dir3)
+	revokeKey(repo3, "root", ids["root"])
+	genKeys(repo3, []string{"root"})
+	addTargets(repo3, dir3, map[string][]byte{"3": []byte("3")})
+	commit(repo3)
+
+	// Filter out the old root key to make sure we can't use it.
+	dir4 := filepath.Join(dir, "4")
+	copyRepo(dir3, dir4)
+	filterKeys(dir4, "root", ids["root"])
+	// The only way to force go-tuf to re-sign the root.json is to generate
+	// or revoke a key. So why not do both?
+	repo4 := newRepo(dir4)
+	ids = genKeys(repo4, []string{"snapshot"})
+	revokeKey(repo4, "snapshot", ids["snapshot"])
+	addTargets(repo4, dir4, map[string][]byte{"4": []byte("4")})
+	commit(repo4)
+
+	// Add another target file to make sure the workflow worked.
+	dir5 := filepath.Join(dir, "5")
+	copyRepo(dir4, dir5)
+	repo5 := newRepo(dir5)
+	addTargets(repo5, dir5, map[string][]byte{"5": []byte("5")})
+	commit(repo5)
+}
+
+func main() {
+	cwd, err := os.Getwd()
+	assertNotNil(err)
+
+	for _, consistentSnapshot := range []bool{false, true} {
+		name := fmt.Sprintf("consistent-snapshot-%t", consistentSnapshot)
+		log.Printf("generating %s", name)
+		generateRepos(filepath.Join(cwd, name))
+	}
+
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/keys/root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/keys/root.json
new file mode 100644
index 0000000..fdbec18
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/keys/root.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71",
+				"private": "e11a7dd4f94b0264532b01235a264726d015d4f132410f1718ace9818e7a50ee6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/keys/snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/keys/snapshot.json
new file mode 100644
index 0000000..205d172
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/keys/snapshot.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2",
+				"private": "bebb9ee76655c200350eea729166971ff17aa2b2065800487a8e7d1d7bd7410587e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/keys/targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/keys/targets.json
new file mode 100644
index 0000000..20838a4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/keys/targets.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475",
+				"private": "af2990d0837ddae7168c4ee9243191d233c0b2c03ba808c5b62a06915050d37c2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/keys/timestamp.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/keys/timestamp.json
new file mode 100644
index 0000000..1a22b78
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/keys/timestamp.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "9dc1d9079a4d19b8e79ff79d833b66058754a9d9d34844d9d88db422a32488c5",
+				"private": "e2547b0eefd1b6d9394fe5ba55733823a8092bf79def0ed36b02d967eadefe609dc1d9079a4d19b8e79ff79d833b66058754a9d9d34844d9d88db422a32488c5"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/1.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/1.root.json
new file mode 100644
index 0000000..bc2e5b4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369":{"keytype":"ed25519","keyval":{"public":"6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"7433ea08f49113866c973d20777ce42a1af334fa69b15be1f992d377a4bf6bae":{"keytype":"ed25519","keyval":{"public":"9dc1d9079a4d19b8e79ff79d833b66058754a9d9d34844d9d88db422a32488c5"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}}},"roles":{"root":{"keyids":["361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["7433ea08f49113866c973d20777ce42a1af334fa69b15be1f992d377a4bf6bae"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"344ab3e82eecc5bd431b16dfafddd727d6e98505973fdaec6f7bc9b133eed6e6e2cdd6f583b9a234e84d908f9e3ff4c4a4954096e780a5a419474b1ff819920c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/1.snapshot.json
new file mode 100644
index 0000000..69a6447
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df"},"length":1507,"version":1},"targets.json":{"hashes":{"sha512":"2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215"},"length":525,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"68a8fec02f90ebbb871417b1df60ef94757a92b536ec4a9a21299220398517bb862ef1603a55de1dcc49887cfa0d0191b5d5ad19d451da900e423a75bdd0a80d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/1.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/1.targets.json
new file mode 100644
index 0000000..2a7db91
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"04486acb6cd902627d0b4bd4d2287a350874a073c6440fa62f6c1a2f93197ceafa3d2cbb37521ce8f6821f10250a1a0ec98269bf6bf48678fa585b61b8008e0c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/2a56558a11bb008fce80a5d92242c564002046d8598daba09201878b6409ea3ef58a6d6f4ce535a96c674046e479781d41e49f6e0e6ace582f21938a42ea59da.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/2a56558a11bb008fce80a5d92242c564002046d8598daba09201878b6409ea3ef58a6d6f4ce535a96c674046e479781d41e49f6e0e6ace582f21938a42ea59da.snapshot.json
new file mode 100644
index 0000000..69a6447
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/2a56558a11bb008fce80a5d92242c564002046d8598daba09201878b6409ea3ef58a6d6f4ce535a96c674046e479781d41e49f6e0e6ace582f21938a42ea59da.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df"},"length":1507,"version":1},"targets.json":{"hashes":{"sha512":"2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215"},"length":525,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"68a8fec02f90ebbb871417b1df60ef94757a92b536ec4a9a21299220398517bb862ef1603a55de1dcc49887cfa0d0191b5d5ad19d451da900e423a75bdd0a80d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215.targets.json
new file mode 100644
index 0000000..2a7db91
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"04486acb6cd902627d0b4bd4d2287a350874a073c6440fa62f6c1a2f93197ceafa3d2cbb37521ce8f6821f10250a1a0ec98269bf6bf48678fa585b61b8008e0c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df.root.json
new file mode 100644
index 0000000..bc2e5b4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369":{"keytype":"ed25519","keyval":{"public":"6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"7433ea08f49113866c973d20777ce42a1af334fa69b15be1f992d377a4bf6bae":{"keytype":"ed25519","keyval":{"public":"9dc1d9079a4d19b8e79ff79d833b66058754a9d9d34844d9d88db422a32488c5"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}}},"roles":{"root":{"keyids":["361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["7433ea08f49113866c973d20777ce42a1af334fa69b15be1f992d377a4bf6bae"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"344ab3e82eecc5bd431b16dfafddd727d6e98505973fdaec6f7bc9b133eed6e6e2cdd6f583b9a234e84d908f9e3ff4c4a4954096e780a5a419474b1ff819920c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/root.json
new file mode 100644
index 0000000..bc2e5b4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369":{"keytype":"ed25519","keyval":{"public":"6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"7433ea08f49113866c973d20777ce42a1af334fa69b15be1f992d377a4bf6bae":{"keytype":"ed25519","keyval":{"public":"9dc1d9079a4d19b8e79ff79d833b66058754a9d9d34844d9d88db422a32488c5"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}}},"roles":{"root":{"keyids":["361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["7433ea08f49113866c973d20777ce42a1af334fa69b15be1f992d377a4bf6bae"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"344ab3e82eecc5bd431b16dfafddd727d6e98505973fdaec6f7bc9b133eed6e6e2cdd6f583b9a234e84d908f9e3ff4c4a4954096e780a5a419474b1ff819920c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/snapshot.json
new file mode 100644
index 0000000..69a6447
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df"},"length":1507,"version":1},"targets.json":{"hashes":{"sha512":"2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215"},"length":525,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"68a8fec02f90ebbb871417b1df60ef94757a92b536ec4a9a21299220398517bb862ef1603a55de1dcc49887cfa0d0191b5d5ad19d451da900e423a75bdd0a80d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/targets.json
new file mode 100644
index 0000000..2a7db91
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"04486acb6cd902627d0b4bd4d2287a350874a073c6440fa62f6c1a2f93197ceafa3d2cbb37521ce8f6821f10250a1a0ec98269bf6bf48678fa585b61b8008e0c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/targets/0.0 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/timestamp.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/timestamp.json
new file mode 100644
index 0000000..e2e26ac
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/0/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"2a56558a11bb008fce80a5d92242c564002046d8598daba09201878b6409ea3ef58a6d6f4ce535a96c674046e479781d41e49f6e0e6ace582f21938a42ea59da"},"length":738,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"7433ea08f49113866c973d20777ce42a1af334fa69b15be1f992d377a4bf6bae","method":"ed25519","sig":"2ba54732e0cf2378e0b8a8c1d7d051af6028222bc57b7fded4ba56ee58d5fe5e001e222ef88cef57ced7c618bf452995450f55fd0390caa74e223afec5ee3f0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/keys/root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/keys/root.json
new file mode 100644
index 0000000..fdbec18
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/keys/root.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71",
+				"private": "e11a7dd4f94b0264532b01235a264726d015d4f132410f1718ace9818e7a50ee6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/keys/snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/keys/snapshot.json
new file mode 100644
index 0000000..205d172
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/keys/snapshot.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2",
+				"private": "bebb9ee76655c200350eea729166971ff17aa2b2065800487a8e7d1d7bd7410587e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/keys/targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/keys/targets.json
new file mode 100644
index 0000000..20838a4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/keys/targets.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475",
+				"private": "af2990d0837ddae7168c4ee9243191d233c0b2c03ba808c5b62a06915050d37c2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/keys/timestamp.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/keys/timestamp.json
new file mode 100644
index 0000000..e33ae5d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/keys/timestamp.json
@@ -0,0 +1,19 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "9dc1d9079a4d19b8e79ff79d833b66058754a9d9d34844d9d88db422a32488c5",
+				"private": "e2547b0eefd1b6d9394fe5ba55733823a8092bf79def0ed36b02d967eadefe609dc1d9079a4d19b8e79ff79d833b66058754a9d9d34844d9d88db422a32488c5"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587",
+				"private": "c7ff67fc5eb9515dbb37b18114c36b5c4d6f0845954e499300350ab6a39b84301ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/1.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/1.root.json
new file mode 100644
index 0000000..bc2e5b4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369":{"keytype":"ed25519","keyval":{"public":"6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"7433ea08f49113866c973d20777ce42a1af334fa69b15be1f992d377a4bf6bae":{"keytype":"ed25519","keyval":{"public":"9dc1d9079a4d19b8e79ff79d833b66058754a9d9d34844d9d88db422a32488c5"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}}},"roles":{"root":{"keyids":["361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["7433ea08f49113866c973d20777ce42a1af334fa69b15be1f992d377a4bf6bae"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"344ab3e82eecc5bd431b16dfafddd727d6e98505973fdaec6f7bc9b133eed6e6e2cdd6f583b9a234e84d908f9e3ff4c4a4954096e780a5a419474b1ff819920c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/1.snapshot.json
new file mode 100644
index 0000000..69a6447
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df"},"length":1507,"version":1},"targets.json":{"hashes":{"sha512":"2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215"},"length":525,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"68a8fec02f90ebbb871417b1df60ef94757a92b536ec4a9a21299220398517bb862ef1603a55de1dcc49887cfa0d0191b5d5ad19d451da900e423a75bdd0a80d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/1.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/1.targets.json
new file mode 100644
index 0000000..2a7db91
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"04486acb6cd902627d0b4bd4d2287a350874a073c6440fa62f6c1a2f93197ceafa3d2cbb37521ce8f6821f10250a1a0ec98269bf6bf48678fa585b61b8008e0c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36.root.json
new file mode 100644
index 0000000..2ccdb28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369":{"keytype":"ed25519","keyval":{"public":"6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}},"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8":{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}},"roles":{"root":{"keyids":["361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"13b739bbe091db9706a1ed5dc3d6465a578cf72eed5351523f172f7b591b6b51912a5f8f6a00889f4d47b97b9e2796eeb137f82748a8881777470a389f15e608"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/2.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/2.root.json
new file mode 100644
index 0000000..2ccdb28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369":{"keytype":"ed25519","keyval":{"public":"6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}},"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8":{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}},"roles":{"root":{"keyids":["361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"13b739bbe091db9706a1ed5dc3d6465a578cf72eed5351523f172f7b591b6b51912a5f8f6a00889f4d47b97b9e2796eeb137f82748a8881777470a389f15e608"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/2.snapshot.json
new file mode 100644
index 0000000..d8bf343
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"33624c503b2688b5c4c4702c6e2316d3f70052d87385de57621c329b4d5c2dc08b921dbde890a32417afb61016c3a40bace62aad95010a58f71d05878cf38725"},"length":694,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"f849430057afa19c8bb9bf7d092465ec966246bb09b3a45e3a2d294acb2e372b6e5c91a928f58bc4a2c61d6e6088872098c72462118748976e9ec78a6a4f8a01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/2.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/2.targets.json
new file mode 100644
index 0000000..6ea5301
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/2.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"64b60bc5f86bdce567bf55628cd2a0ed2762c17b15f47193db007d5857f02af62dfcb47f785cb52c6c5aac98219bfd0993bd2f30bdf23ca934af08fc5c5df702"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/2a56558a11bb008fce80a5d92242c564002046d8598daba09201878b6409ea3ef58a6d6f4ce535a96c674046e479781d41e49f6e0e6ace582f21938a42ea59da.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/2a56558a11bb008fce80a5d92242c564002046d8598daba09201878b6409ea3ef58a6d6f4ce535a96c674046e479781d41e49f6e0e6ace582f21938a42ea59da.snapshot.json
new file mode 100644
index 0000000..69a6447
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/2a56558a11bb008fce80a5d92242c564002046d8598daba09201878b6409ea3ef58a6d6f4ce535a96c674046e479781d41e49f6e0e6ace582f21938a42ea59da.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df"},"length":1507,"version":1},"targets.json":{"hashes":{"sha512":"2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215"},"length":525,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"68a8fec02f90ebbb871417b1df60ef94757a92b536ec4a9a21299220398517bb862ef1603a55de1dcc49887cfa0d0191b5d5ad19d451da900e423a75bdd0a80d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215.targets.json
new file mode 100644
index 0000000..2a7db91
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"04486acb6cd902627d0b4bd4d2287a350874a073c6440fa62f6c1a2f93197ceafa3d2cbb37521ce8f6821f10250a1a0ec98269bf6bf48678fa585b61b8008e0c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/33624c503b2688b5c4c4702c6e2316d3f70052d87385de57621c329b4d5c2dc08b921dbde890a32417afb61016c3a40bace62aad95010a58f71d05878cf38725.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/33624c503b2688b5c4c4702c6e2316d3f70052d87385de57621c329b4d5c2dc08b921dbde890a32417afb61016c3a40bace62aad95010a58f71d05878cf38725.targets.json
new file mode 100644
index 0000000..6ea5301
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/33624c503b2688b5c4c4702c6e2316d3f70052d87385de57621c329b4d5c2dc08b921dbde890a32417afb61016c3a40bace62aad95010a58f71d05878cf38725.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"64b60bc5f86bdce567bf55628cd2a0ed2762c17b15f47193db007d5857f02af62dfcb47f785cb52c6c5aac98219bfd0993bd2f30bdf23ca934af08fc5c5df702"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df.root.json
new file mode 100644
index 0000000..bc2e5b4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369":{"keytype":"ed25519","keyval":{"public":"6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"7433ea08f49113866c973d20777ce42a1af334fa69b15be1f992d377a4bf6bae":{"keytype":"ed25519","keyval":{"public":"9dc1d9079a4d19b8e79ff79d833b66058754a9d9d34844d9d88db422a32488c5"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}}},"roles":{"root":{"keyids":["361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["7433ea08f49113866c973d20777ce42a1af334fa69b15be1f992d377a4bf6bae"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"344ab3e82eecc5bd431b16dfafddd727d6e98505973fdaec6f7bc9b133eed6e6e2cdd6f583b9a234e84d908f9e3ff4c4a4954096e780a5a419474b1ff819920c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/e802563e327c578aa969ca5332149fcfc0b844cee925d2c50bb84b2e2587f463e325aac252303bc22cfc037b5cd15b6fd2259358528f150fed779b54e504be4c.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/e802563e327c578aa969ca5332149fcfc0b844cee925d2c50bb84b2e2587f463e325aac252303bc22cfc037b5cd15b6fd2259358528f150fed779b54e504be4c.snapshot.json
new file mode 100644
index 0000000..d8bf343
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/e802563e327c578aa969ca5332149fcfc0b844cee925d2c50bb84b2e2587f463e325aac252303bc22cfc037b5cd15b6fd2259358528f150fed779b54e504be4c.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"33624c503b2688b5c4c4702c6e2316d3f70052d87385de57621c329b4d5c2dc08b921dbde890a32417afb61016c3a40bace62aad95010a58f71d05878cf38725"},"length":694,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"f849430057afa19c8bb9bf7d092465ec966246bb09b3a45e3a2d294acb2e372b6e5c91a928f58bc4a2c61d6e6088872098c72462118748976e9ec78a6a4f8a01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/root.json
new file mode 100644
index 0000000..2ccdb28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369":{"keytype":"ed25519","keyval":{"public":"6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}},"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8":{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}},"roles":{"root":{"keyids":["361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"13b739bbe091db9706a1ed5dc3d6465a578cf72eed5351523f172f7b591b6b51912a5f8f6a00889f4d47b97b9e2796eeb137f82748a8881777470a389f15e608"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/snapshot.json
new file mode 100644
index 0000000..d8bf343
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"33624c503b2688b5c4c4702c6e2316d3f70052d87385de57621c329b4d5c2dc08b921dbde890a32417afb61016c3a40bace62aad95010a58f71d05878cf38725"},"length":694,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"f849430057afa19c8bb9bf7d092465ec966246bb09b3a45e3a2d294acb2e372b6e5c91a928f58bc4a2c61d6e6088872098c72462118748976e9ec78a6a4f8a01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/targets.json
new file mode 100644
index 0000000..6ea5301
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"64b60bc5f86bdce567bf55628cd2a0ed2762c17b15f47193db007d5857f02af62dfcb47f785cb52c6c5aac98219bfd0993bd2f30bdf23ca934af08fc5c5df702"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/targets/0.0 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/targets/0.1 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/timestamp.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/timestamp.json
new file mode 100644
index 0000000..1d9f19f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/1/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"e802563e327c578aa969ca5332149fcfc0b844cee925d2c50bb84b2e2587f463e325aac252303bc22cfc037b5cd15b6fd2259358528f150fed779b54e504be4c"},"length":738,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8","method":"ed25519","sig":"d29e21eac43d82457321ca2090d512284410024f98ffcfcb26665db630b30d8abc94c829cde1a20611e4833d5306721457046979c862dcbb45363cd8a577bb01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/keys/root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/keys/root.json
new file mode 100644
index 0000000..fdbec18
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/keys/root.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71",
+				"private": "e11a7dd4f94b0264532b01235a264726d015d4f132410f1718ace9818e7a50ee6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/keys/snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/keys/snapshot.json
new file mode 100644
index 0000000..205d172
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/keys/snapshot.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2",
+				"private": "bebb9ee76655c200350eea729166971ff17aa2b2065800487a8e7d1d7bd7410587e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/keys/targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/keys/targets.json
new file mode 100644
index 0000000..20838a4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/keys/targets.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475",
+				"private": "af2990d0837ddae7168c4ee9243191d233c0b2c03ba808c5b62a06915050d37c2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/keys/timestamp.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/keys/timestamp.json
new file mode 100644
index 0000000..421c8aa
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587","private":"c7ff67fc5eb9515dbb37b18114c36b5c4d6f0845954e499300350ab6a39b84301ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/1.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/1.root.json
new file mode 100644
index 0000000..bc2e5b4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369":{"keytype":"ed25519","keyval":{"public":"6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"7433ea08f49113866c973d20777ce42a1af334fa69b15be1f992d377a4bf6bae":{"keytype":"ed25519","keyval":{"public":"9dc1d9079a4d19b8e79ff79d833b66058754a9d9d34844d9d88db422a32488c5"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}}},"roles":{"root":{"keyids":["361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["7433ea08f49113866c973d20777ce42a1af334fa69b15be1f992d377a4bf6bae"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"344ab3e82eecc5bd431b16dfafddd727d6e98505973fdaec6f7bc9b133eed6e6e2cdd6f583b9a234e84d908f9e3ff4c4a4954096e780a5a419474b1ff819920c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/1.snapshot.json
new file mode 100644
index 0000000..69a6447
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df"},"length":1507,"version":1},"targets.json":{"hashes":{"sha512":"2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215"},"length":525,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"68a8fec02f90ebbb871417b1df60ef94757a92b536ec4a9a21299220398517bb862ef1603a55de1dcc49887cfa0d0191b5d5ad19d451da900e423a75bdd0a80d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/1.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/1.targets.json
new file mode 100644
index 0000000..2a7db91
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"04486acb6cd902627d0b4bd4d2287a350874a073c6440fa62f6c1a2f93197ceafa3d2cbb37521ce8f6821f10250a1a0ec98269bf6bf48678fa585b61b8008e0c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36.root.json
new file mode 100644
index 0000000..2ccdb28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369":{"keytype":"ed25519","keyval":{"public":"6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}},"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8":{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}},"roles":{"root":{"keyids":["361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"13b739bbe091db9706a1ed5dc3d6465a578cf72eed5351523f172f7b591b6b51912a5f8f6a00889f4d47b97b9e2796eeb137f82748a8881777470a389f15e608"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/2.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/2.root.json
new file mode 100644
index 0000000..2ccdb28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369":{"keytype":"ed25519","keyval":{"public":"6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}},"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8":{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}},"roles":{"root":{"keyids":["361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"13b739bbe091db9706a1ed5dc3d6465a578cf72eed5351523f172f7b591b6b51912a5f8f6a00889f4d47b97b9e2796eeb137f82748a8881777470a389f15e608"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/2.snapshot.json
new file mode 100644
index 0000000..d8bf343
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"33624c503b2688b5c4c4702c6e2316d3f70052d87385de57621c329b4d5c2dc08b921dbde890a32417afb61016c3a40bace62aad95010a58f71d05878cf38725"},"length":694,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"f849430057afa19c8bb9bf7d092465ec966246bb09b3a45e3a2d294acb2e372b6e5c91a928f58bc4a2c61d6e6088872098c72462118748976e9ec78a6a4f8a01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/2.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/2.targets.json
new file mode 100644
index 0000000..6ea5301
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/2.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"64b60bc5f86bdce567bf55628cd2a0ed2762c17b15f47193db007d5857f02af62dfcb47f785cb52c6c5aac98219bfd0993bd2f30bdf23ca934af08fc5c5df702"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/2a56558a11bb008fce80a5d92242c564002046d8598daba09201878b6409ea3ef58a6d6f4ce535a96c674046e479781d41e49f6e0e6ace582f21938a42ea59da.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/2a56558a11bb008fce80a5d92242c564002046d8598daba09201878b6409ea3ef58a6d6f4ce535a96c674046e479781d41e49f6e0e6ace582f21938a42ea59da.snapshot.json
new file mode 100644
index 0000000..69a6447
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/2a56558a11bb008fce80a5d92242c564002046d8598daba09201878b6409ea3ef58a6d6f4ce535a96c674046e479781d41e49f6e0e6ace582f21938a42ea59da.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df"},"length":1507,"version":1},"targets.json":{"hashes":{"sha512":"2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215"},"length":525,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"68a8fec02f90ebbb871417b1df60ef94757a92b536ec4a9a21299220398517bb862ef1603a55de1dcc49887cfa0d0191b5d5ad19d451da900e423a75bdd0a80d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215.targets.json
new file mode 100644
index 0000000..2a7db91
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"04486acb6cd902627d0b4bd4d2287a350874a073c6440fa62f6c1a2f93197ceafa3d2cbb37521ce8f6821f10250a1a0ec98269bf6bf48678fa585b61b8008e0c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/3.snapshot.json
new file mode 100644
index 0000000..b03737c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"34ed328754a1f506e66c631380e0f81c4a378db52bccad1e0fcdc599a5318777bee2dd623bb2898cf494f5d9c1bf60ede08b552bea73c50e89a5c0770322cced"},"length":863,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"6a8e74a6f6960988401de9b847e71a8e9d96d21d4006f4f0a6834f3292dd709491c82964671d9ee7f96949103efe78b941d631596c0a181fdf21b088e415f50f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/3.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/3.targets.json
new file mode 100644
index 0000000..5df7215
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/3.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"cd099e52c0892120d44107045b19163bf88335c10d05122c39042ac0d77cfea2cc0ecca185d2f6c1671a4d9b9e1e2a994e20b3130c229d4ea70f14eed9790301"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/33624c503b2688b5c4c4702c6e2316d3f70052d87385de57621c329b4d5c2dc08b921dbde890a32417afb61016c3a40bace62aad95010a58f71d05878cf38725.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/33624c503b2688b5c4c4702c6e2316d3f70052d87385de57621c329b4d5c2dc08b921dbde890a32417afb61016c3a40bace62aad95010a58f71d05878cf38725.targets.json
new file mode 100644
index 0000000..6ea5301
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/33624c503b2688b5c4c4702c6e2316d3f70052d87385de57621c329b4d5c2dc08b921dbde890a32417afb61016c3a40bace62aad95010a58f71d05878cf38725.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"64b60bc5f86bdce567bf55628cd2a0ed2762c17b15f47193db007d5857f02af62dfcb47f785cb52c6c5aac98219bfd0993bd2f30bdf23ca934af08fc5c5df702"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/34ed328754a1f506e66c631380e0f81c4a378db52bccad1e0fcdc599a5318777bee2dd623bb2898cf494f5d9c1bf60ede08b552bea73c50e89a5c0770322cced.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/34ed328754a1f506e66c631380e0f81c4a378db52bccad1e0fcdc599a5318777bee2dd623bb2898cf494f5d9c1bf60ede08b552bea73c50e89a5c0770322cced.targets.json
new file mode 100644
index 0000000..5df7215
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/34ed328754a1f506e66c631380e0f81c4a378db52bccad1e0fcdc599a5318777bee2dd623bb2898cf494f5d9c1bf60ede08b552bea73c50e89a5c0770322cced.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"cd099e52c0892120d44107045b19163bf88335c10d05122c39042ac0d77cfea2cc0ecca185d2f6c1671a4d9b9e1e2a994e20b3130c229d4ea70f14eed9790301"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/c73d44089dfdab84cf7f69790aaa77796aaac58bc843f619354a55cb217523c2d76ffbb9343f6e2bb16577979f4b7bca061656f604acbe8762e5b3363c5d3e97.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/c73d44089dfdab84cf7f69790aaa77796aaac58bc843f619354a55cb217523c2d76ffbb9343f6e2bb16577979f4b7bca061656f604acbe8762e5b3363c5d3e97.snapshot.json
new file mode 100644
index 0000000..b03737c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/c73d44089dfdab84cf7f69790aaa77796aaac58bc843f619354a55cb217523c2d76ffbb9343f6e2bb16577979f4b7bca061656f604acbe8762e5b3363c5d3e97.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"34ed328754a1f506e66c631380e0f81c4a378db52bccad1e0fcdc599a5318777bee2dd623bb2898cf494f5d9c1bf60ede08b552bea73c50e89a5c0770322cced"},"length":863,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"6a8e74a6f6960988401de9b847e71a8e9d96d21d4006f4f0a6834f3292dd709491c82964671d9ee7f96949103efe78b941d631596c0a181fdf21b088e415f50f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df.root.json
new file mode 100644
index 0000000..bc2e5b4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369":{"keytype":"ed25519","keyval":{"public":"6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"7433ea08f49113866c973d20777ce42a1af334fa69b15be1f992d377a4bf6bae":{"keytype":"ed25519","keyval":{"public":"9dc1d9079a4d19b8e79ff79d833b66058754a9d9d34844d9d88db422a32488c5"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}}},"roles":{"root":{"keyids":["361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["7433ea08f49113866c973d20777ce42a1af334fa69b15be1f992d377a4bf6bae"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"344ab3e82eecc5bd431b16dfafddd727d6e98505973fdaec6f7bc9b133eed6e6e2cdd6f583b9a234e84d908f9e3ff4c4a4954096e780a5a419474b1ff819920c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/e802563e327c578aa969ca5332149fcfc0b844cee925d2c50bb84b2e2587f463e325aac252303bc22cfc037b5cd15b6fd2259358528f150fed779b54e504be4c.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/e802563e327c578aa969ca5332149fcfc0b844cee925d2c50bb84b2e2587f463e325aac252303bc22cfc037b5cd15b6fd2259358528f150fed779b54e504be4c.snapshot.json
new file mode 100644
index 0000000..d8bf343
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/e802563e327c578aa969ca5332149fcfc0b844cee925d2c50bb84b2e2587f463e325aac252303bc22cfc037b5cd15b6fd2259358528f150fed779b54e504be4c.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"33624c503b2688b5c4c4702c6e2316d3f70052d87385de57621c329b4d5c2dc08b921dbde890a32417afb61016c3a40bace62aad95010a58f71d05878cf38725"},"length":694,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"f849430057afa19c8bb9bf7d092465ec966246bb09b3a45e3a2d294acb2e372b6e5c91a928f58bc4a2c61d6e6088872098c72462118748976e9ec78a6a4f8a01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/root.json
new file mode 100644
index 0000000..2ccdb28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369":{"keytype":"ed25519","keyval":{"public":"6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}},"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8":{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}},"roles":{"root":{"keyids":["361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"13b739bbe091db9706a1ed5dc3d6465a578cf72eed5351523f172f7b591b6b51912a5f8f6a00889f4d47b97b9e2796eeb137f82748a8881777470a389f15e608"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/snapshot.json
new file mode 100644
index 0000000..b03737c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"34ed328754a1f506e66c631380e0f81c4a378db52bccad1e0fcdc599a5318777bee2dd623bb2898cf494f5d9c1bf60ede08b552bea73c50e89a5c0770322cced"},"length":863,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"6a8e74a6f6960988401de9b847e71a8e9d96d21d4006f4f0a6834f3292dd709491c82964671d9ee7f96949103efe78b941d631596c0a181fdf21b088e415f50f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/targets.json
new file mode 100644
index 0000000..5df7215
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"cd099e52c0892120d44107045b19163bf88335c10d05122c39042ac0d77cfea2cc0ecca185d2f6c1671a4d9b9e1e2a994e20b3130c229d4ea70f14eed9790301"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/targets/0.0 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/targets/0.1 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/targets/0.2 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/targets/0.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/targets/0.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/timestamp.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/timestamp.json
new file mode 100644
index 0000000..00114ec
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/2/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"c73d44089dfdab84cf7f69790aaa77796aaac58bc843f619354a55cb217523c2d76ffbb9343f6e2bb16577979f4b7bca061656f604acbe8762e5b3363c5d3e97"},"length":738,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8","method":"ed25519","sig":"384a0dfcd88a744641cebab1e7607f23e1209b59974dd47b620284a3dcb13a0bfdca35e125d71c557754de3a5663a43b8494b81e6ab95fde5d11349dd6be5200"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/keys/root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/keys/root.json
new file mode 100644
index 0000000..1605ecc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/keys/root.json
@@ -0,0 +1,19 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71",
+				"private": "e11a7dd4f94b0264532b01235a264726d015d4f132410f1718ace9818e7a50ee6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "723c38a9636c18fe933bf3d3984cae569afb06e384384eadcb34c14f6db369e1",
+				"private": "57dcbfd22048e047f703e06b331699a2dc4a959da074db05211e9336125571b7723c38a9636c18fe933bf3d3984cae569afb06e384384eadcb34c14f6db369e1"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/keys/snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/keys/snapshot.json
new file mode 100644
index 0000000..205d172
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/keys/snapshot.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2",
+				"private": "bebb9ee76655c200350eea729166971ff17aa2b2065800487a8e7d1d7bd7410587e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/keys/targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/keys/targets.json
new file mode 100644
index 0000000..20838a4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/keys/targets.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475",
+				"private": "af2990d0837ddae7168c4ee9243191d233c0b2c03ba808c5b62a06915050d37c2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/keys/timestamp.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/keys/timestamp.json
new file mode 100644
index 0000000..421c8aa
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587","private":"c7ff67fc5eb9515dbb37b18114c36b5c4d6f0845954e499300350ab6a39b84301ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/1.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/1.root.json
new file mode 100644
index 0000000..bc2e5b4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369":{"keytype":"ed25519","keyval":{"public":"6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"7433ea08f49113866c973d20777ce42a1af334fa69b15be1f992d377a4bf6bae":{"keytype":"ed25519","keyval":{"public":"9dc1d9079a4d19b8e79ff79d833b66058754a9d9d34844d9d88db422a32488c5"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}}},"roles":{"root":{"keyids":["361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["7433ea08f49113866c973d20777ce42a1af334fa69b15be1f992d377a4bf6bae"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"344ab3e82eecc5bd431b16dfafddd727d6e98505973fdaec6f7bc9b133eed6e6e2cdd6f583b9a234e84d908f9e3ff4c4a4954096e780a5a419474b1ff819920c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/1.snapshot.json
new file mode 100644
index 0000000..69a6447
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df"},"length":1507,"version":1},"targets.json":{"hashes":{"sha512":"2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215"},"length":525,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"68a8fec02f90ebbb871417b1df60ef94757a92b536ec4a9a21299220398517bb862ef1603a55de1dcc49887cfa0d0191b5d5ad19d451da900e423a75bdd0a80d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/1.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/1.targets.json
new file mode 100644
index 0000000..2a7db91
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"04486acb6cd902627d0b4bd4d2287a350874a073c6440fa62f6c1a2f93197ceafa3d2cbb37521ce8f6821f10250a1a0ec98269bf6bf48678fa585b61b8008e0c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36.root.json
new file mode 100644
index 0000000..2ccdb28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369":{"keytype":"ed25519","keyval":{"public":"6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}},"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8":{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}},"roles":{"root":{"keyids":["361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"13b739bbe091db9706a1ed5dc3d6465a578cf72eed5351523f172f7b591b6b51912a5f8f6a00889f4d47b97b9e2796eeb137f82748a8881777470a389f15e608"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/2.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/2.root.json
new file mode 100644
index 0000000..2ccdb28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369":{"keytype":"ed25519","keyval":{"public":"6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}},"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8":{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}},"roles":{"root":{"keyids":["361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"13b739bbe091db9706a1ed5dc3d6465a578cf72eed5351523f172f7b591b6b51912a5f8f6a00889f4d47b97b9e2796eeb137f82748a8881777470a389f15e608"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/2.snapshot.json
new file mode 100644
index 0000000..d8bf343
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"33624c503b2688b5c4c4702c6e2316d3f70052d87385de57621c329b4d5c2dc08b921dbde890a32417afb61016c3a40bace62aad95010a58f71d05878cf38725"},"length":694,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"f849430057afa19c8bb9bf7d092465ec966246bb09b3a45e3a2d294acb2e372b6e5c91a928f58bc4a2c61d6e6088872098c72462118748976e9ec78a6a4f8a01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/2.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/2.targets.json
new file mode 100644
index 0000000..6ea5301
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/2.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"64b60bc5f86bdce567bf55628cd2a0ed2762c17b15f47193db007d5857f02af62dfcb47f785cb52c6c5aac98219bfd0993bd2f30bdf23ca934af08fc5c5df702"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/2a56558a11bb008fce80a5d92242c564002046d8598daba09201878b6409ea3ef58a6d6f4ce535a96c674046e479781d41e49f6e0e6ace582f21938a42ea59da.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/2a56558a11bb008fce80a5d92242c564002046d8598daba09201878b6409ea3ef58a6d6f4ce535a96c674046e479781d41e49f6e0e6ace582f21938a42ea59da.snapshot.json
new file mode 100644
index 0000000..69a6447
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/2a56558a11bb008fce80a5d92242c564002046d8598daba09201878b6409ea3ef58a6d6f4ce535a96c674046e479781d41e49f6e0e6ace582f21938a42ea59da.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df"},"length":1507,"version":1},"targets.json":{"hashes":{"sha512":"2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215"},"length":525,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"68a8fec02f90ebbb871417b1df60ef94757a92b536ec4a9a21299220398517bb862ef1603a55de1dcc49887cfa0d0191b5d5ad19d451da900e423a75bdd0a80d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215.targets.json
new file mode 100644
index 0000000..2a7db91
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"04486acb6cd902627d0b4bd4d2287a350874a073c6440fa62f6c1a2f93197ceafa3d2cbb37521ce8f6821f10250a1a0ec98269bf6bf48678fa585b61b8008e0c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/3.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/3.root.json
new file mode 100644
index 0000000..4ca981d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/3.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d":{"keytype":"ed25519","keyval":{"public":"723c38a9636c18fe933bf3d3984cae569afb06e384384eadcb34c14f6db369e1"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}},"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8":{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}},"roles":{"root":{"keyids":["113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"60262fa65f836d0bebd220007325a8a4fd3c50c38e1adcb3f70d13ade3975e44c185c5366f7ad32e7d453dec97426116f554070ea2f28ce5c2b4db3dc422fc0f"},{"keyid":"113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d","method":"ed25519","sig":"09a38f44a0f42b432a18d72261a2c8a4de99b974641d31b5eaf9cc9c487d3fdbe62afb9afa94f6dd1094835b8300c4b8b73fb2ee7b0bceb8b8d1df3ee32ecd05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/3.snapshot.json
new file mode 100644
index 0000000..b03737c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"34ed328754a1f506e66c631380e0f81c4a378db52bccad1e0fcdc599a5318777bee2dd623bb2898cf494f5d9c1bf60ede08b552bea73c50e89a5c0770322cced"},"length":863,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"6a8e74a6f6960988401de9b847e71a8e9d96d21d4006f4f0a6834f3292dd709491c82964671d9ee7f96949103efe78b941d631596c0a181fdf21b088e415f50f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/3.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/3.targets.json
new file mode 100644
index 0000000..5df7215
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/3.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"cd099e52c0892120d44107045b19163bf88335c10d05122c39042ac0d77cfea2cc0ecca185d2f6c1671a4d9b9e1e2a994e20b3130c229d4ea70f14eed9790301"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/33624c503b2688b5c4c4702c6e2316d3f70052d87385de57621c329b4d5c2dc08b921dbde890a32417afb61016c3a40bace62aad95010a58f71d05878cf38725.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/33624c503b2688b5c4c4702c6e2316d3f70052d87385de57621c329b4d5c2dc08b921dbde890a32417afb61016c3a40bace62aad95010a58f71d05878cf38725.targets.json
new file mode 100644
index 0000000..6ea5301
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/33624c503b2688b5c4c4702c6e2316d3f70052d87385de57621c329b4d5c2dc08b921dbde890a32417afb61016c3a40bace62aad95010a58f71d05878cf38725.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"64b60bc5f86bdce567bf55628cd2a0ed2762c17b15f47193db007d5857f02af62dfcb47f785cb52c6c5aac98219bfd0993bd2f30bdf23ca934af08fc5c5df702"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/34ed328754a1f506e66c631380e0f81c4a378db52bccad1e0fcdc599a5318777bee2dd623bb2898cf494f5d9c1bf60ede08b552bea73c50e89a5c0770322cced.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/34ed328754a1f506e66c631380e0f81c4a378db52bccad1e0fcdc599a5318777bee2dd623bb2898cf494f5d9c1bf60ede08b552bea73c50e89a5c0770322cced.targets.json
new file mode 100644
index 0000000..5df7215
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/34ed328754a1f506e66c631380e0f81c4a378db52bccad1e0fcdc599a5318777bee2dd623bb2898cf494f5d9c1bf60ede08b552bea73c50e89a5c0770322cced.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"cd099e52c0892120d44107045b19163bf88335c10d05122c39042ac0d77cfea2cc0ecca185d2f6c1671a4d9b9e1e2a994e20b3130c229d4ea70f14eed9790301"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/4.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/4.snapshot.json
new file mode 100644
index 0000000..757d5af
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/4.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"ec1d91a6a006976a8ad28f866b91d8383a6b829829f88a7c739ec1b106e831fae5515269f03c46b234da4077779c1bd5eddd90c82e27567c5de33e991f079e3f"},"length":1740,"version":3},"targets.json":{"hashes":{"sha512":"c39229c14fa7900773606a4d06a473c702e06e489e5fdd1acc367299b8ed67ab78b268e3acc41447a9183d3a121879020b27ad0449c4c695bd9be1281cc1db67"},"length":1032,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"4b6b96d8e67eee99c6bc049cd59d30986b5ba9a733af0f5b3a799f6535cdec8d35dc31f62399e1054eff1996bf5e27bdff52d0d3d09ba733b4adbe2b558c2204"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/4.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/4.targets.json
new file mode 100644
index 0000000..7a04795
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/4.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"07b2264ede28cdcb64665b129abb2416af14b6ba91acf393a6e9b78d592686e39e7b59a043127fb98fa7460a6302bd36640314cde21f82892f151eb222f0a902"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/4c0df5c92d501805ca6a19d1b6e159aa2c4eb2b43fca38021edfc5106dfbf59d6f014cc81378d3a9782c85aacc1c0abb9e7049fbd3f0052c759f96e3115c921f.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/4c0df5c92d501805ca6a19d1b6e159aa2c4eb2b43fca38021edfc5106dfbf59d6f014cc81378d3a9782c85aacc1c0abb9e7049fbd3f0052c759f96e3115c921f.snapshot.json
new file mode 100644
index 0000000..757d5af
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/4c0df5c92d501805ca6a19d1b6e159aa2c4eb2b43fca38021edfc5106dfbf59d6f014cc81378d3a9782c85aacc1c0abb9e7049fbd3f0052c759f96e3115c921f.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"ec1d91a6a006976a8ad28f866b91d8383a6b829829f88a7c739ec1b106e831fae5515269f03c46b234da4077779c1bd5eddd90c82e27567c5de33e991f079e3f"},"length":1740,"version":3},"targets.json":{"hashes":{"sha512":"c39229c14fa7900773606a4d06a473c702e06e489e5fdd1acc367299b8ed67ab78b268e3acc41447a9183d3a121879020b27ad0449c4c695bd9be1281cc1db67"},"length":1032,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"4b6b96d8e67eee99c6bc049cd59d30986b5ba9a733af0f5b3a799f6535cdec8d35dc31f62399e1054eff1996bf5e27bdff52d0d3d09ba733b4adbe2b558c2204"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/c39229c14fa7900773606a4d06a473c702e06e489e5fdd1acc367299b8ed67ab78b268e3acc41447a9183d3a121879020b27ad0449c4c695bd9be1281cc1db67.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/c39229c14fa7900773606a4d06a473c702e06e489e5fdd1acc367299b8ed67ab78b268e3acc41447a9183d3a121879020b27ad0449c4c695bd9be1281cc1db67.targets.json
new file mode 100644
index 0000000..7a04795
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/c39229c14fa7900773606a4d06a473c702e06e489e5fdd1acc367299b8ed67ab78b268e3acc41447a9183d3a121879020b27ad0449c4c695bd9be1281cc1db67.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"07b2264ede28cdcb64665b129abb2416af14b6ba91acf393a6e9b78d592686e39e7b59a043127fb98fa7460a6302bd36640314cde21f82892f151eb222f0a902"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/c73d44089dfdab84cf7f69790aaa77796aaac58bc843f619354a55cb217523c2d76ffbb9343f6e2bb16577979f4b7bca061656f604acbe8762e5b3363c5d3e97.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/c73d44089dfdab84cf7f69790aaa77796aaac58bc843f619354a55cb217523c2d76ffbb9343f6e2bb16577979f4b7bca061656f604acbe8762e5b3363c5d3e97.snapshot.json
new file mode 100644
index 0000000..b03737c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/c73d44089dfdab84cf7f69790aaa77796aaac58bc843f619354a55cb217523c2d76ffbb9343f6e2bb16577979f4b7bca061656f604acbe8762e5b3363c5d3e97.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"34ed328754a1f506e66c631380e0f81c4a378db52bccad1e0fcdc599a5318777bee2dd623bb2898cf494f5d9c1bf60ede08b552bea73c50e89a5c0770322cced"},"length":863,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"6a8e74a6f6960988401de9b847e71a8e9d96d21d4006f4f0a6834f3292dd709491c82964671d9ee7f96949103efe78b941d631596c0a181fdf21b088e415f50f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df.root.json
new file mode 100644
index 0000000..bc2e5b4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369":{"keytype":"ed25519","keyval":{"public":"6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"7433ea08f49113866c973d20777ce42a1af334fa69b15be1f992d377a4bf6bae":{"keytype":"ed25519","keyval":{"public":"9dc1d9079a4d19b8e79ff79d833b66058754a9d9d34844d9d88db422a32488c5"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}}},"roles":{"root":{"keyids":["361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["7433ea08f49113866c973d20777ce42a1af334fa69b15be1f992d377a4bf6bae"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"344ab3e82eecc5bd431b16dfafddd727d6e98505973fdaec6f7bc9b133eed6e6e2cdd6f583b9a234e84d908f9e3ff4c4a4954096e780a5a419474b1ff819920c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/e802563e327c578aa969ca5332149fcfc0b844cee925d2c50bb84b2e2587f463e325aac252303bc22cfc037b5cd15b6fd2259358528f150fed779b54e504be4c.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/e802563e327c578aa969ca5332149fcfc0b844cee925d2c50bb84b2e2587f463e325aac252303bc22cfc037b5cd15b6fd2259358528f150fed779b54e504be4c.snapshot.json
new file mode 100644
index 0000000..d8bf343
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/e802563e327c578aa969ca5332149fcfc0b844cee925d2c50bb84b2e2587f463e325aac252303bc22cfc037b5cd15b6fd2259358528f150fed779b54e504be4c.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"33624c503b2688b5c4c4702c6e2316d3f70052d87385de57621c329b4d5c2dc08b921dbde890a32417afb61016c3a40bace62aad95010a58f71d05878cf38725"},"length":694,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"f849430057afa19c8bb9bf7d092465ec966246bb09b3a45e3a2d294acb2e372b6e5c91a928f58bc4a2c61d6e6088872098c72462118748976e9ec78a6a4f8a01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/ec1d91a6a006976a8ad28f866b91d8383a6b829829f88a7c739ec1b106e831fae5515269f03c46b234da4077779c1bd5eddd90c82e27567c5de33e991f079e3f.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/ec1d91a6a006976a8ad28f866b91d8383a6b829829f88a7c739ec1b106e831fae5515269f03c46b234da4077779c1bd5eddd90c82e27567c5de33e991f079e3f.root.json
new file mode 100644
index 0000000..4ca981d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/ec1d91a6a006976a8ad28f866b91d8383a6b829829f88a7c739ec1b106e831fae5515269f03c46b234da4077779c1bd5eddd90c82e27567c5de33e991f079e3f.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d":{"keytype":"ed25519","keyval":{"public":"723c38a9636c18fe933bf3d3984cae569afb06e384384eadcb34c14f6db369e1"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}},"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8":{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}},"roles":{"root":{"keyids":["113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"60262fa65f836d0bebd220007325a8a4fd3c50c38e1adcb3f70d13ade3975e44c185c5366f7ad32e7d453dec97426116f554070ea2f28ce5c2b4db3dc422fc0f"},{"keyid":"113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d","method":"ed25519","sig":"09a38f44a0f42b432a18d72261a2c8a4de99b974641d31b5eaf9cc9c487d3fdbe62afb9afa94f6dd1094835b8300c4b8b73fb2ee7b0bceb8b8d1df3ee32ecd05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/root.json
new file mode 100644
index 0000000..4ca981d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d":{"keytype":"ed25519","keyval":{"public":"723c38a9636c18fe933bf3d3984cae569afb06e384384eadcb34c14f6db369e1"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}},"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8":{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}},"roles":{"root":{"keyids":["113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"60262fa65f836d0bebd220007325a8a4fd3c50c38e1adcb3f70d13ade3975e44c185c5366f7ad32e7d453dec97426116f554070ea2f28ce5c2b4db3dc422fc0f"},{"keyid":"113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d","method":"ed25519","sig":"09a38f44a0f42b432a18d72261a2c8a4de99b974641d31b5eaf9cc9c487d3fdbe62afb9afa94f6dd1094835b8300c4b8b73fb2ee7b0bceb8b8d1df3ee32ecd05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/snapshot.json
new file mode 100644
index 0000000..757d5af
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"ec1d91a6a006976a8ad28f866b91d8383a6b829829f88a7c739ec1b106e831fae5515269f03c46b234da4077779c1bd5eddd90c82e27567c5de33e991f079e3f"},"length":1740,"version":3},"targets.json":{"hashes":{"sha512":"c39229c14fa7900773606a4d06a473c702e06e489e5fdd1acc367299b8ed67ab78b268e3acc41447a9183d3a121879020b27ad0449c4c695bd9be1281cc1db67"},"length":1032,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"4b6b96d8e67eee99c6bc049cd59d30986b5ba9a733af0f5b3a799f6535cdec8d35dc31f62399e1054eff1996bf5e27bdff52d0d3d09ba733b4adbe2b558c2204"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/targets.json
new file mode 100644
index 0000000..7a04795
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"07b2264ede28cdcb64665b129abb2416af14b6ba91acf393a6e9b78d592686e39e7b59a043127fb98fa7460a6302bd36640314cde21f82892f151eb222f0a902"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/targets/0.0 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/targets/0.1 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/targets/0.2 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/targets/0.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/targets/0.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/targets/0.3 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/targets/0.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/targets/0.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/timestamp.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/timestamp.json
new file mode 100644
index 0000000..ae927b7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/3/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"4c0df5c92d501805ca6a19d1b6e159aa2c4eb2b43fca38021edfc5106dfbf59d6f014cc81378d3a9782c85aacc1c0abb9e7049fbd3f0052c759f96e3115c921f"},"length":739,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8","method":"ed25519","sig":"9990cc0f5d02875177151c34e8efa13ea4170747fd4700aa57d6b7e7fd5e6c0caf406659ea2605ae24a3922a5820a2b7dbade4699eeb0890d9b6e5bd1d3b9e0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/keys/root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/keys/root.json
new file mode 100644
index 0000000..87d4367
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/keys/root.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","keyval":{"public":"723c38a9636c18fe933bf3d3984cae569afb06e384384eadcb34c14f6db369e1","private":"57dcbfd22048e047f703e06b331699a2dc4a959da074db05211e9336125571b7723c38a9636c18fe933bf3d3984cae569afb06e384384eadcb34c14f6db369e1"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/keys/snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/keys/snapshot.json
new file mode 100644
index 0000000..1f87d0a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/keys/snapshot.json
@@ -0,0 +1,19 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2",
+				"private": "bebb9ee76655c200350eea729166971ff17aa2b2065800487a8e7d1d7bd7410587e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "c5ccc964c50e585eff8bacc3f012cea790994a8d015924d401718b1ae58ff5f0",
+				"private": "89bf882b1c74855833fe81e7215bb69feec1a3b919983410670eeb109a27ea07c5ccc964c50e585eff8bacc3f012cea790994a8d015924d401718b1ae58ff5f0"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/keys/targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/keys/targets.json
new file mode 100644
index 0000000..20838a4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/keys/targets.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475",
+				"private": "af2990d0837ddae7168c4ee9243191d233c0b2c03ba808c5b62a06915050d37c2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/keys/timestamp.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/keys/timestamp.json
new file mode 100644
index 0000000..421c8aa
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587","private":"c7ff67fc5eb9515dbb37b18114c36b5c4d6f0845954e499300350ab6a39b84301ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/1.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/1.root.json
new file mode 100644
index 0000000..bc2e5b4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369":{"keytype":"ed25519","keyval":{"public":"6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"7433ea08f49113866c973d20777ce42a1af334fa69b15be1f992d377a4bf6bae":{"keytype":"ed25519","keyval":{"public":"9dc1d9079a4d19b8e79ff79d833b66058754a9d9d34844d9d88db422a32488c5"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}}},"roles":{"root":{"keyids":["361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["7433ea08f49113866c973d20777ce42a1af334fa69b15be1f992d377a4bf6bae"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"344ab3e82eecc5bd431b16dfafddd727d6e98505973fdaec6f7bc9b133eed6e6e2cdd6f583b9a234e84d908f9e3ff4c4a4954096e780a5a419474b1ff819920c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/1.snapshot.json
new file mode 100644
index 0000000..69a6447
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df"},"length":1507,"version":1},"targets.json":{"hashes":{"sha512":"2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215"},"length":525,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"68a8fec02f90ebbb871417b1df60ef94757a92b536ec4a9a21299220398517bb862ef1603a55de1dcc49887cfa0d0191b5d5ad19d451da900e423a75bdd0a80d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/1.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/1.targets.json
new file mode 100644
index 0000000..2a7db91
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"04486acb6cd902627d0b4bd4d2287a350874a073c6440fa62f6c1a2f93197ceafa3d2cbb37521ce8f6821f10250a1a0ec98269bf6bf48678fa585b61b8008e0c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36.root.json
new file mode 100644
index 0000000..2ccdb28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369":{"keytype":"ed25519","keyval":{"public":"6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}},"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8":{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}},"roles":{"root":{"keyids":["361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"13b739bbe091db9706a1ed5dc3d6465a578cf72eed5351523f172f7b591b6b51912a5f8f6a00889f4d47b97b9e2796eeb137f82748a8881777470a389f15e608"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/2.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/2.root.json
new file mode 100644
index 0000000..2ccdb28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369":{"keytype":"ed25519","keyval":{"public":"6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}},"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8":{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}},"roles":{"root":{"keyids":["361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"13b739bbe091db9706a1ed5dc3d6465a578cf72eed5351523f172f7b591b6b51912a5f8f6a00889f4d47b97b9e2796eeb137f82748a8881777470a389f15e608"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/2.snapshot.json
new file mode 100644
index 0000000..d8bf343
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"33624c503b2688b5c4c4702c6e2316d3f70052d87385de57621c329b4d5c2dc08b921dbde890a32417afb61016c3a40bace62aad95010a58f71d05878cf38725"},"length":694,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"f849430057afa19c8bb9bf7d092465ec966246bb09b3a45e3a2d294acb2e372b6e5c91a928f58bc4a2c61d6e6088872098c72462118748976e9ec78a6a4f8a01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/2.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/2.targets.json
new file mode 100644
index 0000000..6ea5301
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/2.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"64b60bc5f86bdce567bf55628cd2a0ed2762c17b15f47193db007d5857f02af62dfcb47f785cb52c6c5aac98219bfd0993bd2f30bdf23ca934af08fc5c5df702"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/2a56558a11bb008fce80a5d92242c564002046d8598daba09201878b6409ea3ef58a6d6f4ce535a96c674046e479781d41e49f6e0e6ace582f21938a42ea59da.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/2a56558a11bb008fce80a5d92242c564002046d8598daba09201878b6409ea3ef58a6d6f4ce535a96c674046e479781d41e49f6e0e6ace582f21938a42ea59da.snapshot.json
new file mode 100644
index 0000000..69a6447
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/2a56558a11bb008fce80a5d92242c564002046d8598daba09201878b6409ea3ef58a6d6f4ce535a96c674046e479781d41e49f6e0e6ace582f21938a42ea59da.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df"},"length":1507,"version":1},"targets.json":{"hashes":{"sha512":"2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215"},"length":525,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"68a8fec02f90ebbb871417b1df60ef94757a92b536ec4a9a21299220398517bb862ef1603a55de1dcc49887cfa0d0191b5d5ad19d451da900e423a75bdd0a80d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215.targets.json
new file mode 100644
index 0000000..2a7db91
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"04486acb6cd902627d0b4bd4d2287a350874a073c6440fa62f6c1a2f93197ceafa3d2cbb37521ce8f6821f10250a1a0ec98269bf6bf48678fa585b61b8008e0c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/3.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/3.root.json
new file mode 100644
index 0000000..4ca981d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/3.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d":{"keytype":"ed25519","keyval":{"public":"723c38a9636c18fe933bf3d3984cae569afb06e384384eadcb34c14f6db369e1"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}},"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8":{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}},"roles":{"root":{"keyids":["113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"60262fa65f836d0bebd220007325a8a4fd3c50c38e1adcb3f70d13ade3975e44c185c5366f7ad32e7d453dec97426116f554070ea2f28ce5c2b4db3dc422fc0f"},{"keyid":"113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d","method":"ed25519","sig":"09a38f44a0f42b432a18d72261a2c8a4de99b974641d31b5eaf9cc9c487d3fdbe62afb9afa94f6dd1094835b8300c4b8b73fb2ee7b0bceb8b8d1df3ee32ecd05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/3.snapshot.json
new file mode 100644
index 0000000..b03737c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"34ed328754a1f506e66c631380e0f81c4a378db52bccad1e0fcdc599a5318777bee2dd623bb2898cf494f5d9c1bf60ede08b552bea73c50e89a5c0770322cced"},"length":863,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"6a8e74a6f6960988401de9b847e71a8e9d96d21d4006f4f0a6834f3292dd709491c82964671d9ee7f96949103efe78b941d631596c0a181fdf21b088e415f50f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/3.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/3.targets.json
new file mode 100644
index 0000000..5df7215
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/3.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"cd099e52c0892120d44107045b19163bf88335c10d05122c39042ac0d77cfea2cc0ecca185d2f6c1671a4d9b9e1e2a994e20b3130c229d4ea70f14eed9790301"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/33624c503b2688b5c4c4702c6e2316d3f70052d87385de57621c329b4d5c2dc08b921dbde890a32417afb61016c3a40bace62aad95010a58f71d05878cf38725.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/33624c503b2688b5c4c4702c6e2316d3f70052d87385de57621c329b4d5c2dc08b921dbde890a32417afb61016c3a40bace62aad95010a58f71d05878cf38725.targets.json
new file mode 100644
index 0000000..6ea5301
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/33624c503b2688b5c4c4702c6e2316d3f70052d87385de57621c329b4d5c2dc08b921dbde890a32417afb61016c3a40bace62aad95010a58f71d05878cf38725.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"64b60bc5f86bdce567bf55628cd2a0ed2762c17b15f47193db007d5857f02af62dfcb47f785cb52c6c5aac98219bfd0993bd2f30bdf23ca934af08fc5c5df702"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/34ed328754a1f506e66c631380e0f81c4a378db52bccad1e0fcdc599a5318777bee2dd623bb2898cf494f5d9c1bf60ede08b552bea73c50e89a5c0770322cced.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/34ed328754a1f506e66c631380e0f81c4a378db52bccad1e0fcdc599a5318777bee2dd623bb2898cf494f5d9c1bf60ede08b552bea73c50e89a5c0770322cced.targets.json
new file mode 100644
index 0000000..5df7215
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/34ed328754a1f506e66c631380e0f81c4a378db52bccad1e0fcdc599a5318777bee2dd623bb2898cf494f5d9c1bf60ede08b552bea73c50e89a5c0770322cced.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"cd099e52c0892120d44107045b19163bf88335c10d05122c39042ac0d77cfea2cc0ecca185d2f6c1671a4d9b9e1e2a994e20b3130c229d4ea70f14eed9790301"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/4.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/4.root.json
new file mode 100644
index 0000000..455a5b5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/4.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d":{"keytype":"ed25519","keyval":{"public":"723c38a9636c18fe933bf3d3984cae569afb06e384384eadcb34c14f6db369e1"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}},"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8":{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}},"roles":{"root":{"keyids":["113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8"],"threshold":1}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d","method":"ed25519","sig":"76e88d7bf04c3525929c7337ccd1471f94d5b7f20a4b9856afcc0b49b8c28e97b735ad28f4659e31858de69b3300e7f8a3d655266bdd0cb721aa83355fbbfd0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/4.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/4.snapshot.json
new file mode 100644
index 0000000..757d5af
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/4.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"ec1d91a6a006976a8ad28f866b91d8383a6b829829f88a7c739ec1b106e831fae5515269f03c46b234da4077779c1bd5eddd90c82e27567c5de33e991f079e3f"},"length":1740,"version":3},"targets.json":{"hashes":{"sha512":"c39229c14fa7900773606a4d06a473c702e06e489e5fdd1acc367299b8ed67ab78b268e3acc41447a9183d3a121879020b27ad0449c4c695bd9be1281cc1db67"},"length":1032,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"4b6b96d8e67eee99c6bc049cd59d30986b5ba9a733af0f5b3a799f6535cdec8d35dc31f62399e1054eff1996bf5e27bdff52d0d3d09ba733b4adbe2b558c2204"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/4.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/4.targets.json
new file mode 100644
index 0000000..7a04795
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/4.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"07b2264ede28cdcb64665b129abb2416af14b6ba91acf393a6e9b78d592686e39e7b59a043127fb98fa7460a6302bd36640314cde21f82892f151eb222f0a902"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/4c0df5c92d501805ca6a19d1b6e159aa2c4eb2b43fca38021edfc5106dfbf59d6f014cc81378d3a9782c85aacc1c0abb9e7049fbd3f0052c759f96e3115c921f.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/4c0df5c92d501805ca6a19d1b6e159aa2c4eb2b43fca38021edfc5106dfbf59d6f014cc81378d3a9782c85aacc1c0abb9e7049fbd3f0052c759f96e3115c921f.snapshot.json
new file mode 100644
index 0000000..757d5af
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/4c0df5c92d501805ca6a19d1b6e159aa2c4eb2b43fca38021edfc5106dfbf59d6f014cc81378d3a9782c85aacc1c0abb9e7049fbd3f0052c759f96e3115c921f.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"ec1d91a6a006976a8ad28f866b91d8383a6b829829f88a7c739ec1b106e831fae5515269f03c46b234da4077779c1bd5eddd90c82e27567c5de33e991f079e3f"},"length":1740,"version":3},"targets.json":{"hashes":{"sha512":"c39229c14fa7900773606a4d06a473c702e06e489e5fdd1acc367299b8ed67ab78b268e3acc41447a9183d3a121879020b27ad0449c4c695bd9be1281cc1db67"},"length":1032,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"4b6b96d8e67eee99c6bc049cd59d30986b5ba9a733af0f5b3a799f6535cdec8d35dc31f62399e1054eff1996bf5e27bdff52d0d3d09ba733b4adbe2b558c2204"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/5.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/5.snapshot.json
new file mode 100644
index 0000000..1dc4cbd
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/5.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"79aea5d7e13bdf8e7262631ef777a2b6753d02049310b50c54ea82a4a95b6e6984c3fef74fae8e9bf8c2ff972e9539669031b0a8b7b9dcc2356510562b0e5513"},"length":1507,"version":4},"targets.json":{"hashes":{"sha512":"6739d85a14409656cd3e2c30d74a9c223adae0a5fcf77b35f2a0ae4e000a04304ac0ce679c408c681c3ee9963972960e429dee73229b39ce7f0985a6ce793fa4"},"length":1201,"version":5}},"spec_version":"0.9","version":5},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"8a7273aa8e2e604cddf88ca35ba54dfef74b690bb956f14cc66b8e9eca7cdd08cfb35c077e29584536bdfc1ed0aca4d3c05387b607e706f11c4fc5f1bc95900b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/5.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/5.targets.json
new file mode 100644
index 0000000..e4e8d97
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/5.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"d3abea15f2cae9cd3fd4c9a1d91732a533f09c85d3df08b160aa3e7410b14472b3bf38363a183b57e98de3c146ff50eb76924f64c50bda50bd4e471ab3bb060e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/6739d85a14409656cd3e2c30d74a9c223adae0a5fcf77b35f2a0ae4e000a04304ac0ce679c408c681c3ee9963972960e429dee73229b39ce7f0985a6ce793fa4.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/6739d85a14409656cd3e2c30d74a9c223adae0a5fcf77b35f2a0ae4e000a04304ac0ce679c408c681c3ee9963972960e429dee73229b39ce7f0985a6ce793fa4.targets.json
new file mode 100644
index 0000000..e4e8d97
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/6739d85a14409656cd3e2c30d74a9c223adae0a5fcf77b35f2a0ae4e000a04304ac0ce679c408c681c3ee9963972960e429dee73229b39ce7f0985a6ce793fa4.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"d3abea15f2cae9cd3fd4c9a1d91732a533f09c85d3df08b160aa3e7410b14472b3bf38363a183b57e98de3c146ff50eb76924f64c50bda50bd4e471ab3bb060e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/79aea5d7e13bdf8e7262631ef777a2b6753d02049310b50c54ea82a4a95b6e6984c3fef74fae8e9bf8c2ff972e9539669031b0a8b7b9dcc2356510562b0e5513.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/79aea5d7e13bdf8e7262631ef777a2b6753d02049310b50c54ea82a4a95b6e6984c3fef74fae8e9bf8c2ff972e9539669031b0a8b7b9dcc2356510562b0e5513.root.json
new file mode 100644
index 0000000..455a5b5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/79aea5d7e13bdf8e7262631ef777a2b6753d02049310b50c54ea82a4a95b6e6984c3fef74fae8e9bf8c2ff972e9539669031b0a8b7b9dcc2356510562b0e5513.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d":{"keytype":"ed25519","keyval":{"public":"723c38a9636c18fe933bf3d3984cae569afb06e384384eadcb34c14f6db369e1"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}},"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8":{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}},"roles":{"root":{"keyids":["113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8"],"threshold":1}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d","method":"ed25519","sig":"76e88d7bf04c3525929c7337ccd1471f94d5b7f20a4b9856afcc0b49b8c28e97b735ad28f4659e31858de69b3300e7f8a3d655266bdd0cb721aa83355fbbfd0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/b9887221b630cd9e64483ce60a5dcb7a8e64182ef16adada4a5a26729c0ccc2fad4ebd993d897f5aa087b3a6644a9ab5043be93a16aaf144adc9a3d4489295e9.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/b9887221b630cd9e64483ce60a5dcb7a8e64182ef16adada4a5a26729c0ccc2fad4ebd993d897f5aa087b3a6644a9ab5043be93a16aaf144adc9a3d4489295e9.snapshot.json
new file mode 100644
index 0000000..1dc4cbd
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/b9887221b630cd9e64483ce60a5dcb7a8e64182ef16adada4a5a26729c0ccc2fad4ebd993d897f5aa087b3a6644a9ab5043be93a16aaf144adc9a3d4489295e9.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"79aea5d7e13bdf8e7262631ef777a2b6753d02049310b50c54ea82a4a95b6e6984c3fef74fae8e9bf8c2ff972e9539669031b0a8b7b9dcc2356510562b0e5513"},"length":1507,"version":4},"targets.json":{"hashes":{"sha512":"6739d85a14409656cd3e2c30d74a9c223adae0a5fcf77b35f2a0ae4e000a04304ac0ce679c408c681c3ee9963972960e429dee73229b39ce7f0985a6ce793fa4"},"length":1201,"version":5}},"spec_version":"0.9","version":5},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"8a7273aa8e2e604cddf88ca35ba54dfef74b690bb956f14cc66b8e9eca7cdd08cfb35c077e29584536bdfc1ed0aca4d3c05387b607e706f11c4fc5f1bc95900b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/c39229c14fa7900773606a4d06a473c702e06e489e5fdd1acc367299b8ed67ab78b268e3acc41447a9183d3a121879020b27ad0449c4c695bd9be1281cc1db67.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/c39229c14fa7900773606a4d06a473c702e06e489e5fdd1acc367299b8ed67ab78b268e3acc41447a9183d3a121879020b27ad0449c4c695bd9be1281cc1db67.targets.json
new file mode 100644
index 0000000..7a04795
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/c39229c14fa7900773606a4d06a473c702e06e489e5fdd1acc367299b8ed67ab78b268e3acc41447a9183d3a121879020b27ad0449c4c695bd9be1281cc1db67.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"07b2264ede28cdcb64665b129abb2416af14b6ba91acf393a6e9b78d592686e39e7b59a043127fb98fa7460a6302bd36640314cde21f82892f151eb222f0a902"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/c73d44089dfdab84cf7f69790aaa77796aaac58bc843f619354a55cb217523c2d76ffbb9343f6e2bb16577979f4b7bca061656f604acbe8762e5b3363c5d3e97.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/c73d44089dfdab84cf7f69790aaa77796aaac58bc843f619354a55cb217523c2d76ffbb9343f6e2bb16577979f4b7bca061656f604acbe8762e5b3363c5d3e97.snapshot.json
new file mode 100644
index 0000000..b03737c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/c73d44089dfdab84cf7f69790aaa77796aaac58bc843f619354a55cb217523c2d76ffbb9343f6e2bb16577979f4b7bca061656f604acbe8762e5b3363c5d3e97.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"34ed328754a1f506e66c631380e0f81c4a378db52bccad1e0fcdc599a5318777bee2dd623bb2898cf494f5d9c1bf60ede08b552bea73c50e89a5c0770322cced"},"length":863,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"6a8e74a6f6960988401de9b847e71a8e9d96d21d4006f4f0a6834f3292dd709491c82964671d9ee7f96949103efe78b941d631596c0a181fdf21b088e415f50f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df.root.json
new file mode 100644
index 0000000..bc2e5b4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369":{"keytype":"ed25519","keyval":{"public":"6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"7433ea08f49113866c973d20777ce42a1af334fa69b15be1f992d377a4bf6bae":{"keytype":"ed25519","keyval":{"public":"9dc1d9079a4d19b8e79ff79d833b66058754a9d9d34844d9d88db422a32488c5"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}}},"roles":{"root":{"keyids":["361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["7433ea08f49113866c973d20777ce42a1af334fa69b15be1f992d377a4bf6bae"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"344ab3e82eecc5bd431b16dfafddd727d6e98505973fdaec6f7bc9b133eed6e6e2cdd6f583b9a234e84d908f9e3ff4c4a4954096e780a5a419474b1ff819920c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/e802563e327c578aa969ca5332149fcfc0b844cee925d2c50bb84b2e2587f463e325aac252303bc22cfc037b5cd15b6fd2259358528f150fed779b54e504be4c.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/e802563e327c578aa969ca5332149fcfc0b844cee925d2c50bb84b2e2587f463e325aac252303bc22cfc037b5cd15b6fd2259358528f150fed779b54e504be4c.snapshot.json
new file mode 100644
index 0000000..d8bf343
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/e802563e327c578aa969ca5332149fcfc0b844cee925d2c50bb84b2e2587f463e325aac252303bc22cfc037b5cd15b6fd2259358528f150fed779b54e504be4c.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"33624c503b2688b5c4c4702c6e2316d3f70052d87385de57621c329b4d5c2dc08b921dbde890a32417afb61016c3a40bace62aad95010a58f71d05878cf38725"},"length":694,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"f849430057afa19c8bb9bf7d092465ec966246bb09b3a45e3a2d294acb2e372b6e5c91a928f58bc4a2c61d6e6088872098c72462118748976e9ec78a6a4f8a01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/ec1d91a6a006976a8ad28f866b91d8383a6b829829f88a7c739ec1b106e831fae5515269f03c46b234da4077779c1bd5eddd90c82e27567c5de33e991f079e3f.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/ec1d91a6a006976a8ad28f866b91d8383a6b829829f88a7c739ec1b106e831fae5515269f03c46b234da4077779c1bd5eddd90c82e27567c5de33e991f079e3f.root.json
new file mode 100644
index 0000000..4ca981d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/ec1d91a6a006976a8ad28f866b91d8383a6b829829f88a7c739ec1b106e831fae5515269f03c46b234da4077779c1bd5eddd90c82e27567c5de33e991f079e3f.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d":{"keytype":"ed25519","keyval":{"public":"723c38a9636c18fe933bf3d3984cae569afb06e384384eadcb34c14f6db369e1"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}},"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8":{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}},"roles":{"root":{"keyids":["113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"60262fa65f836d0bebd220007325a8a4fd3c50c38e1adcb3f70d13ade3975e44c185c5366f7ad32e7d453dec97426116f554070ea2f28ce5c2b4db3dc422fc0f"},{"keyid":"113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d","method":"ed25519","sig":"09a38f44a0f42b432a18d72261a2c8a4de99b974641d31b5eaf9cc9c487d3fdbe62afb9afa94f6dd1094835b8300c4b8b73fb2ee7b0bceb8b8d1df3ee32ecd05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/root.json
new file mode 100644
index 0000000..455a5b5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d":{"keytype":"ed25519","keyval":{"public":"723c38a9636c18fe933bf3d3984cae569afb06e384384eadcb34c14f6db369e1"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}},"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8":{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}},"roles":{"root":{"keyids":["113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8"],"threshold":1}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d","method":"ed25519","sig":"76e88d7bf04c3525929c7337ccd1471f94d5b7f20a4b9856afcc0b49b8c28e97b735ad28f4659e31858de69b3300e7f8a3d655266bdd0cb721aa83355fbbfd0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/snapshot.json
new file mode 100644
index 0000000..1dc4cbd
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"79aea5d7e13bdf8e7262631ef777a2b6753d02049310b50c54ea82a4a95b6e6984c3fef74fae8e9bf8c2ff972e9539669031b0a8b7b9dcc2356510562b0e5513"},"length":1507,"version":4},"targets.json":{"hashes":{"sha512":"6739d85a14409656cd3e2c30d74a9c223adae0a5fcf77b35f2a0ae4e000a04304ac0ce679c408c681c3ee9963972960e429dee73229b39ce7f0985a6ce793fa4"},"length":1201,"version":5}},"spec_version":"0.9","version":5},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"8a7273aa8e2e604cddf88ca35ba54dfef74b690bb956f14cc66b8e9eca7cdd08cfb35c077e29584536bdfc1ed0aca4d3c05387b607e706f11c4fc5f1bc95900b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets.json
new file mode 100644
index 0000000..e4e8d97
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"d3abea15f2cae9cd3fd4c9a1d91732a533f09c85d3df08b160aa3e7410b14472b3bf38363a183b57e98de3c146ff50eb76924f64c50bda50bd4e471ab3bb060e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/0.0 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/0.1 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/0.2 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/0.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/0.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/0.3 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/0.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/0.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/0.4 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/0.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/0.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/timestamp.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/timestamp.json
new file mode 100644
index 0000000..ef9e31b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/4/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"b9887221b630cd9e64483ce60a5dcb7a8e64182ef16adada4a5a26729c0ccc2fad4ebd993d897f5aa087b3a6644a9ab5043be93a16aaf144adc9a3d4489295e9"},"length":739,"version":5}},"spec_version":"0.9","version":5},"signatures":[{"keyid":"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8","method":"ed25519","sig":"86993cce58338939ce62ca7405ae62e413c81611c9ba2b65ab528f2bbe916490c92df7ac92751295fecba229aebbc6b5bf33b94dda11ee6b6bc59b25f1f9ea0c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/keys/root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/keys/root.json
new file mode 100644
index 0000000..87d4367
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/keys/root.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","keyval":{"public":"723c38a9636c18fe933bf3d3984cae569afb06e384384eadcb34c14f6db369e1","private":"57dcbfd22048e047f703e06b331699a2dc4a959da074db05211e9336125571b7723c38a9636c18fe933bf3d3984cae569afb06e384384eadcb34c14f6db369e1"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/keys/snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/keys/snapshot.json
new file mode 100644
index 0000000..1f87d0a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/keys/snapshot.json
@@ -0,0 +1,19 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2",
+				"private": "bebb9ee76655c200350eea729166971ff17aa2b2065800487a8e7d1d7bd7410587e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "c5ccc964c50e585eff8bacc3f012cea790994a8d015924d401718b1ae58ff5f0",
+				"private": "89bf882b1c74855833fe81e7215bb69feec1a3b919983410670eeb109a27ea07c5ccc964c50e585eff8bacc3f012cea790994a8d015924d401718b1ae58ff5f0"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/keys/targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/keys/targets.json
new file mode 100644
index 0000000..20838a4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/keys/targets.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475",
+				"private": "af2990d0837ddae7168c4ee9243191d233c0b2c03ba808c5b62a06915050d37c2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/keys/timestamp.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/keys/timestamp.json
new file mode 100644
index 0000000..421c8aa
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587","private":"c7ff67fc5eb9515dbb37b18114c36b5c4d6f0845954e499300350ab6a39b84301ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/1.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/1.root.json
new file mode 100644
index 0000000..bc2e5b4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369":{"keytype":"ed25519","keyval":{"public":"6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"7433ea08f49113866c973d20777ce42a1af334fa69b15be1f992d377a4bf6bae":{"keytype":"ed25519","keyval":{"public":"9dc1d9079a4d19b8e79ff79d833b66058754a9d9d34844d9d88db422a32488c5"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}}},"roles":{"root":{"keyids":["361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["7433ea08f49113866c973d20777ce42a1af334fa69b15be1f992d377a4bf6bae"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"344ab3e82eecc5bd431b16dfafddd727d6e98505973fdaec6f7bc9b133eed6e6e2cdd6f583b9a234e84d908f9e3ff4c4a4954096e780a5a419474b1ff819920c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/1.snapshot.json
new file mode 100644
index 0000000..69a6447
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df"},"length":1507,"version":1},"targets.json":{"hashes":{"sha512":"2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215"},"length":525,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"68a8fec02f90ebbb871417b1df60ef94757a92b536ec4a9a21299220398517bb862ef1603a55de1dcc49887cfa0d0191b5d5ad19d451da900e423a75bdd0a80d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/1.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/1.targets.json
new file mode 100644
index 0000000..2a7db91
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"04486acb6cd902627d0b4bd4d2287a350874a073c6440fa62f6c1a2f93197ceafa3d2cbb37521ce8f6821f10250a1a0ec98269bf6bf48678fa585b61b8008e0c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36.root.json
new file mode 100644
index 0000000..2ccdb28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369":{"keytype":"ed25519","keyval":{"public":"6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}},"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8":{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}},"roles":{"root":{"keyids":["361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"13b739bbe091db9706a1ed5dc3d6465a578cf72eed5351523f172f7b591b6b51912a5f8f6a00889f4d47b97b9e2796eeb137f82748a8881777470a389f15e608"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/2.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/2.root.json
new file mode 100644
index 0000000..2ccdb28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369":{"keytype":"ed25519","keyval":{"public":"6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}},"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8":{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}},"roles":{"root":{"keyids":["361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"13b739bbe091db9706a1ed5dc3d6465a578cf72eed5351523f172f7b591b6b51912a5f8f6a00889f4d47b97b9e2796eeb137f82748a8881777470a389f15e608"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/2.snapshot.json
new file mode 100644
index 0000000..d8bf343
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"33624c503b2688b5c4c4702c6e2316d3f70052d87385de57621c329b4d5c2dc08b921dbde890a32417afb61016c3a40bace62aad95010a58f71d05878cf38725"},"length":694,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"f849430057afa19c8bb9bf7d092465ec966246bb09b3a45e3a2d294acb2e372b6e5c91a928f58bc4a2c61d6e6088872098c72462118748976e9ec78a6a4f8a01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/2.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/2.targets.json
new file mode 100644
index 0000000..6ea5301
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/2.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"64b60bc5f86bdce567bf55628cd2a0ed2762c17b15f47193db007d5857f02af62dfcb47f785cb52c6c5aac98219bfd0993bd2f30bdf23ca934af08fc5c5df702"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/2a56558a11bb008fce80a5d92242c564002046d8598daba09201878b6409ea3ef58a6d6f4ce535a96c674046e479781d41e49f6e0e6ace582f21938a42ea59da.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/2a56558a11bb008fce80a5d92242c564002046d8598daba09201878b6409ea3ef58a6d6f4ce535a96c674046e479781d41e49f6e0e6ace582f21938a42ea59da.snapshot.json
new file mode 100644
index 0000000..69a6447
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/2a56558a11bb008fce80a5d92242c564002046d8598daba09201878b6409ea3ef58a6d6f4ce535a96c674046e479781d41e49f6e0e6ace582f21938a42ea59da.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df"},"length":1507,"version":1},"targets.json":{"hashes":{"sha512":"2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215"},"length":525,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"68a8fec02f90ebbb871417b1df60ef94757a92b536ec4a9a21299220398517bb862ef1603a55de1dcc49887cfa0d0191b5d5ad19d451da900e423a75bdd0a80d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215.targets.json
new file mode 100644
index 0000000..2a7db91
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/2aabf8ef5ed909670d6450e73f2a16ae22629502d0b79affa91c171d4791d3824bb0df7b08cbee123f3b6354fb11bf1bb3c4a3c79f50755713f4cbd10353a215.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"04486acb6cd902627d0b4bd4d2287a350874a073c6440fa62f6c1a2f93197ceafa3d2cbb37521ce8f6821f10250a1a0ec98269bf6bf48678fa585b61b8008e0c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/3.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/3.root.json
new file mode 100644
index 0000000..4ca981d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/3.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d":{"keytype":"ed25519","keyval":{"public":"723c38a9636c18fe933bf3d3984cae569afb06e384384eadcb34c14f6db369e1"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}},"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8":{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}},"roles":{"root":{"keyids":["113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"60262fa65f836d0bebd220007325a8a4fd3c50c38e1adcb3f70d13ade3975e44c185c5366f7ad32e7d453dec97426116f554070ea2f28ce5c2b4db3dc422fc0f"},{"keyid":"113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d","method":"ed25519","sig":"09a38f44a0f42b432a18d72261a2c8a4de99b974641d31b5eaf9cc9c487d3fdbe62afb9afa94f6dd1094835b8300c4b8b73fb2ee7b0bceb8b8d1df3ee32ecd05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/3.snapshot.json
new file mode 100644
index 0000000..b03737c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"34ed328754a1f506e66c631380e0f81c4a378db52bccad1e0fcdc599a5318777bee2dd623bb2898cf494f5d9c1bf60ede08b552bea73c50e89a5c0770322cced"},"length":863,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"6a8e74a6f6960988401de9b847e71a8e9d96d21d4006f4f0a6834f3292dd709491c82964671d9ee7f96949103efe78b941d631596c0a181fdf21b088e415f50f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/3.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/3.targets.json
new file mode 100644
index 0000000..5df7215
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/3.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"cd099e52c0892120d44107045b19163bf88335c10d05122c39042ac0d77cfea2cc0ecca185d2f6c1671a4d9b9e1e2a994e20b3130c229d4ea70f14eed9790301"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/33624c503b2688b5c4c4702c6e2316d3f70052d87385de57621c329b4d5c2dc08b921dbde890a32417afb61016c3a40bace62aad95010a58f71d05878cf38725.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/33624c503b2688b5c4c4702c6e2316d3f70052d87385de57621c329b4d5c2dc08b921dbde890a32417afb61016c3a40bace62aad95010a58f71d05878cf38725.targets.json
new file mode 100644
index 0000000..6ea5301
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/33624c503b2688b5c4c4702c6e2316d3f70052d87385de57621c329b4d5c2dc08b921dbde890a32417afb61016c3a40bace62aad95010a58f71d05878cf38725.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"64b60bc5f86bdce567bf55628cd2a0ed2762c17b15f47193db007d5857f02af62dfcb47f785cb52c6c5aac98219bfd0993bd2f30bdf23ca934af08fc5c5df702"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/34ed328754a1f506e66c631380e0f81c4a378db52bccad1e0fcdc599a5318777bee2dd623bb2898cf494f5d9c1bf60ede08b552bea73c50e89a5c0770322cced.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/34ed328754a1f506e66c631380e0f81c4a378db52bccad1e0fcdc599a5318777bee2dd623bb2898cf494f5d9c1bf60ede08b552bea73c50e89a5c0770322cced.targets.json
new file mode 100644
index 0000000..5df7215
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/34ed328754a1f506e66c631380e0f81c4a378db52bccad1e0fcdc599a5318777bee2dd623bb2898cf494f5d9c1bf60ede08b552bea73c50e89a5c0770322cced.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"cd099e52c0892120d44107045b19163bf88335c10d05122c39042ac0d77cfea2cc0ecca185d2f6c1671a4d9b9e1e2a994e20b3130c229d4ea70f14eed9790301"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/4.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/4.root.json
new file mode 100644
index 0000000..455a5b5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/4.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d":{"keytype":"ed25519","keyval":{"public":"723c38a9636c18fe933bf3d3984cae569afb06e384384eadcb34c14f6db369e1"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}},"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8":{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}},"roles":{"root":{"keyids":["113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8"],"threshold":1}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d","method":"ed25519","sig":"76e88d7bf04c3525929c7337ccd1471f94d5b7f20a4b9856afcc0b49b8c28e97b735ad28f4659e31858de69b3300e7f8a3d655266bdd0cb721aa83355fbbfd0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/4.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/4.snapshot.json
new file mode 100644
index 0000000..757d5af
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/4.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"ec1d91a6a006976a8ad28f866b91d8383a6b829829f88a7c739ec1b106e831fae5515269f03c46b234da4077779c1bd5eddd90c82e27567c5de33e991f079e3f"},"length":1740,"version":3},"targets.json":{"hashes":{"sha512":"c39229c14fa7900773606a4d06a473c702e06e489e5fdd1acc367299b8ed67ab78b268e3acc41447a9183d3a121879020b27ad0449c4c695bd9be1281cc1db67"},"length":1032,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"4b6b96d8e67eee99c6bc049cd59d30986b5ba9a733af0f5b3a799f6535cdec8d35dc31f62399e1054eff1996bf5e27bdff52d0d3d09ba733b4adbe2b558c2204"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/4.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/4.targets.json
new file mode 100644
index 0000000..7a04795
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/4.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"07b2264ede28cdcb64665b129abb2416af14b6ba91acf393a6e9b78d592686e39e7b59a043127fb98fa7460a6302bd36640314cde21f82892f151eb222f0a902"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/4c0df5c92d501805ca6a19d1b6e159aa2c4eb2b43fca38021edfc5106dfbf59d6f014cc81378d3a9782c85aacc1c0abb9e7049fbd3f0052c759f96e3115c921f.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/4c0df5c92d501805ca6a19d1b6e159aa2c4eb2b43fca38021edfc5106dfbf59d6f014cc81378d3a9782c85aacc1c0abb9e7049fbd3f0052c759f96e3115c921f.snapshot.json
new file mode 100644
index 0000000..757d5af
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/4c0df5c92d501805ca6a19d1b6e159aa2c4eb2b43fca38021edfc5106dfbf59d6f014cc81378d3a9782c85aacc1c0abb9e7049fbd3f0052c759f96e3115c921f.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"ec1d91a6a006976a8ad28f866b91d8383a6b829829f88a7c739ec1b106e831fae5515269f03c46b234da4077779c1bd5eddd90c82e27567c5de33e991f079e3f"},"length":1740,"version":3},"targets.json":{"hashes":{"sha512":"c39229c14fa7900773606a4d06a473c702e06e489e5fdd1acc367299b8ed67ab78b268e3acc41447a9183d3a121879020b27ad0449c4c695bd9be1281cc1db67"},"length":1032,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"4b6b96d8e67eee99c6bc049cd59d30986b5ba9a733af0f5b3a799f6535cdec8d35dc31f62399e1054eff1996bf5e27bdff52d0d3d09ba733b4adbe2b558c2204"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/5.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/5.snapshot.json
new file mode 100644
index 0000000..1dc4cbd
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/5.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"79aea5d7e13bdf8e7262631ef777a2b6753d02049310b50c54ea82a4a95b6e6984c3fef74fae8e9bf8c2ff972e9539669031b0a8b7b9dcc2356510562b0e5513"},"length":1507,"version":4},"targets.json":{"hashes":{"sha512":"6739d85a14409656cd3e2c30d74a9c223adae0a5fcf77b35f2a0ae4e000a04304ac0ce679c408c681c3ee9963972960e429dee73229b39ce7f0985a6ce793fa4"},"length":1201,"version":5}},"spec_version":"0.9","version":5},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"8a7273aa8e2e604cddf88ca35ba54dfef74b690bb956f14cc66b8e9eca7cdd08cfb35c077e29584536bdfc1ed0aca4d3c05387b607e706f11c4fc5f1bc95900b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/5.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/5.targets.json
new file mode 100644
index 0000000..e4e8d97
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/5.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"d3abea15f2cae9cd3fd4c9a1d91732a533f09c85d3df08b160aa3e7410b14472b3bf38363a183b57e98de3c146ff50eb76924f64c50bda50bd4e471ab3bb060e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/6.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/6.snapshot.json
new file mode 100644
index 0000000..a1c2ed7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/6.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"79aea5d7e13bdf8e7262631ef777a2b6753d02049310b50c54ea82a4a95b6e6984c3fef74fae8e9bf8c2ff972e9539669031b0a8b7b9dcc2356510562b0e5513"},"length":1507,"version":4},"targets.json":{"hashes":{"sha512":"e60c1932cdd7ef13f03916240e0da6509b6b227dcaf7a1cad4e4d4bc7849b0bda9355a3ec3dca46d16d265f5af563c2512e9db7ccb510c8da6857d54814d89d1"},"length":1370,"version":6}},"spec_version":"0.9","version":6},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"f89f1966e11a080387b9b5a58369d2bfc6be95d3fe7b282cb9ea593171c96bd5911ed341aa71ab81a7be09abd4060055dc0aba7bfe76e3414a06bba99bfdbe05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/6.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/6.targets.json
new file mode 100644
index 0000000..9ace8f2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/6.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"f74981c5acf8de42e3971048dec6a14f7c92bb9ae348b5db772f0d34247a27087b95acb0c80ad58a6144c1e36fa9d210f31a61718aeb3930863d701732ea0509"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/6739d85a14409656cd3e2c30d74a9c223adae0a5fcf77b35f2a0ae4e000a04304ac0ce679c408c681c3ee9963972960e429dee73229b39ce7f0985a6ce793fa4.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/6739d85a14409656cd3e2c30d74a9c223adae0a5fcf77b35f2a0ae4e000a04304ac0ce679c408c681c3ee9963972960e429dee73229b39ce7f0985a6ce793fa4.targets.json
new file mode 100644
index 0000000..e4e8d97
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/6739d85a14409656cd3e2c30d74a9c223adae0a5fcf77b35f2a0ae4e000a04304ac0ce679c408c681c3ee9963972960e429dee73229b39ce7f0985a6ce793fa4.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"d3abea15f2cae9cd3fd4c9a1d91732a533f09c85d3df08b160aa3e7410b14472b3bf38363a183b57e98de3c146ff50eb76924f64c50bda50bd4e471ab3bb060e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/79aea5d7e13bdf8e7262631ef777a2b6753d02049310b50c54ea82a4a95b6e6984c3fef74fae8e9bf8c2ff972e9539669031b0a8b7b9dcc2356510562b0e5513.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/79aea5d7e13bdf8e7262631ef777a2b6753d02049310b50c54ea82a4a95b6e6984c3fef74fae8e9bf8c2ff972e9539669031b0a8b7b9dcc2356510562b0e5513.root.json
new file mode 100644
index 0000000..455a5b5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/79aea5d7e13bdf8e7262631ef777a2b6753d02049310b50c54ea82a4a95b6e6984c3fef74fae8e9bf8c2ff972e9539669031b0a8b7b9dcc2356510562b0e5513.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d":{"keytype":"ed25519","keyval":{"public":"723c38a9636c18fe933bf3d3984cae569afb06e384384eadcb34c14f6db369e1"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}},"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8":{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}},"roles":{"root":{"keyids":["113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8"],"threshold":1}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d","method":"ed25519","sig":"76e88d7bf04c3525929c7337ccd1471f94d5b7f20a4b9856afcc0b49b8c28e97b735ad28f4659e31858de69b3300e7f8a3d655266bdd0cb721aa83355fbbfd0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/b9887221b630cd9e64483ce60a5dcb7a8e64182ef16adada4a5a26729c0ccc2fad4ebd993d897f5aa087b3a6644a9ab5043be93a16aaf144adc9a3d4489295e9.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/b9887221b630cd9e64483ce60a5dcb7a8e64182ef16adada4a5a26729c0ccc2fad4ebd993d897f5aa087b3a6644a9ab5043be93a16aaf144adc9a3d4489295e9.snapshot.json
new file mode 100644
index 0000000..1dc4cbd
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/b9887221b630cd9e64483ce60a5dcb7a8e64182ef16adada4a5a26729c0ccc2fad4ebd993d897f5aa087b3a6644a9ab5043be93a16aaf144adc9a3d4489295e9.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"79aea5d7e13bdf8e7262631ef777a2b6753d02049310b50c54ea82a4a95b6e6984c3fef74fae8e9bf8c2ff972e9539669031b0a8b7b9dcc2356510562b0e5513"},"length":1507,"version":4},"targets.json":{"hashes":{"sha512":"6739d85a14409656cd3e2c30d74a9c223adae0a5fcf77b35f2a0ae4e000a04304ac0ce679c408c681c3ee9963972960e429dee73229b39ce7f0985a6ce793fa4"},"length":1201,"version":5}},"spec_version":"0.9","version":5},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"8a7273aa8e2e604cddf88ca35ba54dfef74b690bb956f14cc66b8e9eca7cdd08cfb35c077e29584536bdfc1ed0aca4d3c05387b607e706f11c4fc5f1bc95900b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/c39229c14fa7900773606a4d06a473c702e06e489e5fdd1acc367299b8ed67ab78b268e3acc41447a9183d3a121879020b27ad0449c4c695bd9be1281cc1db67.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/c39229c14fa7900773606a4d06a473c702e06e489e5fdd1acc367299b8ed67ab78b268e3acc41447a9183d3a121879020b27ad0449c4c695bd9be1281cc1db67.targets.json
new file mode 100644
index 0000000..7a04795
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/c39229c14fa7900773606a4d06a473c702e06e489e5fdd1acc367299b8ed67ab78b268e3acc41447a9183d3a121879020b27ad0449c4c695bd9be1281cc1db67.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"07b2264ede28cdcb64665b129abb2416af14b6ba91acf393a6e9b78d592686e39e7b59a043127fb98fa7460a6302bd36640314cde21f82892f151eb222f0a902"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/c73d44089dfdab84cf7f69790aaa77796aaac58bc843f619354a55cb217523c2d76ffbb9343f6e2bb16577979f4b7bca061656f604acbe8762e5b3363c5d3e97.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/c73d44089dfdab84cf7f69790aaa77796aaac58bc843f619354a55cb217523c2d76ffbb9343f6e2bb16577979f4b7bca061656f604acbe8762e5b3363c5d3e97.snapshot.json
new file mode 100644
index 0000000..b03737c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/c73d44089dfdab84cf7f69790aaa77796aaac58bc843f619354a55cb217523c2d76ffbb9343f6e2bb16577979f4b7bca061656f604acbe8762e5b3363c5d3e97.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"34ed328754a1f506e66c631380e0f81c4a378db52bccad1e0fcdc599a5318777bee2dd623bb2898cf494f5d9c1bf60ede08b552bea73c50e89a5c0770322cced"},"length":863,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"6a8e74a6f6960988401de9b847e71a8e9d96d21d4006f4f0a6834f3292dd709491c82964671d9ee7f96949103efe78b941d631596c0a181fdf21b088e415f50f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df.root.json
new file mode 100644
index 0000000..bc2e5b4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/cb8b78180444073b327e0a6ac64c89d57d46963f4a132d7f87fc6c217b4cd3fb91d40407023136bf42fedecb2f012b24e40c3d92f6465463b76460a25c53d5df.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369":{"keytype":"ed25519","keyval":{"public":"6cfa160e961bd74cd96aa95960abe0f1f0c852e0e6d8ea809f54a1976a913b71"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"7433ea08f49113866c973d20777ce42a1af334fa69b15be1f992d377a4bf6bae":{"keytype":"ed25519","keyval":{"public":"9dc1d9079a4d19b8e79ff79d833b66058754a9d9d34844d9d88db422a32488c5"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}}},"roles":{"root":{"keyids":["361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["7433ea08f49113866c973d20777ce42a1af334fa69b15be1f992d377a4bf6bae"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"344ab3e82eecc5bd431b16dfafddd727d6e98505973fdaec6f7bc9b133eed6e6e2cdd6f583b9a234e84d908f9e3ff4c4a4954096e780a5a419474b1ff819920c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/e3f80d3ba9b24fbcba235cc3414e7159e208146818e828da84a178145b579ccd9b3c9b5b2c899029db90870e89c98957e0da79e914d6a68531d54f6b9537d5b3.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/e3f80d3ba9b24fbcba235cc3414e7159e208146818e828da84a178145b579ccd9b3c9b5b2c899029db90870e89c98957e0da79e914d6a68531d54f6b9537d5b3.snapshot.json
new file mode 100644
index 0000000..a1c2ed7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/e3f80d3ba9b24fbcba235cc3414e7159e208146818e828da84a178145b579ccd9b3c9b5b2c899029db90870e89c98957e0da79e914d6a68531d54f6b9537d5b3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"79aea5d7e13bdf8e7262631ef777a2b6753d02049310b50c54ea82a4a95b6e6984c3fef74fae8e9bf8c2ff972e9539669031b0a8b7b9dcc2356510562b0e5513"},"length":1507,"version":4},"targets.json":{"hashes":{"sha512":"e60c1932cdd7ef13f03916240e0da6509b6b227dcaf7a1cad4e4d4bc7849b0bda9355a3ec3dca46d16d265f5af563c2512e9db7ccb510c8da6857d54814d89d1"},"length":1370,"version":6}},"spec_version":"0.9","version":6},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"f89f1966e11a080387b9b5a58369d2bfc6be95d3fe7b282cb9ea593171c96bd5911ed341aa71ab81a7be09abd4060055dc0aba7bfe76e3414a06bba99bfdbe05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/e60c1932cdd7ef13f03916240e0da6509b6b227dcaf7a1cad4e4d4bc7849b0bda9355a3ec3dca46d16d265f5af563c2512e9db7ccb510c8da6857d54814d89d1.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/e60c1932cdd7ef13f03916240e0da6509b6b227dcaf7a1cad4e4d4bc7849b0bda9355a3ec3dca46d16d265f5af563c2512e9db7ccb510c8da6857d54814d89d1.targets.json
new file mode 100644
index 0000000..9ace8f2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/e60c1932cdd7ef13f03916240e0da6509b6b227dcaf7a1cad4e4d4bc7849b0bda9355a3ec3dca46d16d265f5af563c2512e9db7ccb510c8da6857d54814d89d1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"f74981c5acf8de42e3971048dec6a14f7c92bb9ae348b5db772f0d34247a27087b95acb0c80ad58a6144c1e36fa9d210f31a61718aeb3930863d701732ea0509"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/e802563e327c578aa969ca5332149fcfc0b844cee925d2c50bb84b2e2587f463e325aac252303bc22cfc037b5cd15b6fd2259358528f150fed779b54e504be4c.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/e802563e327c578aa969ca5332149fcfc0b844cee925d2c50bb84b2e2587f463e325aac252303bc22cfc037b5cd15b6fd2259358528f150fed779b54e504be4c.snapshot.json
new file mode 100644
index 0000000..d8bf343
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/e802563e327c578aa969ca5332149fcfc0b844cee925d2c50bb84b2e2587f463e325aac252303bc22cfc037b5cd15b6fd2259358528f150fed779b54e504be4c.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1a66abf1025cc86a1352d0762feccf2a898fd2c86cbb5562d6dc76e24e77ee2b8aed37bc04ac358d5348053596e8823b68472d753d5d29dc32c79b8f0d26aa36"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"33624c503b2688b5c4c4702c6e2316d3f70052d87385de57621c329b4d5c2dc08b921dbde890a32417afb61016c3a40bace62aad95010a58f71d05878cf38725"},"length":694,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"f849430057afa19c8bb9bf7d092465ec966246bb09b3a45e3a2d294acb2e372b6e5c91a928f58bc4a2c61d6e6088872098c72462118748976e9ec78a6a4f8a01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/ec1d91a6a006976a8ad28f866b91d8383a6b829829f88a7c739ec1b106e831fae5515269f03c46b234da4077779c1bd5eddd90c82e27567c5de33e991f079e3f.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/ec1d91a6a006976a8ad28f866b91d8383a6b829829f88a7c739ec1b106e831fae5515269f03c46b234da4077779c1bd5eddd90c82e27567c5de33e991f079e3f.root.json
new file mode 100644
index 0000000..4ca981d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/ec1d91a6a006976a8ad28f866b91d8383a6b829829f88a7c739ec1b106e831fae5515269f03c46b234da4077779c1bd5eddd90c82e27567c5de33e991f079e3f.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d":{"keytype":"ed25519","keyval":{"public":"723c38a9636c18fe933bf3d3984cae569afb06e384384eadcb34c14f6db369e1"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}},"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8":{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}},"roles":{"root":{"keyids":["113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"361e7765c120cb5c48d1b15385d2d77c18a4e193cce02c70e5425c3e47219369","method":"ed25519","sig":"60262fa65f836d0bebd220007325a8a4fd3c50c38e1adcb3f70d13ade3975e44c185c5366f7ad32e7d453dec97426116f554070ea2f28ce5c2b4db3dc422fc0f"},{"keyid":"113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d","method":"ed25519","sig":"09a38f44a0f42b432a18d72261a2c8a4de99b974641d31b5eaf9cc9c487d3fdbe62afb9afa94f6dd1094835b8300c4b8b73fb2ee7b0bceb8b8d1df3ee32ecd05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/root.json
new file mode 100644
index 0000000..455a5b5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d":{"keytype":"ed25519","keyval":{"public":"723c38a9636c18fe933bf3d3984cae569afb06e384384eadcb34c14f6db369e1"}},"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653":{"keytype":"ed25519","keyval":{"public":"2d684cb28f4bc5490d98b184bf3c46d805508f6db5069ec509cac2a33a37f475"}},"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16":{"keytype":"ed25519","keyval":{"public":"87e499b78cb692cfb368f6d89f408a9c2826e86e3bf5fa4ab9aadbd08bde71a2"}},"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8":{"keytype":"ed25519","keyval":{"public":"1ad9d640ca95d209c359b2c9371ca56f7e0613d15430a4c7fd2ab392ef369587"}}},"roles":{"root":{"keyids":["113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d"],"threshold":1},"snapshot":{"keyids":["901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16"],"threshold":1},"targets":{"keyids":["395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653"],"threshold":1},"timestamp":{"keyids":["93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8"],"threshold":1}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"113e8e4feef471c193818a2efd5d7335660dfe4dd90f440d5d2736f0240f6a1d","method":"ed25519","sig":"76e88d7bf04c3525929c7337ccd1471f94d5b7f20a4b9856afcc0b49b8c28e97b735ad28f4659e31858de69b3300e7f8a3d655266bdd0cb721aa83355fbbfd0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/snapshot.json
new file mode 100644
index 0000000..a1c2ed7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"79aea5d7e13bdf8e7262631ef777a2b6753d02049310b50c54ea82a4a95b6e6984c3fef74fae8e9bf8c2ff972e9539669031b0a8b7b9dcc2356510562b0e5513"},"length":1507,"version":4},"targets.json":{"hashes":{"sha512":"e60c1932cdd7ef13f03916240e0da6509b6b227dcaf7a1cad4e4d4bc7849b0bda9355a3ec3dca46d16d265f5af563c2512e9db7ccb510c8da6857d54814d89d1"},"length":1370,"version":6}},"spec_version":"0.9","version":6},"signatures":[{"keyid":"901d37390736de099040aa015a563a159180c9727740d0d56ca6167f77812c16","method":"ed25519","sig":"f89f1966e11a080387b9b5a58369d2bfc6be95d3fe7b282cb9ea593171c96bd5911ed341aa71ab81a7be09abd4060055dc0aba7bfe76e3414a06bba99bfdbe05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets.json
new file mode 100644
index 0000000..9ace8f2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"395a59dca2a4aa0a256f8f22a82488d31283824deb79eed218ff28f322f25653","method":"ed25519","sig":"f74981c5acf8de42e3971048dec6a14f7c92bb9ae348b5db772f0d34247a27087b95acb0c80ad58a6144c1e36fa9d210f31a61718aeb3930863d701732ea0509"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/0.0 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/0.1 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/0.2 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/0.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/0.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/0.3 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/0.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/0.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/0.4 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/0.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/0.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/0.5 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/0.5
new file mode 100644
index 0000000..7813681
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/0.5
@@ -0,0 +1 @@
+5
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5
new file mode 100644
index 0000000..7813681
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5
@@ -0,0 +1 @@
+5
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/timestamp.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/timestamp.json
new file mode 100644
index 0000000..b280d21
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-false/5/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"e3f80d3ba9b24fbcba235cc3414e7159e208146818e828da84a178145b579ccd9b3c9b5b2c899029db90870e89c98957e0da79e914d6a68531d54f6b9537d5b3"},"length":739,"version":6}},"spec_version":"0.9","version":6},"signatures":[{"keyid":"93b4adcb76ceabacb8124b69bc2ce18e493e88610519b1b82362c7f5512d45d8","method":"ed25519","sig":"dd4559ba52c5d8b2295e55f4f0f6c8ac11b4e717726f93785b6f4691c2575b5ae46191bb3f300d6ea66553f51ae0942f5bebc9bec02f110ab834d0d0a8f4a30e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/keys/root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/keys/root.json
new file mode 100644
index 0000000..ac1e872
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/keys/root.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601",
+				"private": "1c374be6ceb6f087607dc7b14163784c91bedc91571a17d51046eb78c99422206a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/keys/snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/keys/snapshot.json
new file mode 100644
index 0000000..4c95405
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/keys/snapshot.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644",
+				"private": "2726d2d67b03b917ace7f4ca5311d8c6332fa6d696d5285bbb06039e328c2f8da1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/keys/targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/keys/targets.json
new file mode 100644
index 0000000..031657c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/keys/targets.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f",
+				"private": "858778dd376dff8b8a77825e143d63c430fe29ab5a7833b0974f8c653fe67454a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/keys/timestamp.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/keys/timestamp.json
new file mode 100644
index 0000000..f7f3f07
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/keys/timestamp.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "f7dcca6d2e8379d54e0643c47112ac7d1c15c5c42a66cf393ceff33f23c98bc0",
+				"private": "d2172ea4ec3fe884a914d4936fe192ee9d7da91432410dabaa521c71ff16b8abf7dcca6d2e8379d54e0643c47112ac7d1c15c5c42a66cf393ceff33f23c98bc0"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/1.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/1.root.json
new file mode 100644
index 0000000..655f0c7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510":{"keytype":"ed25519","keyval":{"public":"6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"}},"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"5128430cd15ba7d83889248a70edb71cc6a6bb46d5747910d41729c2b9a19896":{"keytype":"ed25519","keyval":{"public":"f7dcca6d2e8379d54e0643c47112ac7d1c15c5c42a66cf393ceff33f23c98bc0"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}}},"roles":{"root":{"keyids":["31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["5128430cd15ba7d83889248a70edb71cc6a6bb46d5747910d41729c2b9a19896"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"a5dae908927ff450d0767062441f240b75c6acd6cf3dbf8095d26adb28c62e2763bbea6ab747d1f41a9100e6f9ee98d42ac00c18264401ef026ea57c265cbd0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/1.snapshot.json
new file mode 100644
index 0000000..b27aa3d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f"},"length":1507,"version":1},"targets.json":{"hashes":{"sha512":"c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485"},"length":525,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"8162377cd8cc827bc0779f5e266bc8eb8e5339f402404658df59d4b9c0a87c75982db95676f4383d366721d502af4e182da93de338c2dbdd70671bf032d65e0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/1.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/1.targets.json
new file mode 100644
index 0000000..f885158
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"645a909d3c9155e5de29e45182a31d85d0d02132f67f0008299d39634eadbf95c2980ed1f9082fcde6ecb82a612ab8fc82e0d61e7821bd8f782966173917c106"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/5dadba8e970d430bbee9210075169df8c7bb8165847e9cdce05afb79e852d2d6a2dc12d48b3298dd72fa3f2af38cb2ad2af1887db1655e88c11085f7f7d4d78c.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/5dadba8e970d430bbee9210075169df8c7bb8165847e9cdce05afb79e852d2d6a2dc12d48b3298dd72fa3f2af38cb2ad2af1887db1655e88c11085f7f7d4d78c.snapshot.json
new file mode 100644
index 0000000..b27aa3d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/5dadba8e970d430bbee9210075169df8c7bb8165847e9cdce05afb79e852d2d6a2dc12d48b3298dd72fa3f2af38cb2ad2af1887db1655e88c11085f7f7d4d78c.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f"},"length":1507,"version":1},"targets.json":{"hashes":{"sha512":"c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485"},"length":525,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"8162377cd8cc827bc0779f5e266bc8eb8e5339f402404658df59d4b9c0a87c75982db95676f4383d366721d502af4e182da93de338c2dbdd70671bf032d65e0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f.root.json
new file mode 100644
index 0000000..655f0c7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510":{"keytype":"ed25519","keyval":{"public":"6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"}},"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"5128430cd15ba7d83889248a70edb71cc6a6bb46d5747910d41729c2b9a19896":{"keytype":"ed25519","keyval":{"public":"f7dcca6d2e8379d54e0643c47112ac7d1c15c5c42a66cf393ceff33f23c98bc0"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}}},"roles":{"root":{"keyids":["31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["5128430cd15ba7d83889248a70edb71cc6a6bb46d5747910d41729c2b9a19896"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"a5dae908927ff450d0767062441f240b75c6acd6cf3dbf8095d26adb28c62e2763bbea6ab747d1f41a9100e6f9ee98d42ac00c18264401ef026ea57c265cbd0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485.targets.json
new file mode 100644
index 0000000..f885158
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"645a909d3c9155e5de29e45182a31d85d0d02132f67f0008299d39634eadbf95c2980ed1f9082fcde6ecb82a612ab8fc82e0d61e7821bd8f782966173917c106"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/root.json
new file mode 100644
index 0000000..655f0c7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510":{"keytype":"ed25519","keyval":{"public":"6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"}},"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"5128430cd15ba7d83889248a70edb71cc6a6bb46d5747910d41729c2b9a19896":{"keytype":"ed25519","keyval":{"public":"f7dcca6d2e8379d54e0643c47112ac7d1c15c5c42a66cf393ceff33f23c98bc0"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}}},"roles":{"root":{"keyids":["31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["5128430cd15ba7d83889248a70edb71cc6a6bb46d5747910d41729c2b9a19896"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"a5dae908927ff450d0767062441f240b75c6acd6cf3dbf8095d26adb28c62e2763bbea6ab747d1f41a9100e6f9ee98d42ac00c18264401ef026ea57c265cbd0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/snapshot.json
new file mode 100644
index 0000000..b27aa3d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f"},"length":1507,"version":1},"targets.json":{"hashes":{"sha512":"c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485"},"length":525,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"8162377cd8cc827bc0779f5e266bc8eb8e5339f402404658df59d4b9c0a87c75982db95676f4383d366721d502af4e182da93de338c2dbdd70671bf032d65e0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/targets.json
new file mode 100644
index 0000000..f885158
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"645a909d3c9155e5de29e45182a31d85d0d02132f67f0008299d39634eadbf95c2980ed1f9082fcde6ecb82a612ab8fc82e0d61e7821bd8f782966173917c106"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/targets/0.0 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/timestamp.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/timestamp.json
new file mode 100644
index 0000000..aa06dd2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/0/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"5dadba8e970d430bbee9210075169df8c7bb8165847e9cdce05afb79e852d2d6a2dc12d48b3298dd72fa3f2af38cb2ad2af1887db1655e88c11085f7f7d4d78c"},"length":738,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"5128430cd15ba7d83889248a70edb71cc6a6bb46d5747910d41729c2b9a19896","method":"ed25519","sig":"4cfbad18db9797753bd3055187de6c49edb24ad5550a1112a48da0bcdfa3b4df0328dd4a3b60eb7c2abe713e263560f82a577904966c6bd952f5e108996dbf02"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/keys/root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/keys/root.json
new file mode 100644
index 0000000..ac1e872
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/keys/root.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601",
+				"private": "1c374be6ceb6f087607dc7b14163784c91bedc91571a17d51046eb78c99422206a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/keys/snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/keys/snapshot.json
new file mode 100644
index 0000000..4c95405
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/keys/snapshot.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644",
+				"private": "2726d2d67b03b917ace7f4ca5311d8c6332fa6d696d5285bbb06039e328c2f8da1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/keys/targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/keys/targets.json
new file mode 100644
index 0000000..031657c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/keys/targets.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f",
+				"private": "858778dd376dff8b8a77825e143d63c430fe29ab5a7833b0974f8c653fe67454a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/keys/timestamp.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/keys/timestamp.json
new file mode 100644
index 0000000..d8cd9c9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/keys/timestamp.json
@@ -0,0 +1,19 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "f7dcca6d2e8379d54e0643c47112ac7d1c15c5c42a66cf393ceff33f23c98bc0",
+				"private": "d2172ea4ec3fe884a914d4936fe192ee9d7da91432410dabaa521c71ff16b8abf7dcca6d2e8379d54e0643c47112ac7d1c15c5c42a66cf393ceff33f23c98bc0"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737",
+				"private": "d1dbfd67f3e164703661aa3989daa097b74d6880c4da020dc4d3defde9aedbc7988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/1.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/1.root.json
new file mode 100644
index 0000000..655f0c7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510":{"keytype":"ed25519","keyval":{"public":"6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"}},"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"5128430cd15ba7d83889248a70edb71cc6a6bb46d5747910d41729c2b9a19896":{"keytype":"ed25519","keyval":{"public":"f7dcca6d2e8379d54e0643c47112ac7d1c15c5c42a66cf393ceff33f23c98bc0"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}}},"roles":{"root":{"keyids":["31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["5128430cd15ba7d83889248a70edb71cc6a6bb46d5747910d41729c2b9a19896"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"a5dae908927ff450d0767062441f240b75c6acd6cf3dbf8095d26adb28c62e2763bbea6ab747d1f41a9100e6f9ee98d42ac00c18264401ef026ea57c265cbd0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/1.snapshot.json
new file mode 100644
index 0000000..b27aa3d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f"},"length":1507,"version":1},"targets.json":{"hashes":{"sha512":"c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485"},"length":525,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"8162377cd8cc827bc0779f5e266bc8eb8e5339f402404658df59d4b9c0a87c75982db95676f4383d366721d502af4e182da93de338c2dbdd70671bf032d65e0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/1.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/1.targets.json
new file mode 100644
index 0000000..f885158
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"645a909d3c9155e5de29e45182a31d85d0d02132f67f0008299d39634eadbf95c2980ed1f9082fcde6ecb82a612ab8fc82e0d61e7821bd8f782966173917c106"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/2.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/2.root.json
new file mode 100644
index 0000000..12c1cb7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510":{"keytype":"ed25519","keyval":{"public":"6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"}},"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331":{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}}},"roles":{"root":{"keyids":["31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"f430584f815aad76fb8a2f3d7389f4d0df7120d68474fe7a02bdaffd5bb839a2797d1cf5175ecd4872dd7a3c1412d7ea2054fc4393729b16c819308adba7cc0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/2.snapshot.json
new file mode 100644
index 0000000..f4daefa
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"f237a4ab42e74484b7031d7751a61324c817f08c3da1b88a103ec88a083710d9ee03db9231821b15c1088b04fc80ae7087d1bcf5bf96a9e523850ddf29b8b844"},"length":694,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"0a59b2f8002d4c8e8a4a309ee4bf8a8665ed073d1c128af8727274ffddb97f2e66b23fedf2b796073beb35786644e5c4a3b5dd53f14675941669ee4791edcc03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/2.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/2.targets.json
new file mode 100644
index 0000000..49d4ed2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/2.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"61ff2032e7d0a811c5be366757f9c50279280677b8382982e0115f038896c0f191ed43e13b6667890d6f9cd300ebc022ccd130ec2eee359825036b035b03340f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/5dadba8e970d430bbee9210075169df8c7bb8165847e9cdce05afb79e852d2d6a2dc12d48b3298dd72fa3f2af38cb2ad2af1887db1655e88c11085f7f7d4d78c.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/5dadba8e970d430bbee9210075169df8c7bb8165847e9cdce05afb79e852d2d6a2dc12d48b3298dd72fa3f2af38cb2ad2af1887db1655e88c11085f7f7d4d78c.snapshot.json
new file mode 100644
index 0000000..b27aa3d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/5dadba8e970d430bbee9210075169df8c7bb8165847e9cdce05afb79e852d2d6a2dc12d48b3298dd72fa3f2af38cb2ad2af1887db1655e88c11085f7f7d4d78c.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f"},"length":1507,"version":1},"targets.json":{"hashes":{"sha512":"c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485"},"length":525,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"8162377cd8cc827bc0779f5e266bc8eb8e5339f402404658df59d4b9c0a87c75982db95676f4383d366721d502af4e182da93de338c2dbdd70671bf032d65e0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1.root.json
new file mode 100644
index 0000000..12c1cb7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510":{"keytype":"ed25519","keyval":{"public":"6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"}},"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331":{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}}},"roles":{"root":{"keyids":["31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"f430584f815aad76fb8a2f3d7389f4d0df7120d68474fe7a02bdaffd5bb839a2797d1cf5175ecd4872dd7a3c1412d7ea2054fc4393729b16c819308adba7cc0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f.root.json
new file mode 100644
index 0000000..655f0c7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510":{"keytype":"ed25519","keyval":{"public":"6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"}},"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"5128430cd15ba7d83889248a70edb71cc6a6bb46d5747910d41729c2b9a19896":{"keytype":"ed25519","keyval":{"public":"f7dcca6d2e8379d54e0643c47112ac7d1c15c5c42a66cf393ceff33f23c98bc0"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}}},"roles":{"root":{"keyids":["31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["5128430cd15ba7d83889248a70edb71cc6a6bb46d5747910d41729c2b9a19896"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"a5dae908927ff450d0767062441f240b75c6acd6cf3dbf8095d26adb28c62e2763bbea6ab747d1f41a9100e6f9ee98d42ac00c18264401ef026ea57c265cbd0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485.targets.json
new file mode 100644
index 0000000..f885158
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"645a909d3c9155e5de29e45182a31d85d0d02132f67f0008299d39634eadbf95c2980ed1f9082fcde6ecb82a612ab8fc82e0d61e7821bd8f782966173917c106"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/d01460ac3b2a045447b73a89a05216657eeac86c43539cee12d82bd7a4af9279c4c7ee14e728fc42dc9ca1aeb344fd725a3ecae723245290f932b39d006b4e39.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/d01460ac3b2a045447b73a89a05216657eeac86c43539cee12d82bd7a4af9279c4c7ee14e728fc42dc9ca1aeb344fd725a3ecae723245290f932b39d006b4e39.snapshot.json
new file mode 100644
index 0000000..f4daefa
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/d01460ac3b2a045447b73a89a05216657eeac86c43539cee12d82bd7a4af9279c4c7ee14e728fc42dc9ca1aeb344fd725a3ecae723245290f932b39d006b4e39.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"f237a4ab42e74484b7031d7751a61324c817f08c3da1b88a103ec88a083710d9ee03db9231821b15c1088b04fc80ae7087d1bcf5bf96a9e523850ddf29b8b844"},"length":694,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"0a59b2f8002d4c8e8a4a309ee4bf8a8665ed073d1c128af8727274ffddb97f2e66b23fedf2b796073beb35786644e5c4a3b5dd53f14675941669ee4791edcc03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/f237a4ab42e74484b7031d7751a61324c817f08c3da1b88a103ec88a083710d9ee03db9231821b15c1088b04fc80ae7087d1bcf5bf96a9e523850ddf29b8b844.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/f237a4ab42e74484b7031d7751a61324c817f08c3da1b88a103ec88a083710d9ee03db9231821b15c1088b04fc80ae7087d1bcf5bf96a9e523850ddf29b8b844.targets.json
new file mode 100644
index 0000000..49d4ed2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/f237a4ab42e74484b7031d7751a61324c817f08c3da1b88a103ec88a083710d9ee03db9231821b15c1088b04fc80ae7087d1bcf5bf96a9e523850ddf29b8b844.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"61ff2032e7d0a811c5be366757f9c50279280677b8382982e0115f038896c0f191ed43e13b6667890d6f9cd300ebc022ccd130ec2eee359825036b035b03340f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/root.json
new file mode 100644
index 0000000..12c1cb7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510":{"keytype":"ed25519","keyval":{"public":"6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"}},"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331":{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}}},"roles":{"root":{"keyids":["31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"f430584f815aad76fb8a2f3d7389f4d0df7120d68474fe7a02bdaffd5bb839a2797d1cf5175ecd4872dd7a3c1412d7ea2054fc4393729b16c819308adba7cc0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/snapshot.json
new file mode 100644
index 0000000..f4daefa
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"f237a4ab42e74484b7031d7751a61324c817f08c3da1b88a103ec88a083710d9ee03db9231821b15c1088b04fc80ae7087d1bcf5bf96a9e523850ddf29b8b844"},"length":694,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"0a59b2f8002d4c8e8a4a309ee4bf8a8665ed073d1c128af8727274ffddb97f2e66b23fedf2b796073beb35786644e5c4a3b5dd53f14675941669ee4791edcc03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/targets.json
new file mode 100644
index 0000000..49d4ed2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"61ff2032e7d0a811c5be366757f9c50279280677b8382982e0115f038896c0f191ed43e13b6667890d6f9cd300ebc022ccd130ec2eee359825036b035b03340f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/targets/0.0 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/targets/0.1 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/timestamp.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/timestamp.json
new file mode 100644
index 0000000..dd01786
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/1/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"d01460ac3b2a045447b73a89a05216657eeac86c43539cee12d82bd7a4af9279c4c7ee14e728fc42dc9ca1aeb344fd725a3ecae723245290f932b39d006b4e39"},"length":738,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331","method":"ed25519","sig":"7f50039da0962f44b02e288c31afccedb1625bebda8b4b65b5dc22cb490c347eae3258c4ff489d9be2a48c1d4d8b983759c3dfd8b7ea90ef5fed089ef7f67b04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/keys/root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/keys/root.json
new file mode 100644
index 0000000..ac1e872
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/keys/root.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601",
+				"private": "1c374be6ceb6f087607dc7b14163784c91bedc91571a17d51046eb78c99422206a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/keys/snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/keys/snapshot.json
new file mode 100644
index 0000000..4c95405
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/keys/snapshot.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644",
+				"private": "2726d2d67b03b917ace7f4ca5311d8c6332fa6d696d5285bbb06039e328c2f8da1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/keys/targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/keys/targets.json
new file mode 100644
index 0000000..031657c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/keys/targets.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f",
+				"private": "858778dd376dff8b8a77825e143d63c430fe29ab5a7833b0974f8c653fe67454a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/keys/timestamp.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/keys/timestamp.json
new file mode 100644
index 0000000..051b69b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737","private":"d1dbfd67f3e164703661aa3989daa097b74d6880c4da020dc4d3defde9aedbc7988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/043db67774dcd41078840ab4bfe97c89b75a6e0033a99a0c19c43b34afdabe32ebb769ea16fbd699025f227c537cd5b9488eb7318b5e3b5076274c0763112597.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/043db67774dcd41078840ab4bfe97c89b75a6e0033a99a0c19c43b34afdabe32ebb769ea16fbd699025f227c537cd5b9488eb7318b5e3b5076274c0763112597.targets.json
new file mode 100644
index 0000000..4de3acc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/043db67774dcd41078840ab4bfe97c89b75a6e0033a99a0c19c43b34afdabe32ebb769ea16fbd699025f227c537cd5b9488eb7318b5e3b5076274c0763112597.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"d61ea674565f6ab1effbfd5d128e269be3af51227d4a511dcca91cea29a676d5b59bb526108a4c1a24e80c428f76eb7821832c00257413247cf73643bee16804"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/1.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/1.root.json
new file mode 100644
index 0000000..655f0c7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510":{"keytype":"ed25519","keyval":{"public":"6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"}},"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"5128430cd15ba7d83889248a70edb71cc6a6bb46d5747910d41729c2b9a19896":{"keytype":"ed25519","keyval":{"public":"f7dcca6d2e8379d54e0643c47112ac7d1c15c5c42a66cf393ceff33f23c98bc0"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}}},"roles":{"root":{"keyids":["31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["5128430cd15ba7d83889248a70edb71cc6a6bb46d5747910d41729c2b9a19896"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"a5dae908927ff450d0767062441f240b75c6acd6cf3dbf8095d26adb28c62e2763bbea6ab747d1f41a9100e6f9ee98d42ac00c18264401ef026ea57c265cbd0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/1.snapshot.json
new file mode 100644
index 0000000..b27aa3d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f"},"length":1507,"version":1},"targets.json":{"hashes":{"sha512":"c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485"},"length":525,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"8162377cd8cc827bc0779f5e266bc8eb8e5339f402404658df59d4b9c0a87c75982db95676f4383d366721d502af4e182da93de338c2dbdd70671bf032d65e0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/1.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/1.targets.json
new file mode 100644
index 0000000..f885158
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"645a909d3c9155e5de29e45182a31d85d0d02132f67f0008299d39634eadbf95c2980ed1f9082fcde6ecb82a612ab8fc82e0d61e7821bd8f782966173917c106"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/2.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/2.root.json
new file mode 100644
index 0000000..12c1cb7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510":{"keytype":"ed25519","keyval":{"public":"6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"}},"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331":{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}}},"roles":{"root":{"keyids":["31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"f430584f815aad76fb8a2f3d7389f4d0df7120d68474fe7a02bdaffd5bb839a2797d1cf5175ecd4872dd7a3c1412d7ea2054fc4393729b16c819308adba7cc0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/2.snapshot.json
new file mode 100644
index 0000000..f4daefa
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"f237a4ab42e74484b7031d7751a61324c817f08c3da1b88a103ec88a083710d9ee03db9231821b15c1088b04fc80ae7087d1bcf5bf96a9e523850ddf29b8b844"},"length":694,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"0a59b2f8002d4c8e8a4a309ee4bf8a8665ed073d1c128af8727274ffddb97f2e66b23fedf2b796073beb35786644e5c4a3b5dd53f14675941669ee4791edcc03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/2.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/2.targets.json
new file mode 100644
index 0000000..49d4ed2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/2.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"61ff2032e7d0a811c5be366757f9c50279280677b8382982e0115f038896c0f191ed43e13b6667890d6f9cd300ebc022ccd130ec2eee359825036b035b03340f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/3.snapshot.json
new file mode 100644
index 0000000..1450690
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"043db67774dcd41078840ab4bfe97c89b75a6e0033a99a0c19c43b34afdabe32ebb769ea16fbd699025f227c537cd5b9488eb7318b5e3b5076274c0763112597"},"length":863,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"c697462659178f0b016a03b9970426dafffbac035609d0a19fd74193ad7edddca71f6b2f43fd9a04e421282cde007775fe74f6e48e25d1b080ea974424f8c609"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/3.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/3.targets.json
new file mode 100644
index 0000000..4de3acc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/3.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"d61ea674565f6ab1effbfd5d128e269be3af51227d4a511dcca91cea29a676d5b59bb526108a4c1a24e80c428f76eb7821832c00257413247cf73643bee16804"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/5dadba8e970d430bbee9210075169df8c7bb8165847e9cdce05afb79e852d2d6a2dc12d48b3298dd72fa3f2af38cb2ad2af1887db1655e88c11085f7f7d4d78c.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/5dadba8e970d430bbee9210075169df8c7bb8165847e9cdce05afb79e852d2d6a2dc12d48b3298dd72fa3f2af38cb2ad2af1887db1655e88c11085f7f7d4d78c.snapshot.json
new file mode 100644
index 0000000..b27aa3d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/5dadba8e970d430bbee9210075169df8c7bb8165847e9cdce05afb79e852d2d6a2dc12d48b3298dd72fa3f2af38cb2ad2af1887db1655e88c11085f7f7d4d78c.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f"},"length":1507,"version":1},"targets.json":{"hashes":{"sha512":"c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485"},"length":525,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"8162377cd8cc827bc0779f5e266bc8eb8e5339f402404658df59d4b9c0a87c75982db95676f4383d366721d502af4e182da93de338c2dbdd70671bf032d65e0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1.root.json
new file mode 100644
index 0000000..12c1cb7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510":{"keytype":"ed25519","keyval":{"public":"6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"}},"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331":{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}}},"roles":{"root":{"keyids":["31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"f430584f815aad76fb8a2f3d7389f4d0df7120d68474fe7a02bdaffd5bb839a2797d1cf5175ecd4872dd7a3c1412d7ea2054fc4393729b16c819308adba7cc0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f.root.json
new file mode 100644
index 0000000..655f0c7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510":{"keytype":"ed25519","keyval":{"public":"6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"}},"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"5128430cd15ba7d83889248a70edb71cc6a6bb46d5747910d41729c2b9a19896":{"keytype":"ed25519","keyval":{"public":"f7dcca6d2e8379d54e0643c47112ac7d1c15c5c42a66cf393ceff33f23c98bc0"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}}},"roles":{"root":{"keyids":["31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["5128430cd15ba7d83889248a70edb71cc6a6bb46d5747910d41729c2b9a19896"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"a5dae908927ff450d0767062441f240b75c6acd6cf3dbf8095d26adb28c62e2763bbea6ab747d1f41a9100e6f9ee98d42ac00c18264401ef026ea57c265cbd0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485.targets.json
new file mode 100644
index 0000000..f885158
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"645a909d3c9155e5de29e45182a31d85d0d02132f67f0008299d39634eadbf95c2980ed1f9082fcde6ecb82a612ab8fc82e0d61e7821bd8f782966173917c106"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/d01460ac3b2a045447b73a89a05216657eeac86c43539cee12d82bd7a4af9279c4c7ee14e728fc42dc9ca1aeb344fd725a3ecae723245290f932b39d006b4e39.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/d01460ac3b2a045447b73a89a05216657eeac86c43539cee12d82bd7a4af9279c4c7ee14e728fc42dc9ca1aeb344fd725a3ecae723245290f932b39d006b4e39.snapshot.json
new file mode 100644
index 0000000..f4daefa
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/d01460ac3b2a045447b73a89a05216657eeac86c43539cee12d82bd7a4af9279c4c7ee14e728fc42dc9ca1aeb344fd725a3ecae723245290f932b39d006b4e39.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"f237a4ab42e74484b7031d7751a61324c817f08c3da1b88a103ec88a083710d9ee03db9231821b15c1088b04fc80ae7087d1bcf5bf96a9e523850ddf29b8b844"},"length":694,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"0a59b2f8002d4c8e8a4a309ee4bf8a8665ed073d1c128af8727274ffddb97f2e66b23fedf2b796073beb35786644e5c4a3b5dd53f14675941669ee4791edcc03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/ecf067624b07a04e0a55329f6529297f4c86369631b112e91ae0a8183792babbb42e8dc63bbb0a032db08323df1f8ffba92915aeb1f15678002da4dcc9b70cd4.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/ecf067624b07a04e0a55329f6529297f4c86369631b112e91ae0a8183792babbb42e8dc63bbb0a032db08323df1f8ffba92915aeb1f15678002da4dcc9b70cd4.snapshot.json
new file mode 100644
index 0000000..1450690
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/ecf067624b07a04e0a55329f6529297f4c86369631b112e91ae0a8183792babbb42e8dc63bbb0a032db08323df1f8ffba92915aeb1f15678002da4dcc9b70cd4.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"043db67774dcd41078840ab4bfe97c89b75a6e0033a99a0c19c43b34afdabe32ebb769ea16fbd699025f227c537cd5b9488eb7318b5e3b5076274c0763112597"},"length":863,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"c697462659178f0b016a03b9970426dafffbac035609d0a19fd74193ad7edddca71f6b2f43fd9a04e421282cde007775fe74f6e48e25d1b080ea974424f8c609"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/f237a4ab42e74484b7031d7751a61324c817f08c3da1b88a103ec88a083710d9ee03db9231821b15c1088b04fc80ae7087d1bcf5bf96a9e523850ddf29b8b844.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/f237a4ab42e74484b7031d7751a61324c817f08c3da1b88a103ec88a083710d9ee03db9231821b15c1088b04fc80ae7087d1bcf5bf96a9e523850ddf29b8b844.targets.json
new file mode 100644
index 0000000..49d4ed2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/f237a4ab42e74484b7031d7751a61324c817f08c3da1b88a103ec88a083710d9ee03db9231821b15c1088b04fc80ae7087d1bcf5bf96a9e523850ddf29b8b844.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"61ff2032e7d0a811c5be366757f9c50279280677b8382982e0115f038896c0f191ed43e13b6667890d6f9cd300ebc022ccd130ec2eee359825036b035b03340f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/root.json
new file mode 100644
index 0000000..12c1cb7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510":{"keytype":"ed25519","keyval":{"public":"6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"}},"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331":{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}}},"roles":{"root":{"keyids":["31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"f430584f815aad76fb8a2f3d7389f4d0df7120d68474fe7a02bdaffd5bb839a2797d1cf5175ecd4872dd7a3c1412d7ea2054fc4393729b16c819308adba7cc0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/snapshot.json
new file mode 100644
index 0000000..1450690
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"043db67774dcd41078840ab4bfe97c89b75a6e0033a99a0c19c43b34afdabe32ebb769ea16fbd699025f227c537cd5b9488eb7318b5e3b5076274c0763112597"},"length":863,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"c697462659178f0b016a03b9970426dafffbac035609d0a19fd74193ad7edddca71f6b2f43fd9a04e421282cde007775fe74f6e48e25d1b080ea974424f8c609"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/targets.json
new file mode 100644
index 0000000..4de3acc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"d61ea674565f6ab1effbfd5d128e269be3af51227d4a511dcca91cea29a676d5b59bb526108a4c1a24e80c428f76eb7821832c00257413247cf73643bee16804"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/targets/0.0 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/targets/0.1 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/targets/0.2 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/targets/0.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/targets/0.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/timestamp.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/timestamp.json
new file mode 100644
index 0000000..9ab4cc5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/2/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"ecf067624b07a04e0a55329f6529297f4c86369631b112e91ae0a8183792babbb42e8dc63bbb0a032db08323df1f8ffba92915aeb1f15678002da4dcc9b70cd4"},"length":738,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331","method":"ed25519","sig":"2ee9df4c4e75e39d8aa75c3071237e51b8fc837e8eb2c932eac5d7159c46b263a0127ef8b920d61831fbfdc0879881c43a6baacd4c84a1660ff99cd2edfaca00"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/keys/root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/keys/root.json
new file mode 100644
index 0000000..a542752
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/keys/root.json
@@ -0,0 +1,19 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601",
+				"private": "1c374be6ceb6f087607dc7b14163784c91bedc91571a17d51046eb78c99422206a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "4c661ad99c697d7d589b0e6397aabb5b2455b6989aaf169807fa734202b25bfb",
+				"private": "c833bac570098bc719847d1c01baf9057d1fae7054f8d5130eaddd3c5fa55a984c661ad99c697d7d589b0e6397aabb5b2455b6989aaf169807fa734202b25bfb"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/keys/snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/keys/snapshot.json
new file mode 100644
index 0000000..4c95405
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/keys/snapshot.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644",
+				"private": "2726d2d67b03b917ace7f4ca5311d8c6332fa6d696d5285bbb06039e328c2f8da1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/keys/targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/keys/targets.json
new file mode 100644
index 0000000..031657c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/keys/targets.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f",
+				"private": "858778dd376dff8b8a77825e143d63c430fe29ab5a7833b0974f8c653fe67454a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/keys/timestamp.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/keys/timestamp.json
new file mode 100644
index 0000000..051b69b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737","private":"d1dbfd67f3e164703661aa3989daa097b74d6880c4da020dc4d3defde9aedbc7988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/043db67774dcd41078840ab4bfe97c89b75a6e0033a99a0c19c43b34afdabe32ebb769ea16fbd699025f227c537cd5b9488eb7318b5e3b5076274c0763112597.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/043db67774dcd41078840ab4bfe97c89b75a6e0033a99a0c19c43b34afdabe32ebb769ea16fbd699025f227c537cd5b9488eb7318b5e3b5076274c0763112597.targets.json
new file mode 100644
index 0000000..4de3acc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/043db67774dcd41078840ab4bfe97c89b75a6e0033a99a0c19c43b34afdabe32ebb769ea16fbd699025f227c537cd5b9488eb7318b5e3b5076274c0763112597.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"d61ea674565f6ab1effbfd5d128e269be3af51227d4a511dcca91cea29a676d5b59bb526108a4c1a24e80c428f76eb7821832c00257413247cf73643bee16804"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/1.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/1.root.json
new file mode 100644
index 0000000..655f0c7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510":{"keytype":"ed25519","keyval":{"public":"6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"}},"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"5128430cd15ba7d83889248a70edb71cc6a6bb46d5747910d41729c2b9a19896":{"keytype":"ed25519","keyval":{"public":"f7dcca6d2e8379d54e0643c47112ac7d1c15c5c42a66cf393ceff33f23c98bc0"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}}},"roles":{"root":{"keyids":["31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["5128430cd15ba7d83889248a70edb71cc6a6bb46d5747910d41729c2b9a19896"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"a5dae908927ff450d0767062441f240b75c6acd6cf3dbf8095d26adb28c62e2763bbea6ab747d1f41a9100e6f9ee98d42ac00c18264401ef026ea57c265cbd0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/1.snapshot.json
new file mode 100644
index 0000000..b27aa3d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f"},"length":1507,"version":1},"targets.json":{"hashes":{"sha512":"c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485"},"length":525,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"8162377cd8cc827bc0779f5e266bc8eb8e5339f402404658df59d4b9c0a87c75982db95676f4383d366721d502af4e182da93de338c2dbdd70671bf032d65e0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/1.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/1.targets.json
new file mode 100644
index 0000000..f885158
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"645a909d3c9155e5de29e45182a31d85d0d02132f67f0008299d39634eadbf95c2980ed1f9082fcde6ecb82a612ab8fc82e0d61e7821bd8f782966173917c106"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/2.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/2.root.json
new file mode 100644
index 0000000..12c1cb7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510":{"keytype":"ed25519","keyval":{"public":"6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"}},"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331":{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}}},"roles":{"root":{"keyids":["31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"f430584f815aad76fb8a2f3d7389f4d0df7120d68474fe7a02bdaffd5bb839a2797d1cf5175ecd4872dd7a3c1412d7ea2054fc4393729b16c819308adba7cc0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/2.snapshot.json
new file mode 100644
index 0000000..f4daefa
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"f237a4ab42e74484b7031d7751a61324c817f08c3da1b88a103ec88a083710d9ee03db9231821b15c1088b04fc80ae7087d1bcf5bf96a9e523850ddf29b8b844"},"length":694,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"0a59b2f8002d4c8e8a4a309ee4bf8a8665ed073d1c128af8727274ffddb97f2e66b23fedf2b796073beb35786644e5c4a3b5dd53f14675941669ee4791edcc03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/2.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/2.targets.json
new file mode 100644
index 0000000..49d4ed2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/2.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"61ff2032e7d0a811c5be366757f9c50279280677b8382982e0115f038896c0f191ed43e13b6667890d6f9cd300ebc022ccd130ec2eee359825036b035b03340f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/3.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/3.root.json
new file mode 100644
index 0000000..f3316b3
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/3.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331":{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}},"e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158":{"keytype":"ed25519","keyval":{"public":"4c661ad99c697d7d589b0e6397aabb5b2455b6989aaf169807fa734202b25bfb"}}},"roles":{"root":{"keyids":["e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"9a050cd6759f2cfbb55b48baecdf848a00a0de818c73d56948b0e75b20810c1c7055b591b7306819bdb15e0983c1bd2fd06372616ac54d77180639426269640b"},{"keyid":"e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158","method":"ed25519","sig":"8344d8b8fc0ad235c28b824df3fd1404f86e5605a69c5749cc68b5f40ec86e8dc1b5af82cad7defecefbdcd32502ae121c7bde340609e4e234ef46ea55688c0c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/3.snapshot.json
new file mode 100644
index 0000000..1450690
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"043db67774dcd41078840ab4bfe97c89b75a6e0033a99a0c19c43b34afdabe32ebb769ea16fbd699025f227c537cd5b9488eb7318b5e3b5076274c0763112597"},"length":863,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"c697462659178f0b016a03b9970426dafffbac035609d0a19fd74193ad7edddca71f6b2f43fd9a04e421282cde007775fe74f6e48e25d1b080ea974424f8c609"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/3.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/3.targets.json
new file mode 100644
index 0000000..4de3acc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/3.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"d61ea674565f6ab1effbfd5d128e269be3af51227d4a511dcca91cea29a676d5b59bb526108a4c1a24e80c428f76eb7821832c00257413247cf73643bee16804"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/3cfde257bc8928edf8ca94fb866cd07668eeda8758bae2f8d1984adc8ed6803132b2b857269a71b3e66311f89ac59cfde980cd8d56c03c75916949545a627e9c.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/3cfde257bc8928edf8ca94fb866cd07668eeda8758bae2f8d1984adc8ed6803132b2b857269a71b3e66311f89ac59cfde980cd8d56c03c75916949545a627e9c.root.json
new file mode 100644
index 0000000..f3316b3
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/3cfde257bc8928edf8ca94fb866cd07668eeda8758bae2f8d1984adc8ed6803132b2b857269a71b3e66311f89ac59cfde980cd8d56c03c75916949545a627e9c.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331":{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}},"e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158":{"keytype":"ed25519","keyval":{"public":"4c661ad99c697d7d589b0e6397aabb5b2455b6989aaf169807fa734202b25bfb"}}},"roles":{"root":{"keyids":["e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"9a050cd6759f2cfbb55b48baecdf848a00a0de818c73d56948b0e75b20810c1c7055b591b7306819bdb15e0983c1bd2fd06372616ac54d77180639426269640b"},{"keyid":"e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158","method":"ed25519","sig":"8344d8b8fc0ad235c28b824df3fd1404f86e5605a69c5749cc68b5f40ec86e8dc1b5af82cad7defecefbdcd32502ae121c7bde340609e4e234ef46ea55688c0c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/4.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/4.snapshot.json
new file mode 100644
index 0000000..406674b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/4.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3cfde257bc8928edf8ca94fb866cd07668eeda8758bae2f8d1984adc8ed6803132b2b857269a71b3e66311f89ac59cfde980cd8d56c03c75916949545a627e9c"},"length":1740,"version":3},"targets.json":{"hashes":{"sha512":"dd702dc62f3d1da02901ba623d90e1beb5cfec20090eb74bbcbebe278e16cb567ec4b99289958f3034236c42ad52de6eebff82e5b871d828140856ae5ecdea1f"},"length":1032,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"694def5441314b50a8d22018fa563dbc8c2645ed8a0ca0ec1489586dde048a3a9960686b564c00716862a2de445e3b48110ce98c828eff2572d919fcc1c0ea05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/4.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/4.targets.json
new file mode 100644
index 0000000..8037c4c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/4.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"e0303eb3b151e69765d03741fa85b49fab41da482b6358e3b1dd38bd6796681fca53f3c72370c0e0da3e31729015e29991b795d9b442b7e4c956794dd16ed408"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/5dadba8e970d430bbee9210075169df8c7bb8165847e9cdce05afb79e852d2d6a2dc12d48b3298dd72fa3f2af38cb2ad2af1887db1655e88c11085f7f7d4d78c.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/5dadba8e970d430bbee9210075169df8c7bb8165847e9cdce05afb79e852d2d6a2dc12d48b3298dd72fa3f2af38cb2ad2af1887db1655e88c11085f7f7d4d78c.snapshot.json
new file mode 100644
index 0000000..b27aa3d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/5dadba8e970d430bbee9210075169df8c7bb8165847e9cdce05afb79e852d2d6a2dc12d48b3298dd72fa3f2af38cb2ad2af1887db1655e88c11085f7f7d4d78c.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f"},"length":1507,"version":1},"targets.json":{"hashes":{"sha512":"c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485"},"length":525,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"8162377cd8cc827bc0779f5e266bc8eb8e5339f402404658df59d4b9c0a87c75982db95676f4383d366721d502af4e182da93de338c2dbdd70671bf032d65e0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1.root.json
new file mode 100644
index 0000000..12c1cb7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510":{"keytype":"ed25519","keyval":{"public":"6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"}},"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331":{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}}},"roles":{"root":{"keyids":["31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"f430584f815aad76fb8a2f3d7389f4d0df7120d68474fe7a02bdaffd5bb839a2797d1cf5175ecd4872dd7a3c1412d7ea2054fc4393729b16c819308adba7cc0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f.root.json
new file mode 100644
index 0000000..655f0c7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510":{"keytype":"ed25519","keyval":{"public":"6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"}},"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"5128430cd15ba7d83889248a70edb71cc6a6bb46d5747910d41729c2b9a19896":{"keytype":"ed25519","keyval":{"public":"f7dcca6d2e8379d54e0643c47112ac7d1c15c5c42a66cf393ceff33f23c98bc0"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}}},"roles":{"root":{"keyids":["31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["5128430cd15ba7d83889248a70edb71cc6a6bb46d5747910d41729c2b9a19896"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"a5dae908927ff450d0767062441f240b75c6acd6cf3dbf8095d26adb28c62e2763bbea6ab747d1f41a9100e6f9ee98d42ac00c18264401ef026ea57c265cbd0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/bffd1010ccb917fccc85f125123ecf1b1e9e54ef0ef21259e472e7c3e44fbafd7548db05f88d9cd0b3b4d1da88b6032ead7ba25c774110e1405e90e9e0007c8f.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/bffd1010ccb917fccc85f125123ecf1b1e9e54ef0ef21259e472e7c3e44fbafd7548db05f88d9cd0b3b4d1da88b6032ead7ba25c774110e1405e90e9e0007c8f.snapshot.json
new file mode 100644
index 0000000..406674b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/bffd1010ccb917fccc85f125123ecf1b1e9e54ef0ef21259e472e7c3e44fbafd7548db05f88d9cd0b3b4d1da88b6032ead7ba25c774110e1405e90e9e0007c8f.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3cfde257bc8928edf8ca94fb866cd07668eeda8758bae2f8d1984adc8ed6803132b2b857269a71b3e66311f89ac59cfde980cd8d56c03c75916949545a627e9c"},"length":1740,"version":3},"targets.json":{"hashes":{"sha512":"dd702dc62f3d1da02901ba623d90e1beb5cfec20090eb74bbcbebe278e16cb567ec4b99289958f3034236c42ad52de6eebff82e5b871d828140856ae5ecdea1f"},"length":1032,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"694def5441314b50a8d22018fa563dbc8c2645ed8a0ca0ec1489586dde048a3a9960686b564c00716862a2de445e3b48110ce98c828eff2572d919fcc1c0ea05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485.targets.json
new file mode 100644
index 0000000..f885158
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"645a909d3c9155e5de29e45182a31d85d0d02132f67f0008299d39634eadbf95c2980ed1f9082fcde6ecb82a612ab8fc82e0d61e7821bd8f782966173917c106"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/d01460ac3b2a045447b73a89a05216657eeac86c43539cee12d82bd7a4af9279c4c7ee14e728fc42dc9ca1aeb344fd725a3ecae723245290f932b39d006b4e39.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/d01460ac3b2a045447b73a89a05216657eeac86c43539cee12d82bd7a4af9279c4c7ee14e728fc42dc9ca1aeb344fd725a3ecae723245290f932b39d006b4e39.snapshot.json
new file mode 100644
index 0000000..f4daefa
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/d01460ac3b2a045447b73a89a05216657eeac86c43539cee12d82bd7a4af9279c4c7ee14e728fc42dc9ca1aeb344fd725a3ecae723245290f932b39d006b4e39.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"f237a4ab42e74484b7031d7751a61324c817f08c3da1b88a103ec88a083710d9ee03db9231821b15c1088b04fc80ae7087d1bcf5bf96a9e523850ddf29b8b844"},"length":694,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"0a59b2f8002d4c8e8a4a309ee4bf8a8665ed073d1c128af8727274ffddb97f2e66b23fedf2b796073beb35786644e5c4a3b5dd53f14675941669ee4791edcc03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/dd702dc62f3d1da02901ba623d90e1beb5cfec20090eb74bbcbebe278e16cb567ec4b99289958f3034236c42ad52de6eebff82e5b871d828140856ae5ecdea1f.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/dd702dc62f3d1da02901ba623d90e1beb5cfec20090eb74bbcbebe278e16cb567ec4b99289958f3034236c42ad52de6eebff82e5b871d828140856ae5ecdea1f.targets.json
new file mode 100644
index 0000000..8037c4c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/dd702dc62f3d1da02901ba623d90e1beb5cfec20090eb74bbcbebe278e16cb567ec4b99289958f3034236c42ad52de6eebff82e5b871d828140856ae5ecdea1f.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"e0303eb3b151e69765d03741fa85b49fab41da482b6358e3b1dd38bd6796681fca53f3c72370c0e0da3e31729015e29991b795d9b442b7e4c956794dd16ed408"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/ecf067624b07a04e0a55329f6529297f4c86369631b112e91ae0a8183792babbb42e8dc63bbb0a032db08323df1f8ffba92915aeb1f15678002da4dcc9b70cd4.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/ecf067624b07a04e0a55329f6529297f4c86369631b112e91ae0a8183792babbb42e8dc63bbb0a032db08323df1f8ffba92915aeb1f15678002da4dcc9b70cd4.snapshot.json
new file mode 100644
index 0000000..1450690
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/ecf067624b07a04e0a55329f6529297f4c86369631b112e91ae0a8183792babbb42e8dc63bbb0a032db08323df1f8ffba92915aeb1f15678002da4dcc9b70cd4.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"043db67774dcd41078840ab4bfe97c89b75a6e0033a99a0c19c43b34afdabe32ebb769ea16fbd699025f227c537cd5b9488eb7318b5e3b5076274c0763112597"},"length":863,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"c697462659178f0b016a03b9970426dafffbac035609d0a19fd74193ad7edddca71f6b2f43fd9a04e421282cde007775fe74f6e48e25d1b080ea974424f8c609"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/f237a4ab42e74484b7031d7751a61324c817f08c3da1b88a103ec88a083710d9ee03db9231821b15c1088b04fc80ae7087d1bcf5bf96a9e523850ddf29b8b844.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/f237a4ab42e74484b7031d7751a61324c817f08c3da1b88a103ec88a083710d9ee03db9231821b15c1088b04fc80ae7087d1bcf5bf96a9e523850ddf29b8b844.targets.json
new file mode 100644
index 0000000..49d4ed2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/f237a4ab42e74484b7031d7751a61324c817f08c3da1b88a103ec88a083710d9ee03db9231821b15c1088b04fc80ae7087d1bcf5bf96a9e523850ddf29b8b844.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"61ff2032e7d0a811c5be366757f9c50279280677b8382982e0115f038896c0f191ed43e13b6667890d6f9cd300ebc022ccd130ec2eee359825036b035b03340f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/root.json
new file mode 100644
index 0000000..f3316b3
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331":{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}},"e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158":{"keytype":"ed25519","keyval":{"public":"4c661ad99c697d7d589b0e6397aabb5b2455b6989aaf169807fa734202b25bfb"}}},"roles":{"root":{"keyids":["e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"9a050cd6759f2cfbb55b48baecdf848a00a0de818c73d56948b0e75b20810c1c7055b591b7306819bdb15e0983c1bd2fd06372616ac54d77180639426269640b"},{"keyid":"e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158","method":"ed25519","sig":"8344d8b8fc0ad235c28b824df3fd1404f86e5605a69c5749cc68b5f40ec86e8dc1b5af82cad7defecefbdcd32502ae121c7bde340609e4e234ef46ea55688c0c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/snapshot.json
new file mode 100644
index 0000000..406674b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3cfde257bc8928edf8ca94fb866cd07668eeda8758bae2f8d1984adc8ed6803132b2b857269a71b3e66311f89ac59cfde980cd8d56c03c75916949545a627e9c"},"length":1740,"version":3},"targets.json":{"hashes":{"sha512":"dd702dc62f3d1da02901ba623d90e1beb5cfec20090eb74bbcbebe278e16cb567ec4b99289958f3034236c42ad52de6eebff82e5b871d828140856ae5ecdea1f"},"length":1032,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"694def5441314b50a8d22018fa563dbc8c2645ed8a0ca0ec1489586dde048a3a9960686b564c00716862a2de445e3b48110ce98c828eff2572d919fcc1c0ea05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/targets.json
new file mode 100644
index 0000000..8037c4c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"e0303eb3b151e69765d03741fa85b49fab41da482b6358e3b1dd38bd6796681fca53f3c72370c0e0da3e31729015e29991b795d9b442b7e4c956794dd16ed408"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/targets/0.0 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/targets/0.1 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/targets/0.2 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/targets/0.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/targets/0.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/targets/0.3 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/targets/0.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/targets/0.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/timestamp.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/timestamp.json
new file mode 100644
index 0000000..53e4e6e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/3/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"bffd1010ccb917fccc85f125123ecf1b1e9e54ef0ef21259e472e7c3e44fbafd7548db05f88d9cd0b3b4d1da88b6032ead7ba25c774110e1405e90e9e0007c8f"},"length":739,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331","method":"ed25519","sig":"1bbb267b4358fe1551fd6e95cbe40b3c0c3c013b5aad2e096e088a7425b8cf687c9c9e2ea9d85bde9d51aa06725ee35fdbf924364a026156022572e91e9fef0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/keys/root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/keys/root.json
new file mode 100644
index 0000000..110197d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/keys/root.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","keyval":{"public":"4c661ad99c697d7d589b0e6397aabb5b2455b6989aaf169807fa734202b25bfb","private":"c833bac570098bc719847d1c01baf9057d1fae7054f8d5130eaddd3c5fa55a984c661ad99c697d7d589b0e6397aabb5b2455b6989aaf169807fa734202b25bfb"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/keys/snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/keys/snapshot.json
new file mode 100644
index 0000000..010b065
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/keys/snapshot.json
@@ -0,0 +1,19 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644",
+				"private": "2726d2d67b03b917ace7f4ca5311d8c6332fa6d696d5285bbb06039e328c2f8da1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "9f2847270913b496fd02fb226022d2b59089d37e805ac3735a0ac6fbcdaf32c4",
+				"private": "017378e5fa162eebf10a078429b8f7fe2aa28b3d73f9b2e690d9b6872d0ce0289f2847270913b496fd02fb226022d2b59089d37e805ac3735a0ac6fbcdaf32c4"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/keys/targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/keys/targets.json
new file mode 100644
index 0000000..031657c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/keys/targets.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f",
+				"private": "858778dd376dff8b8a77825e143d63c430fe29ab5a7833b0974f8c653fe67454a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/keys/timestamp.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/keys/timestamp.json
new file mode 100644
index 0000000..051b69b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737","private":"d1dbfd67f3e164703661aa3989daa097b74d6880c4da020dc4d3defde9aedbc7988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/043db67774dcd41078840ab4bfe97c89b75a6e0033a99a0c19c43b34afdabe32ebb769ea16fbd699025f227c537cd5b9488eb7318b5e3b5076274c0763112597.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/043db67774dcd41078840ab4bfe97c89b75a6e0033a99a0c19c43b34afdabe32ebb769ea16fbd699025f227c537cd5b9488eb7318b5e3b5076274c0763112597.targets.json
new file mode 100644
index 0000000..4de3acc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/043db67774dcd41078840ab4bfe97c89b75a6e0033a99a0c19c43b34afdabe32ebb769ea16fbd699025f227c537cd5b9488eb7318b5e3b5076274c0763112597.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"d61ea674565f6ab1effbfd5d128e269be3af51227d4a511dcca91cea29a676d5b59bb526108a4c1a24e80c428f76eb7821832c00257413247cf73643bee16804"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/1.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/1.root.json
new file mode 100644
index 0000000..655f0c7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510":{"keytype":"ed25519","keyval":{"public":"6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"}},"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"5128430cd15ba7d83889248a70edb71cc6a6bb46d5747910d41729c2b9a19896":{"keytype":"ed25519","keyval":{"public":"f7dcca6d2e8379d54e0643c47112ac7d1c15c5c42a66cf393ceff33f23c98bc0"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}}},"roles":{"root":{"keyids":["31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["5128430cd15ba7d83889248a70edb71cc6a6bb46d5747910d41729c2b9a19896"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"a5dae908927ff450d0767062441f240b75c6acd6cf3dbf8095d26adb28c62e2763bbea6ab747d1f41a9100e6f9ee98d42ac00c18264401ef026ea57c265cbd0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/1.snapshot.json
new file mode 100644
index 0000000..b27aa3d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f"},"length":1507,"version":1},"targets.json":{"hashes":{"sha512":"c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485"},"length":525,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"8162377cd8cc827bc0779f5e266bc8eb8e5339f402404658df59d4b9c0a87c75982db95676f4383d366721d502af4e182da93de338c2dbdd70671bf032d65e0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/1.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/1.targets.json
new file mode 100644
index 0000000..f885158
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"645a909d3c9155e5de29e45182a31d85d0d02132f67f0008299d39634eadbf95c2980ed1f9082fcde6ecb82a612ab8fc82e0d61e7821bd8f782966173917c106"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/2.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/2.root.json
new file mode 100644
index 0000000..12c1cb7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510":{"keytype":"ed25519","keyval":{"public":"6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"}},"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331":{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}}},"roles":{"root":{"keyids":["31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"f430584f815aad76fb8a2f3d7389f4d0df7120d68474fe7a02bdaffd5bb839a2797d1cf5175ecd4872dd7a3c1412d7ea2054fc4393729b16c819308adba7cc0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/2.snapshot.json
new file mode 100644
index 0000000..f4daefa
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"f237a4ab42e74484b7031d7751a61324c817f08c3da1b88a103ec88a083710d9ee03db9231821b15c1088b04fc80ae7087d1bcf5bf96a9e523850ddf29b8b844"},"length":694,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"0a59b2f8002d4c8e8a4a309ee4bf8a8665ed073d1c128af8727274ffddb97f2e66b23fedf2b796073beb35786644e5c4a3b5dd53f14675941669ee4791edcc03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/2.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/2.targets.json
new file mode 100644
index 0000000..49d4ed2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/2.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"61ff2032e7d0a811c5be366757f9c50279280677b8382982e0115f038896c0f191ed43e13b6667890d6f9cd300ebc022ccd130ec2eee359825036b035b03340f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/3.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/3.root.json
new file mode 100644
index 0000000..f3316b3
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/3.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331":{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}},"e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158":{"keytype":"ed25519","keyval":{"public":"4c661ad99c697d7d589b0e6397aabb5b2455b6989aaf169807fa734202b25bfb"}}},"roles":{"root":{"keyids":["e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"9a050cd6759f2cfbb55b48baecdf848a00a0de818c73d56948b0e75b20810c1c7055b591b7306819bdb15e0983c1bd2fd06372616ac54d77180639426269640b"},{"keyid":"e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158","method":"ed25519","sig":"8344d8b8fc0ad235c28b824df3fd1404f86e5605a69c5749cc68b5f40ec86e8dc1b5af82cad7defecefbdcd32502ae121c7bde340609e4e234ef46ea55688c0c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/3.snapshot.json
new file mode 100644
index 0000000..1450690
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"043db67774dcd41078840ab4bfe97c89b75a6e0033a99a0c19c43b34afdabe32ebb769ea16fbd699025f227c537cd5b9488eb7318b5e3b5076274c0763112597"},"length":863,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"c697462659178f0b016a03b9970426dafffbac035609d0a19fd74193ad7edddca71f6b2f43fd9a04e421282cde007775fe74f6e48e25d1b080ea974424f8c609"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/3.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/3.targets.json
new file mode 100644
index 0000000..4de3acc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/3.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"d61ea674565f6ab1effbfd5d128e269be3af51227d4a511dcca91cea29a676d5b59bb526108a4c1a24e80c428f76eb7821832c00257413247cf73643bee16804"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/3cfde257bc8928edf8ca94fb866cd07668eeda8758bae2f8d1984adc8ed6803132b2b857269a71b3e66311f89ac59cfde980cd8d56c03c75916949545a627e9c.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/3cfde257bc8928edf8ca94fb866cd07668eeda8758bae2f8d1984adc8ed6803132b2b857269a71b3e66311f89ac59cfde980cd8d56c03c75916949545a627e9c.root.json
new file mode 100644
index 0000000..f3316b3
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/3cfde257bc8928edf8ca94fb866cd07668eeda8758bae2f8d1984adc8ed6803132b2b857269a71b3e66311f89ac59cfde980cd8d56c03c75916949545a627e9c.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331":{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}},"e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158":{"keytype":"ed25519","keyval":{"public":"4c661ad99c697d7d589b0e6397aabb5b2455b6989aaf169807fa734202b25bfb"}}},"roles":{"root":{"keyids":["e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"9a050cd6759f2cfbb55b48baecdf848a00a0de818c73d56948b0e75b20810c1c7055b591b7306819bdb15e0983c1bd2fd06372616ac54d77180639426269640b"},{"keyid":"e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158","method":"ed25519","sig":"8344d8b8fc0ad235c28b824df3fd1404f86e5605a69c5749cc68b5f40ec86e8dc1b5af82cad7defecefbdcd32502ae121c7bde340609e4e234ef46ea55688c0c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/4.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/4.root.json
new file mode 100644
index 0000000..e17eb12
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/4.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331":{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}},"e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158":{"keytype":"ed25519","keyval":{"public":"4c661ad99c697d7d589b0e6397aabb5b2455b6989aaf169807fa734202b25bfb"}}},"roles":{"root":{"keyids":["e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331"],"threshold":1}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158","method":"ed25519","sig":"2e3f7bf9a9c76f487a9cc500d8a53a29c0ee5ee9dbac06c2510f44e27a6d9251536f98667bff858b959ab98ded2850d46c2a2c6d7b1e60dc959aa79e03af5402"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/4.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/4.snapshot.json
new file mode 100644
index 0000000..406674b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/4.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3cfde257bc8928edf8ca94fb866cd07668eeda8758bae2f8d1984adc8ed6803132b2b857269a71b3e66311f89ac59cfde980cd8d56c03c75916949545a627e9c"},"length":1740,"version":3},"targets.json":{"hashes":{"sha512":"dd702dc62f3d1da02901ba623d90e1beb5cfec20090eb74bbcbebe278e16cb567ec4b99289958f3034236c42ad52de6eebff82e5b871d828140856ae5ecdea1f"},"length":1032,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"694def5441314b50a8d22018fa563dbc8c2645ed8a0ca0ec1489586dde048a3a9960686b564c00716862a2de445e3b48110ce98c828eff2572d919fcc1c0ea05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/4.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/4.targets.json
new file mode 100644
index 0000000..8037c4c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/4.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"e0303eb3b151e69765d03741fa85b49fab41da482b6358e3b1dd38bd6796681fca53f3c72370c0e0da3e31729015e29991b795d9b442b7e4c956794dd16ed408"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/5.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/5.snapshot.json
new file mode 100644
index 0000000..ecfc5fa
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/5.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"e4c42f114c02c8c3f83fefe769c597d37e7b919e0529dcf145a6420812e91875a60b3378d4f2609d3781e5731b61dd4796bb9ffb7caab47b470702eeb7c0335a"},"length":1507,"version":4},"targets.json":{"hashes":{"sha512":"55775116bb4ab4678649a2f2a1cc469f6c5fe950fd121bcc2933e8b063eddc57d30d646edfa7d5bea19ec859a2199eee6a2861155c2a1318d7c2a4120557cac9"},"length":1201,"version":5}},"spec_version":"0.9","version":5},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"d14cde2c4c54b4238edfcabad0d8ff142f8017620ba31e0269432d0c026dfb20e91b8cfbf5288c31acb605f9725f5d74f2f8b4b7641c3de976c705b03250b40f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/5.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/5.targets.json
new file mode 100644
index 0000000..c67225a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/5.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"e2ce4d489dfdbf001400b06f126d4f03f3c9de1e4e6e47f6d849a1cfa7e697fde78cd1840a435cefb4436eb438f99115732f5df5fc9af853f3eecf71b5b44e01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/55775116bb4ab4678649a2f2a1cc469f6c5fe950fd121bcc2933e8b063eddc57d30d646edfa7d5bea19ec859a2199eee6a2861155c2a1318d7c2a4120557cac9.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/55775116bb4ab4678649a2f2a1cc469f6c5fe950fd121bcc2933e8b063eddc57d30d646edfa7d5bea19ec859a2199eee6a2861155c2a1318d7c2a4120557cac9.targets.json
new file mode 100644
index 0000000..c67225a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/55775116bb4ab4678649a2f2a1cc469f6c5fe950fd121bcc2933e8b063eddc57d30d646edfa7d5bea19ec859a2199eee6a2861155c2a1318d7c2a4120557cac9.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"e2ce4d489dfdbf001400b06f126d4f03f3c9de1e4e6e47f6d849a1cfa7e697fde78cd1840a435cefb4436eb438f99115732f5df5fc9af853f3eecf71b5b44e01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/5dadba8e970d430bbee9210075169df8c7bb8165847e9cdce05afb79e852d2d6a2dc12d48b3298dd72fa3f2af38cb2ad2af1887db1655e88c11085f7f7d4d78c.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/5dadba8e970d430bbee9210075169df8c7bb8165847e9cdce05afb79e852d2d6a2dc12d48b3298dd72fa3f2af38cb2ad2af1887db1655e88c11085f7f7d4d78c.snapshot.json
new file mode 100644
index 0000000..b27aa3d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/5dadba8e970d430bbee9210075169df8c7bb8165847e9cdce05afb79e852d2d6a2dc12d48b3298dd72fa3f2af38cb2ad2af1887db1655e88c11085f7f7d4d78c.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f"},"length":1507,"version":1},"targets.json":{"hashes":{"sha512":"c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485"},"length":525,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"8162377cd8cc827bc0779f5e266bc8eb8e5339f402404658df59d4b9c0a87c75982db95676f4383d366721d502af4e182da93de338c2dbdd70671bf032d65e0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1.root.json
new file mode 100644
index 0000000..12c1cb7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510":{"keytype":"ed25519","keyval":{"public":"6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"}},"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331":{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}}},"roles":{"root":{"keyids":["31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"f430584f815aad76fb8a2f3d7389f4d0df7120d68474fe7a02bdaffd5bb839a2797d1cf5175ecd4872dd7a3c1412d7ea2054fc4393729b16c819308adba7cc0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/8497ff678d1475a4808a03f9973853013bc308b922679f72c585c3a3f8c5b86bea3e30ee57a2514b60456639b97aeaf6399188946bfbb919699ae260bdfce946.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/8497ff678d1475a4808a03f9973853013bc308b922679f72c585c3a3f8c5b86bea3e30ee57a2514b60456639b97aeaf6399188946bfbb919699ae260bdfce946.snapshot.json
new file mode 100644
index 0000000..ecfc5fa
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/8497ff678d1475a4808a03f9973853013bc308b922679f72c585c3a3f8c5b86bea3e30ee57a2514b60456639b97aeaf6399188946bfbb919699ae260bdfce946.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"e4c42f114c02c8c3f83fefe769c597d37e7b919e0529dcf145a6420812e91875a60b3378d4f2609d3781e5731b61dd4796bb9ffb7caab47b470702eeb7c0335a"},"length":1507,"version":4},"targets.json":{"hashes":{"sha512":"55775116bb4ab4678649a2f2a1cc469f6c5fe950fd121bcc2933e8b063eddc57d30d646edfa7d5bea19ec859a2199eee6a2861155c2a1318d7c2a4120557cac9"},"length":1201,"version":5}},"spec_version":"0.9","version":5},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"d14cde2c4c54b4238edfcabad0d8ff142f8017620ba31e0269432d0c026dfb20e91b8cfbf5288c31acb605f9725f5d74f2f8b4b7641c3de976c705b03250b40f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f.root.json
new file mode 100644
index 0000000..655f0c7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510":{"keytype":"ed25519","keyval":{"public":"6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"}},"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"5128430cd15ba7d83889248a70edb71cc6a6bb46d5747910d41729c2b9a19896":{"keytype":"ed25519","keyval":{"public":"f7dcca6d2e8379d54e0643c47112ac7d1c15c5c42a66cf393ceff33f23c98bc0"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}}},"roles":{"root":{"keyids":["31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["5128430cd15ba7d83889248a70edb71cc6a6bb46d5747910d41729c2b9a19896"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"a5dae908927ff450d0767062441f240b75c6acd6cf3dbf8095d26adb28c62e2763bbea6ab747d1f41a9100e6f9ee98d42ac00c18264401ef026ea57c265cbd0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/bffd1010ccb917fccc85f125123ecf1b1e9e54ef0ef21259e472e7c3e44fbafd7548db05f88d9cd0b3b4d1da88b6032ead7ba25c774110e1405e90e9e0007c8f.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/bffd1010ccb917fccc85f125123ecf1b1e9e54ef0ef21259e472e7c3e44fbafd7548db05f88d9cd0b3b4d1da88b6032ead7ba25c774110e1405e90e9e0007c8f.snapshot.json
new file mode 100644
index 0000000..406674b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/bffd1010ccb917fccc85f125123ecf1b1e9e54ef0ef21259e472e7c3e44fbafd7548db05f88d9cd0b3b4d1da88b6032ead7ba25c774110e1405e90e9e0007c8f.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3cfde257bc8928edf8ca94fb866cd07668eeda8758bae2f8d1984adc8ed6803132b2b857269a71b3e66311f89ac59cfde980cd8d56c03c75916949545a627e9c"},"length":1740,"version":3},"targets.json":{"hashes":{"sha512":"dd702dc62f3d1da02901ba623d90e1beb5cfec20090eb74bbcbebe278e16cb567ec4b99289958f3034236c42ad52de6eebff82e5b871d828140856ae5ecdea1f"},"length":1032,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"694def5441314b50a8d22018fa563dbc8c2645ed8a0ca0ec1489586dde048a3a9960686b564c00716862a2de445e3b48110ce98c828eff2572d919fcc1c0ea05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485.targets.json
new file mode 100644
index 0000000..f885158
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"645a909d3c9155e5de29e45182a31d85d0d02132f67f0008299d39634eadbf95c2980ed1f9082fcde6ecb82a612ab8fc82e0d61e7821bd8f782966173917c106"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/d01460ac3b2a045447b73a89a05216657eeac86c43539cee12d82bd7a4af9279c4c7ee14e728fc42dc9ca1aeb344fd725a3ecae723245290f932b39d006b4e39.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/d01460ac3b2a045447b73a89a05216657eeac86c43539cee12d82bd7a4af9279c4c7ee14e728fc42dc9ca1aeb344fd725a3ecae723245290f932b39d006b4e39.snapshot.json
new file mode 100644
index 0000000..f4daefa
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/d01460ac3b2a045447b73a89a05216657eeac86c43539cee12d82bd7a4af9279c4c7ee14e728fc42dc9ca1aeb344fd725a3ecae723245290f932b39d006b4e39.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"f237a4ab42e74484b7031d7751a61324c817f08c3da1b88a103ec88a083710d9ee03db9231821b15c1088b04fc80ae7087d1bcf5bf96a9e523850ddf29b8b844"},"length":694,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"0a59b2f8002d4c8e8a4a309ee4bf8a8665ed073d1c128af8727274ffddb97f2e66b23fedf2b796073beb35786644e5c4a3b5dd53f14675941669ee4791edcc03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/dd702dc62f3d1da02901ba623d90e1beb5cfec20090eb74bbcbebe278e16cb567ec4b99289958f3034236c42ad52de6eebff82e5b871d828140856ae5ecdea1f.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/dd702dc62f3d1da02901ba623d90e1beb5cfec20090eb74bbcbebe278e16cb567ec4b99289958f3034236c42ad52de6eebff82e5b871d828140856ae5ecdea1f.targets.json
new file mode 100644
index 0000000..8037c4c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/dd702dc62f3d1da02901ba623d90e1beb5cfec20090eb74bbcbebe278e16cb567ec4b99289958f3034236c42ad52de6eebff82e5b871d828140856ae5ecdea1f.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"e0303eb3b151e69765d03741fa85b49fab41da482b6358e3b1dd38bd6796681fca53f3c72370c0e0da3e31729015e29991b795d9b442b7e4c956794dd16ed408"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/e4c42f114c02c8c3f83fefe769c597d37e7b919e0529dcf145a6420812e91875a60b3378d4f2609d3781e5731b61dd4796bb9ffb7caab47b470702eeb7c0335a.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/e4c42f114c02c8c3f83fefe769c597d37e7b919e0529dcf145a6420812e91875a60b3378d4f2609d3781e5731b61dd4796bb9ffb7caab47b470702eeb7c0335a.root.json
new file mode 100644
index 0000000..e17eb12
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/e4c42f114c02c8c3f83fefe769c597d37e7b919e0529dcf145a6420812e91875a60b3378d4f2609d3781e5731b61dd4796bb9ffb7caab47b470702eeb7c0335a.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331":{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}},"e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158":{"keytype":"ed25519","keyval":{"public":"4c661ad99c697d7d589b0e6397aabb5b2455b6989aaf169807fa734202b25bfb"}}},"roles":{"root":{"keyids":["e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331"],"threshold":1}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158","method":"ed25519","sig":"2e3f7bf9a9c76f487a9cc500d8a53a29c0ee5ee9dbac06c2510f44e27a6d9251536f98667bff858b959ab98ded2850d46c2a2c6d7b1e60dc959aa79e03af5402"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/ecf067624b07a04e0a55329f6529297f4c86369631b112e91ae0a8183792babbb42e8dc63bbb0a032db08323df1f8ffba92915aeb1f15678002da4dcc9b70cd4.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/ecf067624b07a04e0a55329f6529297f4c86369631b112e91ae0a8183792babbb42e8dc63bbb0a032db08323df1f8ffba92915aeb1f15678002da4dcc9b70cd4.snapshot.json
new file mode 100644
index 0000000..1450690
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/ecf067624b07a04e0a55329f6529297f4c86369631b112e91ae0a8183792babbb42e8dc63bbb0a032db08323df1f8ffba92915aeb1f15678002da4dcc9b70cd4.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"043db67774dcd41078840ab4bfe97c89b75a6e0033a99a0c19c43b34afdabe32ebb769ea16fbd699025f227c537cd5b9488eb7318b5e3b5076274c0763112597"},"length":863,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"c697462659178f0b016a03b9970426dafffbac035609d0a19fd74193ad7edddca71f6b2f43fd9a04e421282cde007775fe74f6e48e25d1b080ea974424f8c609"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/f237a4ab42e74484b7031d7751a61324c817f08c3da1b88a103ec88a083710d9ee03db9231821b15c1088b04fc80ae7087d1bcf5bf96a9e523850ddf29b8b844.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/f237a4ab42e74484b7031d7751a61324c817f08c3da1b88a103ec88a083710d9ee03db9231821b15c1088b04fc80ae7087d1bcf5bf96a9e523850ddf29b8b844.targets.json
new file mode 100644
index 0000000..49d4ed2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/f237a4ab42e74484b7031d7751a61324c817f08c3da1b88a103ec88a083710d9ee03db9231821b15c1088b04fc80ae7087d1bcf5bf96a9e523850ddf29b8b844.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"61ff2032e7d0a811c5be366757f9c50279280677b8382982e0115f038896c0f191ed43e13b6667890d6f9cd300ebc022ccd130ec2eee359825036b035b03340f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/root.json
new file mode 100644
index 0000000..e17eb12
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331":{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}},"e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158":{"keytype":"ed25519","keyval":{"public":"4c661ad99c697d7d589b0e6397aabb5b2455b6989aaf169807fa734202b25bfb"}}},"roles":{"root":{"keyids":["e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331"],"threshold":1}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158","method":"ed25519","sig":"2e3f7bf9a9c76f487a9cc500d8a53a29c0ee5ee9dbac06c2510f44e27a6d9251536f98667bff858b959ab98ded2850d46c2a2c6d7b1e60dc959aa79e03af5402"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/snapshot.json
new file mode 100644
index 0000000..ecfc5fa
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"e4c42f114c02c8c3f83fefe769c597d37e7b919e0529dcf145a6420812e91875a60b3378d4f2609d3781e5731b61dd4796bb9ffb7caab47b470702eeb7c0335a"},"length":1507,"version":4},"targets.json":{"hashes":{"sha512":"55775116bb4ab4678649a2f2a1cc469f6c5fe950fd121bcc2933e8b063eddc57d30d646edfa7d5bea19ec859a2199eee6a2861155c2a1318d7c2a4120557cac9"},"length":1201,"version":5}},"spec_version":"0.9","version":5},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"d14cde2c4c54b4238edfcabad0d8ff142f8017620ba31e0269432d0c026dfb20e91b8cfbf5288c31acb605f9725f5d74f2f8b4b7641c3de976c705b03250b40f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets.json
new file mode 100644
index 0000000..c67225a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"e2ce4d489dfdbf001400b06f126d4f03f3c9de1e4e6e47f6d849a1cfa7e697fde78cd1840a435cefb4436eb438f99115732f5df5fc9af853f3eecf71b5b44e01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/0.0 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/0.1 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/0.2 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/0.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/0.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/0.3 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/0.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/0.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/0.4 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/0.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/0.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/timestamp.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/timestamp.json
new file mode 100644
index 0000000..1879ead
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/4/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"8497ff678d1475a4808a03f9973853013bc308b922679f72c585c3a3f8c5b86bea3e30ee57a2514b60456639b97aeaf6399188946bfbb919699ae260bdfce946"},"length":739,"version":5}},"spec_version":"0.9","version":5},"signatures":[{"keyid":"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331","method":"ed25519","sig":"7c80b2b30ed7a1885c58cfa30fd6323f6117620b30e9466692ebadd0981d56550b56b2f89518bf27d0102ffefcd49766cb35475cc02f49e370aa5b5bbd95a203"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/keys/root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/keys/root.json
new file mode 100644
index 0000000..110197d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/keys/root.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","keyval":{"public":"4c661ad99c697d7d589b0e6397aabb5b2455b6989aaf169807fa734202b25bfb","private":"c833bac570098bc719847d1c01baf9057d1fae7054f8d5130eaddd3c5fa55a984c661ad99c697d7d589b0e6397aabb5b2455b6989aaf169807fa734202b25bfb"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/keys/snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/keys/snapshot.json
new file mode 100644
index 0000000..010b065
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/keys/snapshot.json
@@ -0,0 +1,19 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644",
+				"private": "2726d2d67b03b917ace7f4ca5311d8c6332fa6d696d5285bbb06039e328c2f8da1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "9f2847270913b496fd02fb226022d2b59089d37e805ac3735a0ac6fbcdaf32c4",
+				"private": "017378e5fa162eebf10a078429b8f7fe2aa28b3d73f9b2e690d9b6872d0ce0289f2847270913b496fd02fb226022d2b59089d37e805ac3735a0ac6fbcdaf32c4"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/keys/targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/keys/targets.json
new file mode 100644
index 0000000..031657c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/keys/targets.json
@@ -0,0 +1,12 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"keyval": {
+				"public": "a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f",
+				"private": "858778dd376dff8b8a77825e143d63c430fe29ab5a7833b0974f8c653fe67454a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/keys/timestamp.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/keys/timestamp.json
new file mode 100644
index 0000000..051b69b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737","private":"d1dbfd67f3e164703661aa3989daa097b74d6880c4da020dc4d3defde9aedbc7988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/043db67774dcd41078840ab4bfe97c89b75a6e0033a99a0c19c43b34afdabe32ebb769ea16fbd699025f227c537cd5b9488eb7318b5e3b5076274c0763112597.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/043db67774dcd41078840ab4bfe97c89b75a6e0033a99a0c19c43b34afdabe32ebb769ea16fbd699025f227c537cd5b9488eb7318b5e3b5076274c0763112597.targets.json
new file mode 100644
index 0000000..4de3acc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/043db67774dcd41078840ab4bfe97c89b75a6e0033a99a0c19c43b34afdabe32ebb769ea16fbd699025f227c537cd5b9488eb7318b5e3b5076274c0763112597.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"d61ea674565f6ab1effbfd5d128e269be3af51227d4a511dcca91cea29a676d5b59bb526108a4c1a24e80c428f76eb7821832c00257413247cf73643bee16804"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/1.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/1.root.json
new file mode 100644
index 0000000..655f0c7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510":{"keytype":"ed25519","keyval":{"public":"6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"}},"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"5128430cd15ba7d83889248a70edb71cc6a6bb46d5747910d41729c2b9a19896":{"keytype":"ed25519","keyval":{"public":"f7dcca6d2e8379d54e0643c47112ac7d1c15c5c42a66cf393ceff33f23c98bc0"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}}},"roles":{"root":{"keyids":["31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["5128430cd15ba7d83889248a70edb71cc6a6bb46d5747910d41729c2b9a19896"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"a5dae908927ff450d0767062441f240b75c6acd6cf3dbf8095d26adb28c62e2763bbea6ab747d1f41a9100e6f9ee98d42ac00c18264401ef026ea57c265cbd0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/1.snapshot.json
new file mode 100644
index 0000000..b27aa3d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f"},"length":1507,"version":1},"targets.json":{"hashes":{"sha512":"c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485"},"length":525,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"8162377cd8cc827bc0779f5e266bc8eb8e5339f402404658df59d4b9c0a87c75982db95676f4383d366721d502af4e182da93de338c2dbdd70671bf032d65e0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/1.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/1.targets.json
new file mode 100644
index 0000000..f885158
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"645a909d3c9155e5de29e45182a31d85d0d02132f67f0008299d39634eadbf95c2980ed1f9082fcde6ecb82a612ab8fc82e0d61e7821bd8f782966173917c106"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/2.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/2.root.json
new file mode 100644
index 0000000..12c1cb7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510":{"keytype":"ed25519","keyval":{"public":"6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"}},"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331":{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}}},"roles":{"root":{"keyids":["31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"f430584f815aad76fb8a2f3d7389f4d0df7120d68474fe7a02bdaffd5bb839a2797d1cf5175ecd4872dd7a3c1412d7ea2054fc4393729b16c819308adba7cc0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/2.snapshot.json
new file mode 100644
index 0000000..f4daefa
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"f237a4ab42e74484b7031d7751a61324c817f08c3da1b88a103ec88a083710d9ee03db9231821b15c1088b04fc80ae7087d1bcf5bf96a9e523850ddf29b8b844"},"length":694,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"0a59b2f8002d4c8e8a4a309ee4bf8a8665ed073d1c128af8727274ffddb97f2e66b23fedf2b796073beb35786644e5c4a3b5dd53f14675941669ee4791edcc03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/2.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/2.targets.json
new file mode 100644
index 0000000..49d4ed2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/2.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"61ff2032e7d0a811c5be366757f9c50279280677b8382982e0115f038896c0f191ed43e13b6667890d6f9cd300ebc022ccd130ec2eee359825036b035b03340f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/3.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/3.root.json
new file mode 100644
index 0000000..f3316b3
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/3.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331":{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}},"e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158":{"keytype":"ed25519","keyval":{"public":"4c661ad99c697d7d589b0e6397aabb5b2455b6989aaf169807fa734202b25bfb"}}},"roles":{"root":{"keyids":["e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"9a050cd6759f2cfbb55b48baecdf848a00a0de818c73d56948b0e75b20810c1c7055b591b7306819bdb15e0983c1bd2fd06372616ac54d77180639426269640b"},{"keyid":"e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158","method":"ed25519","sig":"8344d8b8fc0ad235c28b824df3fd1404f86e5605a69c5749cc68b5f40ec86e8dc1b5af82cad7defecefbdcd32502ae121c7bde340609e4e234ef46ea55688c0c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/3.snapshot.json
new file mode 100644
index 0000000..1450690
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"043db67774dcd41078840ab4bfe97c89b75a6e0033a99a0c19c43b34afdabe32ebb769ea16fbd699025f227c537cd5b9488eb7318b5e3b5076274c0763112597"},"length":863,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"c697462659178f0b016a03b9970426dafffbac035609d0a19fd74193ad7edddca71f6b2f43fd9a04e421282cde007775fe74f6e48e25d1b080ea974424f8c609"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/3.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/3.targets.json
new file mode 100644
index 0000000..4de3acc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/3.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"/2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"d61ea674565f6ab1effbfd5d128e269be3af51227d4a511dcca91cea29a676d5b59bb526108a4c1a24e80c428f76eb7821832c00257413247cf73643bee16804"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/3cfde257bc8928edf8ca94fb866cd07668eeda8758bae2f8d1984adc8ed6803132b2b857269a71b3e66311f89ac59cfde980cd8d56c03c75916949545a627e9c.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/3cfde257bc8928edf8ca94fb866cd07668eeda8758bae2f8d1984adc8ed6803132b2b857269a71b3e66311f89ac59cfde980cd8d56c03c75916949545a627e9c.root.json
new file mode 100644
index 0000000..f3316b3
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/3cfde257bc8928edf8ca94fb866cd07668eeda8758bae2f8d1984adc8ed6803132b2b857269a71b3e66311f89ac59cfde980cd8d56c03c75916949545a627e9c.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331":{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}},"e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158":{"keytype":"ed25519","keyval":{"public":"4c661ad99c697d7d589b0e6397aabb5b2455b6989aaf169807fa734202b25bfb"}}},"roles":{"root":{"keyids":["e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"9a050cd6759f2cfbb55b48baecdf848a00a0de818c73d56948b0e75b20810c1c7055b591b7306819bdb15e0983c1bd2fd06372616ac54d77180639426269640b"},{"keyid":"e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158","method":"ed25519","sig":"8344d8b8fc0ad235c28b824df3fd1404f86e5605a69c5749cc68b5f40ec86e8dc1b5af82cad7defecefbdcd32502ae121c7bde340609e4e234ef46ea55688c0c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/4.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/4.root.json
new file mode 100644
index 0000000..e17eb12
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/4.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331":{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}},"e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158":{"keytype":"ed25519","keyval":{"public":"4c661ad99c697d7d589b0e6397aabb5b2455b6989aaf169807fa734202b25bfb"}}},"roles":{"root":{"keyids":["e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331"],"threshold":1}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158","method":"ed25519","sig":"2e3f7bf9a9c76f487a9cc500d8a53a29c0ee5ee9dbac06c2510f44e27a6d9251536f98667bff858b959ab98ded2850d46c2a2c6d7b1e60dc959aa79e03af5402"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/4.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/4.snapshot.json
new file mode 100644
index 0000000..406674b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/4.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3cfde257bc8928edf8ca94fb866cd07668eeda8758bae2f8d1984adc8ed6803132b2b857269a71b3e66311f89ac59cfde980cd8d56c03c75916949545a627e9c"},"length":1740,"version":3},"targets.json":{"hashes":{"sha512":"dd702dc62f3d1da02901ba623d90e1beb5cfec20090eb74bbcbebe278e16cb567ec4b99289958f3034236c42ad52de6eebff82e5b871d828140856ae5ecdea1f"},"length":1032,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"694def5441314b50a8d22018fa563dbc8c2645ed8a0ca0ec1489586dde048a3a9960686b564c00716862a2de445e3b48110ce98c828eff2572d919fcc1c0ea05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/4.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/4.targets.json
new file mode 100644
index 0000000..8037c4c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/4.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"e0303eb3b151e69765d03741fa85b49fab41da482b6358e3b1dd38bd6796681fca53f3c72370c0e0da3e31729015e29991b795d9b442b7e4c956794dd16ed408"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/48f82ab87e50924b7fb5dfde4ebd86acab516d21ac22572a5de3782c90d416d074d3885e42a55557e647bb72c0cac4d7ed2ac847f19ba9a5afeb397eeace8db9.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/48f82ab87e50924b7fb5dfde4ebd86acab516d21ac22572a5de3782c90d416d074d3885e42a55557e647bb72c0cac4d7ed2ac847f19ba9a5afeb397eeace8db9.snapshot.json
new file mode 100644
index 0000000..f04e91f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/48f82ab87e50924b7fb5dfde4ebd86acab516d21ac22572a5de3782c90d416d074d3885e42a55557e647bb72c0cac4d7ed2ac847f19ba9a5afeb397eeace8db9.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"e4c42f114c02c8c3f83fefe769c597d37e7b919e0529dcf145a6420812e91875a60b3378d4f2609d3781e5731b61dd4796bb9ffb7caab47b470702eeb7c0335a"},"length":1507,"version":4},"targets.json":{"hashes":{"sha512":"fca5549d0519dd9e2ac2ca89cfef379e8c25808e5763f298c123243dc130530f7effe1b63598dc38061ec35459d48e03426234ce5af83335abf06ce0f7c7c1df"},"length":1370,"version":6}},"spec_version":"0.9","version":6},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"01acdee7eba101827a8eb7b3f813c4ca0f34b95a19562aa9c0e98b20ed0b13d1f246472e8c329e45b54e4a40034aeeed728b3b0c3ad85d2bff21cb94c8023202"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/5.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/5.snapshot.json
new file mode 100644
index 0000000..ecfc5fa
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/5.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"e4c42f114c02c8c3f83fefe769c597d37e7b919e0529dcf145a6420812e91875a60b3378d4f2609d3781e5731b61dd4796bb9ffb7caab47b470702eeb7c0335a"},"length":1507,"version":4},"targets.json":{"hashes":{"sha512":"55775116bb4ab4678649a2f2a1cc469f6c5fe950fd121bcc2933e8b063eddc57d30d646edfa7d5bea19ec859a2199eee6a2861155c2a1318d7c2a4120557cac9"},"length":1201,"version":5}},"spec_version":"0.9","version":5},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"d14cde2c4c54b4238edfcabad0d8ff142f8017620ba31e0269432d0c026dfb20e91b8cfbf5288c31acb605f9725f5d74f2f8b4b7641c3de976c705b03250b40f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/5.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/5.targets.json
new file mode 100644
index 0000000..c67225a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/5.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"e2ce4d489dfdbf001400b06f126d4f03f3c9de1e4e6e47f6d849a1cfa7e697fde78cd1840a435cefb4436eb438f99115732f5df5fc9af853f3eecf71b5b44e01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/55775116bb4ab4678649a2f2a1cc469f6c5fe950fd121bcc2933e8b063eddc57d30d646edfa7d5bea19ec859a2199eee6a2861155c2a1318d7c2a4120557cac9.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/55775116bb4ab4678649a2f2a1cc469f6c5fe950fd121bcc2933e8b063eddc57d30d646edfa7d5bea19ec859a2199eee6a2861155c2a1318d7c2a4120557cac9.targets.json
new file mode 100644
index 0000000..c67225a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/55775116bb4ab4678649a2f2a1cc469f6c5fe950fd121bcc2933e8b063eddc57d30d646edfa7d5bea19ec859a2199eee6a2861155c2a1318d7c2a4120557cac9.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"e2ce4d489dfdbf001400b06f126d4f03f3c9de1e4e6e47f6d849a1cfa7e697fde78cd1840a435cefb4436eb438f99115732f5df5fc9af853f3eecf71b5b44e01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/5dadba8e970d430bbee9210075169df8c7bb8165847e9cdce05afb79e852d2d6a2dc12d48b3298dd72fa3f2af38cb2ad2af1887db1655e88c11085f7f7d4d78c.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/5dadba8e970d430bbee9210075169df8c7bb8165847e9cdce05afb79e852d2d6a2dc12d48b3298dd72fa3f2af38cb2ad2af1887db1655e88c11085f7f7d4d78c.snapshot.json
new file mode 100644
index 0000000..b27aa3d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/5dadba8e970d430bbee9210075169df8c7bb8165847e9cdce05afb79e852d2d6a2dc12d48b3298dd72fa3f2af38cb2ad2af1887db1655e88c11085f7f7d4d78c.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f"},"length":1507,"version":1},"targets.json":{"hashes":{"sha512":"c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485"},"length":525,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"8162377cd8cc827bc0779f5e266bc8eb8e5339f402404658df59d4b9c0a87c75982db95676f4383d366721d502af4e182da93de338c2dbdd70671bf032d65e0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/6.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/6.snapshot.json
new file mode 100644
index 0000000..f04e91f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/6.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"e4c42f114c02c8c3f83fefe769c597d37e7b919e0529dcf145a6420812e91875a60b3378d4f2609d3781e5731b61dd4796bb9ffb7caab47b470702eeb7c0335a"},"length":1507,"version":4},"targets.json":{"hashes":{"sha512":"fca5549d0519dd9e2ac2ca89cfef379e8c25808e5763f298c123243dc130530f7effe1b63598dc38061ec35459d48e03426234ce5af83335abf06ce0f7c7c1df"},"length":1370,"version":6}},"spec_version":"0.9","version":6},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"01acdee7eba101827a8eb7b3f813c4ca0f34b95a19562aa9c0e98b20ed0b13d1f246472e8c329e45b54e4a40034aeeed728b3b0c3ad85d2bff21cb94c8023202"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/6.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/6.targets.json
new file mode 100644
index 0000000..59a5f31
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/6.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"a11323174ae139644ccde330634a0635e5ac10243ecefd971614733a75e419a896c0e06413b9c2c3e79123fcaff12689eedb2d049c98b5345cefc53773da7203"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1.root.json
new file mode 100644
index 0000000..12c1cb7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510":{"keytype":"ed25519","keyval":{"public":"6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"}},"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331":{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}}},"roles":{"root":{"keyids":["31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"f430584f815aad76fb8a2f3d7389f4d0df7120d68474fe7a02bdaffd5bb839a2797d1cf5175ecd4872dd7a3c1412d7ea2054fc4393729b16c819308adba7cc0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/8497ff678d1475a4808a03f9973853013bc308b922679f72c585c3a3f8c5b86bea3e30ee57a2514b60456639b97aeaf6399188946bfbb919699ae260bdfce946.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/8497ff678d1475a4808a03f9973853013bc308b922679f72c585c3a3f8c5b86bea3e30ee57a2514b60456639b97aeaf6399188946bfbb919699ae260bdfce946.snapshot.json
new file mode 100644
index 0000000..ecfc5fa
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/8497ff678d1475a4808a03f9973853013bc308b922679f72c585c3a3f8c5b86bea3e30ee57a2514b60456639b97aeaf6399188946bfbb919699ae260bdfce946.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"e4c42f114c02c8c3f83fefe769c597d37e7b919e0529dcf145a6420812e91875a60b3378d4f2609d3781e5731b61dd4796bb9ffb7caab47b470702eeb7c0335a"},"length":1507,"version":4},"targets.json":{"hashes":{"sha512":"55775116bb4ab4678649a2f2a1cc469f6c5fe950fd121bcc2933e8b063eddc57d30d646edfa7d5bea19ec859a2199eee6a2861155c2a1318d7c2a4120557cac9"},"length":1201,"version":5}},"spec_version":"0.9","version":5},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"d14cde2c4c54b4238edfcabad0d8ff142f8017620ba31e0269432d0c026dfb20e91b8cfbf5288c31acb605f9725f5d74f2f8b4b7641c3de976c705b03250b40f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f.root.json
new file mode 100644
index 0000000..655f0c7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/973e963618e2953f243e88d8bc2fe81acc014213620ccbb2fe6adc943ffeb7b383d1a93d4651ef6da5941cec435d2be458d2b2f1e115186c1bb56c7b2757e56f.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510":{"keytype":"ed25519","keyval":{"public":"6a80cce65df4403f364664dfe2bd73400c7ee9e6d77b35eb7cdad85782dad601"}},"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"5128430cd15ba7d83889248a70edb71cc6a6bb46d5747910d41729c2b9a19896":{"keytype":"ed25519","keyval":{"public":"f7dcca6d2e8379d54e0643c47112ac7d1c15c5c42a66cf393ceff33f23c98bc0"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}}},"roles":{"root":{"keyids":["31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["5128430cd15ba7d83889248a70edb71cc6a6bb46d5747910d41729c2b9a19896"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"31e02daa6323c07721e144bd5b05721df83f4f504f9f7c9325c45acbb2051510","method":"ed25519","sig":"a5dae908927ff450d0767062441f240b75c6acd6cf3dbf8095d26adb28c62e2763bbea6ab747d1f41a9100e6f9ee98d42ac00c18264401ef026ea57c265cbd0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/bffd1010ccb917fccc85f125123ecf1b1e9e54ef0ef21259e472e7c3e44fbafd7548db05f88d9cd0b3b4d1da88b6032ead7ba25c774110e1405e90e9e0007c8f.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/bffd1010ccb917fccc85f125123ecf1b1e9e54ef0ef21259e472e7c3e44fbafd7548db05f88d9cd0b3b4d1da88b6032ead7ba25c774110e1405e90e9e0007c8f.snapshot.json
new file mode 100644
index 0000000..406674b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/bffd1010ccb917fccc85f125123ecf1b1e9e54ef0ef21259e472e7c3e44fbafd7548db05f88d9cd0b3b4d1da88b6032ead7ba25c774110e1405e90e9e0007c8f.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3cfde257bc8928edf8ca94fb866cd07668eeda8758bae2f8d1984adc8ed6803132b2b857269a71b3e66311f89ac59cfde980cd8d56c03c75916949545a627e9c"},"length":1740,"version":3},"targets.json":{"hashes":{"sha512":"dd702dc62f3d1da02901ba623d90e1beb5cfec20090eb74bbcbebe278e16cb567ec4b99289958f3034236c42ad52de6eebff82e5b871d828140856ae5ecdea1f"},"length":1032,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"694def5441314b50a8d22018fa563dbc8c2645ed8a0ca0ec1489586dde048a3a9960686b564c00716862a2de445e3b48110ce98c828eff2572d919fcc1c0ea05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485.targets.json
new file mode 100644
index 0000000..f885158
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/c7f8c3ceeeff81c5f49d190252ab0ee1cc9024149190f7432953b1a02683f114df51b503b34523e91817415903f24c351e524722fb81262ffccb4c540f0a6485.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"645a909d3c9155e5de29e45182a31d85d0d02132f67f0008299d39634eadbf95c2980ed1f9082fcde6ecb82a612ab8fc82e0d61e7821bd8f782966173917c106"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/d01460ac3b2a045447b73a89a05216657eeac86c43539cee12d82bd7a4af9279c4c7ee14e728fc42dc9ca1aeb344fd725a3ecae723245290f932b39d006b4e39.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/d01460ac3b2a045447b73a89a05216657eeac86c43539cee12d82bd7a4af9279c4c7ee14e728fc42dc9ca1aeb344fd725a3ecae723245290f932b39d006b4e39.snapshot.json
new file mode 100644
index 0000000..f4daefa
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/d01460ac3b2a045447b73a89a05216657eeac86c43539cee12d82bd7a4af9279c4c7ee14e728fc42dc9ca1aeb344fd725a3ecae723245290f932b39d006b4e39.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"f237a4ab42e74484b7031d7751a61324c817f08c3da1b88a103ec88a083710d9ee03db9231821b15c1088b04fc80ae7087d1bcf5bf96a9e523850ddf29b8b844"},"length":694,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"0a59b2f8002d4c8e8a4a309ee4bf8a8665ed073d1c128af8727274ffddb97f2e66b23fedf2b796073beb35786644e5c4a3b5dd53f14675941669ee4791edcc03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/dd702dc62f3d1da02901ba623d90e1beb5cfec20090eb74bbcbebe278e16cb567ec4b99289958f3034236c42ad52de6eebff82e5b871d828140856ae5ecdea1f.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/dd702dc62f3d1da02901ba623d90e1beb5cfec20090eb74bbcbebe278e16cb567ec4b99289958f3034236c42ad52de6eebff82e5b871d828140856ae5ecdea1f.targets.json
new file mode 100644
index 0000000..8037c4c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/dd702dc62f3d1da02901ba623d90e1beb5cfec20090eb74bbcbebe278e16cb567ec4b99289958f3034236c42ad52de6eebff82e5b871d828140856ae5ecdea1f.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"e0303eb3b151e69765d03741fa85b49fab41da482b6358e3b1dd38bd6796681fca53f3c72370c0e0da3e31729015e29991b795d9b442b7e4c956794dd16ed408"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/e4c42f114c02c8c3f83fefe769c597d37e7b919e0529dcf145a6420812e91875a60b3378d4f2609d3781e5731b61dd4796bb9ffb7caab47b470702eeb7c0335a.root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/e4c42f114c02c8c3f83fefe769c597d37e7b919e0529dcf145a6420812e91875a60b3378d4f2609d3781e5731b61dd4796bb9ffb7caab47b470702eeb7c0335a.root.json
new file mode 100644
index 0000000..e17eb12
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/e4c42f114c02c8c3f83fefe769c597d37e7b919e0529dcf145a6420812e91875a60b3378d4f2609d3781e5731b61dd4796bb9ffb7caab47b470702eeb7c0335a.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331":{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}},"e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158":{"keytype":"ed25519","keyval":{"public":"4c661ad99c697d7d589b0e6397aabb5b2455b6989aaf169807fa734202b25bfb"}}},"roles":{"root":{"keyids":["e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331"],"threshold":1}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158","method":"ed25519","sig":"2e3f7bf9a9c76f487a9cc500d8a53a29c0ee5ee9dbac06c2510f44e27a6d9251536f98667bff858b959ab98ded2850d46c2a2c6d7b1e60dc959aa79e03af5402"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/ecf067624b07a04e0a55329f6529297f4c86369631b112e91ae0a8183792babbb42e8dc63bbb0a032db08323df1f8ffba92915aeb1f15678002da4dcc9b70cd4.snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/ecf067624b07a04e0a55329f6529297f4c86369631b112e91ae0a8183792babbb42e8dc63bbb0a032db08323df1f8ffba92915aeb1f15678002da4dcc9b70cd4.snapshot.json
new file mode 100644
index 0000000..1450690
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/ecf067624b07a04e0a55329f6529297f4c86369631b112e91ae0a8183792babbb42e8dc63bbb0a032db08323df1f8ffba92915aeb1f15678002da4dcc9b70cd4.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"73d18eb22b47f2c31c8cbf2f5e0e340e8cd740235630a6d28d7415cb1d329b7b8da15b8b7511f30c8f77c51548e75d5e9f5f7d7a770fb7eb2853fd2dbe96c9d1"},"length":1507,"version":2},"targets.json":{"hashes":{"sha512":"043db67774dcd41078840ab4bfe97c89b75a6e0033a99a0c19c43b34afdabe32ebb769ea16fbd699025f227c537cd5b9488eb7318b5e3b5076274c0763112597"},"length":863,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"c697462659178f0b016a03b9970426dafffbac035609d0a19fd74193ad7edddca71f6b2f43fd9a04e421282cde007775fe74f6e48e25d1b080ea974424f8c609"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/f237a4ab42e74484b7031d7751a61324c817f08c3da1b88a103ec88a083710d9ee03db9231821b15c1088b04fc80ae7087d1bcf5bf96a9e523850ddf29b8b844.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/f237a4ab42e74484b7031d7751a61324c817f08c3da1b88a103ec88a083710d9ee03db9231821b15c1088b04fc80ae7087d1bcf5bf96a9e523850ddf29b8b844.targets.json
new file mode 100644
index 0000000..49d4ed2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/f237a4ab42e74484b7031d7751a61324c817f08c3da1b88a103ec88a083710d9ee03db9231821b15c1088b04fc80ae7087d1bcf5bf96a9e523850ddf29b8b844.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"/0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"/1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"61ff2032e7d0a811c5be366757f9c50279280677b8382982e0115f038896c0f191ed43e13b6667890d6f9cd300ebc022ccd130ec2eee359825036b035b03340f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/fca5549d0519dd9e2ac2ca89cfef379e8c25808e5763f298c123243dc130530f7effe1b63598dc38061ec35459d48e03426234ce5af83335abf06ce0f7c7c1df.targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/fca5549d0519dd9e2ac2ca89cfef379e8c25808e5763f298c123243dc130530f7effe1b63598dc38061ec35459d48e03426234ce5af83335abf06ce0f7c7c1df.targets.json
new file mode 100644
index 0000000..59a5f31
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/fca5549d0519dd9e2ac2ca89cfef379e8c25808e5763f298c123243dc130530f7effe1b63598dc38061ec35459d48e03426234ce5af83335abf06ce0f7c7c1df.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"a11323174ae139644ccde330634a0635e5ac10243ecefd971614733a75e419a896c0e06413b9c2c3e79123fcaff12689eedb2d049c98b5345cefc53773da7203"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/root.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/root.json
new file mode 100644
index 0000000..e17eb12
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9":{"keytype":"ed25519","keyval":{"public":"a1c7831c5e1a7c4a7fd3c29c7dfff4a5011f2f118995de7f4d07243830355644"}},"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331":{"keytype":"ed25519","keyval":{"public":"988fdd5563bc63bbb51aa0a75976820e9fdeb10125344bc15248809aeadef737"}},"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41":{"keytype":"ed25519","keyval":{"public":"a242b20d76b16bcbeb54d752543368576c74e42a4570831cc9bf14d6c6949a6f"}},"e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158":{"keytype":"ed25519","keyval":{"public":"4c661ad99c697d7d589b0e6397aabb5b2455b6989aaf169807fa734202b25bfb"}}},"roles":{"root":{"keyids":["e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158"],"threshold":1},"snapshot":{"keyids":["366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9"],"threshold":1},"targets":{"keyids":["daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41"],"threshold":1},"timestamp":{"keyids":["9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331"],"threshold":1}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"e3bae0e36368ad2e758de1026a0408d991ea8e1d31a65cf3fd906eff20e00158","method":"ed25519","sig":"2e3f7bf9a9c76f487a9cc500d8a53a29c0ee5ee9dbac06c2510f44e27a6d9251536f98667bff858b959ab98ded2850d46c2a2c6d7b1e60dc959aa79e03af5402"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/snapshot.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/snapshot.json
new file mode 100644
index 0000000..f04e91f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"e4c42f114c02c8c3f83fefe769c597d37e7b919e0529dcf145a6420812e91875a60b3378d4f2609d3781e5731b61dd4796bb9ffb7caab47b470702eeb7c0335a"},"length":1507,"version":4},"targets.json":{"hashes":{"sha512":"fca5549d0519dd9e2ac2ca89cfef379e8c25808e5763f298c123243dc130530f7effe1b63598dc38061ec35459d48e03426234ce5af83335abf06ce0f7c7c1df"},"length":1370,"version":6}},"spec_version":"0.9","version":6},"signatures":[{"keyid":"366a72405ab5bc9e206fca18b8cbba6ae4c9b8a4eaf57f4a7b51c5b89abeecc9","method":"ed25519","sig":"01acdee7eba101827a8eb7b3f813c4ca0f34b95a19562aa9c0e98b20ed0b13d1f246472e8c329e45b54e4a40034aeeed728b3b0c3ad85d2bff21cb94c8023202"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets.json
new file mode 100644
index 0000000..59a5f31
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"daa08d6e178b98610bc61e64b6c3d313b999d87dfdc4be1ec04cf2fbf7a96b41","method":"ed25519","sig":"a11323174ae139644ccde330634a0635e5ac10243ecefd971614733a75e419a896c0e06413b9c2c3e79123fcaff12689eedb2d049c98b5345cefc53773da7203"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/0.0 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/0.1 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/0.2 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/0.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/0.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/0.3 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/0.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/0.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/0.4 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/0.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/0.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/0.5 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/0.5
new file mode 100644
index 0000000..7813681
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/0.5
@@ -0,0 +1 @@
+5
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5
new file mode 100644
index 0000000..7813681
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5
@@ -0,0 +1 @@
+5
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4 b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/timestamp.json b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/timestamp.json
new file mode 100644
index 0000000..f79b603
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/consistent-snapshot-true/5/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"48f82ab87e50924b7fb5dfde4ebd86acab516d21ac22572a5de3782c90d416d074d3885e42a55557e647bb72c0cac4d7ed2ac847f19ba9a5afeb397eeace8db9"},"length":739,"version":6}},"spec_version":"0.9","version":6},"signatures":[{"keyid":"9d0f4945faef7b07b79d88a9d742815630c2658b1b8176800c38da974ea94331","method":"ed25519","sig":"90a8051f879721d44b02cde729f25ff768edcf5e6ec226f026d097cea33b6e7a2164d979309b4e34b9e9a9c6bdbd86ec1386de9696e55cbe2d242f349e0b1d07"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M1/generate.go b/client/testdata/go-tuf-transition-M1/generate.go
new file mode 100644
index 0000000..146988f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M1/generate.go
@@ -0,0 +1,171 @@
+package main
+
+import (
+	"encoding/json"
+	"fmt"
+	"io/ioutil"
+	"log"
+	"os"
+	"os/exec"
+	"path/filepath"
+	"time"
+
+	tuf "github.com/flynn/go-tuf"
+	"github.com/flynn/go-tuf/sign"
+)
+
+var expirationDate = time.Date(2100, time.January, 1, 0, 0, 0, 0, time.UTC)
+
+type persistedKeys struct {
+	Encrypted bool               `json:"encrypted"`
+	Data      []*sign.PrivateKey `json:"data"`
+}
+
+func assertNotNil(err error) {
+	if err != nil {
+		panic(fmt.Sprintf("assertion failed: %s", err))
+	}
+}
+
+func copyRepo(src string, dst string) {
+	cmd := exec.Command("cp", "-r", src, dst)
+	assertNotNil(cmd.Run())
+}
+
+func newRepo(dir string) *tuf.Repo {
+	repo, err := tuf.NewRepo(tuf.FileSystemStore(dir, nil))
+	assertNotNil(err)
+
+	return repo
+}
+
+func commit(repo *tuf.Repo) {
+	assertNotNil(repo.SnapshotWithExpires(tuf.CompressionTypeNone, expirationDate))
+	assertNotNil(repo.TimestampWithExpires(expirationDate))
+	assertNotNil(repo.Commit())
+}
+
+func genKeys(repo *tuf.Repo, roles []string) map[string][]string {
+	ids := make(map[string][]string)
+
+	for _, role := range roles {
+		id, err := repo.GenKeyWithExpires(role, expirationDate)
+		assertNotNil(err)
+		ids[role] = id
+	}
+
+	return ids
+}
+
+func addTargets(repo *tuf.Repo, dir string, files map[string][]byte) {
+	paths := []string{}
+	for file, data := range files {
+		path := filepath.Join(dir, "staged", "targets", file)
+		assertNotNil(os.MkdirAll(filepath.Dir(path), 0755))
+		assertNotNil(ioutil.WriteFile(path, data, 0644))
+		paths = append(paths, file)
+	}
+	assertNotNil(repo.AddTargetsWithExpires(paths, nil, expirationDate))
+}
+
+func revokeKey(repo *tuf.Repo, role string, ids []string) {
+	assertNotNil(repo.RevokeKeyWithExpires(role, ids[0], expirationDate))
+}
+
+// repoFilteredKeys filters out a key to make sure we can't sign with it. This
+// is to make sure key rotation worked.
+func filterKeys(dir string, role string, ids []string) {
+	path := filepath.Join(dir, "keys", fmt.Sprintf("%s.json", role))
+	b, err := ioutil.ReadFile(path)
+	assertNotNil(err)
+
+	keys := &persistedKeys{}
+	assertNotNil(json.Unmarshal(b, keys))
+
+	newKeys := []*sign.PrivateKey{}
+	for _, key := range keys.Data {
+		found := false
+		for _, id := range ids {
+			if key.PublicData().ContainsID(id) {
+				found = true
+				break
+			}
+		}
+		if !found {
+			newKeys = append(newKeys, key)
+		}
+	}
+	keys.Data = newKeys
+
+	b, err = json.Marshal(keys)
+	assertNotNil(err)
+
+	err = ioutil.WriteFile(path, b, 0644)
+	assertNotNil(err)
+}
+
+func generateRepos(dir string) {
+	// Create the initial repo.
+	dir0 := filepath.Join(dir, "0")
+	repo0 := newRepo(dir0)
+	ids := genKeys(repo0, []string{"root", "snapshot", "targets", "timestamp"})
+	addTargets(repo0, dir0, map[string][]byte{"0": []byte("0")})
+	commit(repo0)
+
+	// Rotate the timestamp keys.
+	dir1 := filepath.Join(dir, "1")
+	copyRepo(dir0, dir1)
+	repo1 := newRepo(dir1)
+	revokeKey(repo1, "timestamp", ids["timestamp"])
+	genKeys(repo1, []string{"timestamp"})
+	addTargets(repo1, dir1, map[string][]byte{"1": []byte("1")})
+	commit(repo1)
+
+	// Filter out the old timestamp key to make sure we can't use it.
+	dir2 := filepath.Join(dir, "2")
+	copyRepo(dir1, dir2)
+	filterKeys(dir2, "timestamp", ids["timestamp"])
+	repo2 := newRepo(dir2)
+	addTargets(repo2, dir2, map[string][]byte{"2": []byte("2")})
+	commit(repo2)
+
+	// Now, actually rotate the root keys.
+	dir3 := filepath.Join(dir, "3")
+	copyRepo(dir2, dir3)
+	repo3 := newRepo(dir3)
+	revokeKey(repo3, "root", ids["root"])
+	genKeys(repo3, []string{"root"})
+	addTargets(repo3, dir3, map[string][]byte{"3": []byte("3")})
+	commit(repo3)
+
+	// Filter out the old root key to make sure we can't use it.
+	dir4 := filepath.Join(dir, "4")
+	copyRepo(dir3, dir4)
+	filterKeys(dir4, "root", ids["root"])
+	// The only way to force go-tuf to re-sign the root.json is to generate
+	// or revoke a key. So why not do both?
+	repo4 := newRepo(dir4)
+	ids = genKeys(repo4, []string{"snapshot"})
+	revokeKey(repo4, "snapshot", ids["snapshot"])
+	addTargets(repo4, dir4, map[string][]byte{"4": []byte("4")})
+	commit(repo4)
+
+	// Add another target file to make sure the workflow worked.
+	dir5 := filepath.Join(dir, "5")
+	copyRepo(dir4, dir5)
+	repo5 := newRepo(dir5)
+	addTargets(repo5, dir5, map[string][]byte{"5": []byte("5")})
+	commit(repo5)
+}
+
+func main() {
+	cwd, err := os.Getwd()
+	assertNotNil(err)
+
+	for _, consistentSnapshot := range []bool{false, true} {
+		name := fmt.Sprintf("consistent-snapshot-%t", consistentSnapshot)
+		log.Printf("generating %s", name)
+		generateRepos(filepath.Join(cwd, name))
+	}
+
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/keys/root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/keys/root.json
new file mode 100644
index 0000000..9baa70e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/keys/root.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1",
+				"private": "bdcecb6da268adff68f706fc5891b71b7ebffa571e3cdc3d748d1bb01f2d29598d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/keys/snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/keys/snapshot.json
new file mode 100644
index 0000000..14c9543
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/keys/snapshot.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673",
+				"private": "29e4954e3568134ccf7c9a09c230f416272ef3149545fb7617ef9db774b3644fcc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/keys/targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/keys/targets.json
new file mode 100644
index 0000000..07d6f63
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b",
+				"private": "52cd006dfcc00153ecdac01dd41cc150b04b9694f32c0ee347457f9fac71e656e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/keys/timestamp.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/keys/timestamp.json
new file mode 100644
index 0000000..ea77c51
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/keys/timestamp.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70",
+				"private": "d1fa06cd13d91a9a47d4ee67cd4a09ae7e3a2c17eda36547b8072207f6c75976e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/1.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/1.root.json
new file mode 100644
index 0000000..f28c50c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"1ad9ab4741af4dc2a0c6a89f2d0203252cf538721477626f191e0393b5d11a46":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"e79598031adb88549b888b0e9575bf0c9d11c9fd0c684935af01a7966cbe5087":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["e79598031adb88549b888b0e9575bf0c9d11c9fd0c684935af01a7966cbe5087","1ad9ab4741af4dc2a0c6a89f2d0203252cf538721477626f191e0393b5d11a46"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"8e9c42b3383d9ff1955a85549315a84abd8d9227e24b6fafa1b6d7e415a475db73c38c76662112a3fa5e9ee12cdbfe9efcde2cfdfa3eb9a68f7a1377cab1a908"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"8e9c42b3383d9ff1955a85549315a84abd8d9227e24b6fafa1b6d7e415a475db73c38c76662112a3fa5e9ee12cdbfe9efcde2cfdfa3eb9a68f7a1377cab1a908"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/1.snapshot.json
new file mode 100644
index 0000000..f1605fc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a"},"length":757,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"98a311d29cca85d6f507a7961bce68887d96f084741b84c188dd00a184ee1510f1417eb19765b259726662f4eae9b7230b8cae06a537b9979ced242b8ad36f08"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"98a311d29cca85d6f507a7961bce68887d96f084741b84c188dd00a184ee1510f1417eb19765b259726662f4eae9b7230b8cae06a537b9979ced242b8ad36f08"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/1.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/1.targets.json
new file mode 100644
index 0000000..315eb0e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"eab8ad9ef22bcf1fc0eb008b4dd02ff95828c4c392df7c9ae091eb7fcbca5afd62810bb53e2d8897e74797578885992839eb1b246642bf507b1b5b89af002c09"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"eab8ad9ef22bcf1fc0eb008b4dd02ff95828c4c392df7c9ae091eb7fcbca5afd62810bb53e2d8897e74797578885992839eb1b246642bf507b1b5b89af002c09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a.targets.json
new file mode 100644
index 0000000..315eb0e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"eab8ad9ef22bcf1fc0eb008b4dd02ff95828c4c392df7c9ae091eb7fcbca5afd62810bb53e2d8897e74797578885992839eb1b246642bf507b1b5b89af002c09"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"eab8ad9ef22bcf1fc0eb008b4dd02ff95828c4c392df7c9ae091eb7fcbca5afd62810bb53e2d8897e74797578885992839eb1b246642bf507b1b5b89af002c09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/f4ebc28452392bfd7a030a0bf218dcd9088e1c307f803d97bf38279797d0b86fbd34c1b07c08c96a1b1b0e7a24b1dbeef65f67e8d99bf5f226472d2d8aa58e1e.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/f4ebc28452392bfd7a030a0bf218dcd9088e1c307f803d97bf38279797d0b86fbd34c1b07c08c96a1b1b0e7a24b1dbeef65f67e8d99bf5f226472d2d8aa58e1e.snapshot.json
new file mode 100644
index 0000000..f1605fc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/f4ebc28452392bfd7a030a0bf218dcd9088e1c307f803d97bf38279797d0b86fbd34c1b07c08c96a1b1b0e7a24b1dbeef65f67e8d99bf5f226472d2d8aa58e1e.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a"},"length":757,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"98a311d29cca85d6f507a7961bce68887d96f084741b84c188dd00a184ee1510f1417eb19765b259726662f4eae9b7230b8cae06a537b9979ced242b8ad36f08"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"98a311d29cca85d6f507a7961bce68887d96f084741b84c188dd00a184ee1510f1417eb19765b259726662f4eae9b7230b8cae06a537b9979ced242b8ad36f08"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2.root.json
new file mode 100644
index 0000000..f28c50c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"1ad9ab4741af4dc2a0c6a89f2d0203252cf538721477626f191e0393b5d11a46":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"e79598031adb88549b888b0e9575bf0c9d11c9fd0c684935af01a7966cbe5087":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["e79598031adb88549b888b0e9575bf0c9d11c9fd0c684935af01a7966cbe5087","1ad9ab4741af4dc2a0c6a89f2d0203252cf538721477626f191e0393b5d11a46"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"8e9c42b3383d9ff1955a85549315a84abd8d9227e24b6fafa1b6d7e415a475db73c38c76662112a3fa5e9ee12cdbfe9efcde2cfdfa3eb9a68f7a1377cab1a908"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"8e9c42b3383d9ff1955a85549315a84abd8d9227e24b6fafa1b6d7e415a475db73c38c76662112a3fa5e9ee12cdbfe9efcde2cfdfa3eb9a68f7a1377cab1a908"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/root.json
new file mode 100644
index 0000000..f28c50c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"1ad9ab4741af4dc2a0c6a89f2d0203252cf538721477626f191e0393b5d11a46":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"e79598031adb88549b888b0e9575bf0c9d11c9fd0c684935af01a7966cbe5087":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["e79598031adb88549b888b0e9575bf0c9d11c9fd0c684935af01a7966cbe5087","1ad9ab4741af4dc2a0c6a89f2d0203252cf538721477626f191e0393b5d11a46"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"8e9c42b3383d9ff1955a85549315a84abd8d9227e24b6fafa1b6d7e415a475db73c38c76662112a3fa5e9ee12cdbfe9efcde2cfdfa3eb9a68f7a1377cab1a908"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"8e9c42b3383d9ff1955a85549315a84abd8d9227e24b6fafa1b6d7e415a475db73c38c76662112a3fa5e9ee12cdbfe9efcde2cfdfa3eb9a68f7a1377cab1a908"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/snapshot.json
new file mode 100644
index 0000000..f1605fc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a"},"length":757,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"98a311d29cca85d6f507a7961bce68887d96f084741b84c188dd00a184ee1510f1417eb19765b259726662f4eae9b7230b8cae06a537b9979ced242b8ad36f08"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"98a311d29cca85d6f507a7961bce68887d96f084741b84c188dd00a184ee1510f1417eb19765b259726662f4eae9b7230b8cae06a537b9979ced242b8ad36f08"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/targets.json
new file mode 100644
index 0000000..315eb0e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"eab8ad9ef22bcf1fc0eb008b4dd02ff95828c4c392df7c9ae091eb7fcbca5afd62810bb53e2d8897e74797578885992839eb1b246642bf507b1b5b89af002c09"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"eab8ad9ef22bcf1fc0eb008b4dd02ff95828c4c392df7c9ae091eb7fcbca5afd62810bb53e2d8897e74797578885992839eb1b246642bf507b1b5b89af002c09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/targets/0.0 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/timestamp.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/timestamp.json
new file mode 100644
index 0000000..9f5f73b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/0/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"f4ebc28452392bfd7a030a0bf218dcd9088e1c307f803d97bf38279797d0b86fbd34c1b07c08c96a1b1b0e7a24b1dbeef65f67e8d99bf5f226472d2d8aa58e1e"},"length":971,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"e79598031adb88549b888b0e9575bf0c9d11c9fd0c684935af01a7966cbe5087","method":"ed25519","sig":"ecf2108ff814ebbe9ccf14fcf3dfd4589bcd5694f60c18c2469fda9e6b046aa0a97907e8a88bc6368c2cc9a56aee23bb1218e1a4c1ad7f1345f72f3e3f69a506"},{"keyid":"1ad9ab4741af4dc2a0c6a89f2d0203252cf538721477626f191e0393b5d11a46","method":"ed25519","sig":"ecf2108ff814ebbe9ccf14fcf3dfd4589bcd5694f60c18c2469fda9e6b046aa0a97907e8a88bc6368c2cc9a56aee23bb1218e1a4c1ad7f1345f72f3e3f69a506"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/keys/root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/keys/root.json
new file mode 100644
index 0000000..9baa70e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/keys/root.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1",
+				"private": "bdcecb6da268adff68f706fc5891b71b7ebffa571e3cdc3d748d1bb01f2d29598d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/keys/snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/keys/snapshot.json
new file mode 100644
index 0000000..14c9543
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/keys/snapshot.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673",
+				"private": "29e4954e3568134ccf7c9a09c230f416272ef3149545fb7617ef9db774b3644fcc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/keys/targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/keys/targets.json
new file mode 100644
index 0000000..07d6f63
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b",
+				"private": "52cd006dfcc00153ecdac01dd41cc150b04b9694f32c0ee347457f9fac71e656e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/keys/timestamp.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/keys/timestamp.json
new file mode 100644
index 0000000..e7494e5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/keys/timestamp.json
@@ -0,0 +1,27 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70",
+				"private": "d1fa06cd13d91a9a47d4ee67cd4a09ae7e3a2c17eda36547b8072207f6c75976e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36",
+				"private": "b5a4d67174f6197fcb61c9b9014bed358967f9eac1fe7e4d6e461123ad2dea18cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/1.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/1.root.json
new file mode 100644
index 0000000..f28c50c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"1ad9ab4741af4dc2a0c6a89f2d0203252cf538721477626f191e0393b5d11a46":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"e79598031adb88549b888b0e9575bf0c9d11c9fd0c684935af01a7966cbe5087":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["e79598031adb88549b888b0e9575bf0c9d11c9fd0c684935af01a7966cbe5087","1ad9ab4741af4dc2a0c6a89f2d0203252cf538721477626f191e0393b5d11a46"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"8e9c42b3383d9ff1955a85549315a84abd8d9227e24b6fafa1b6d7e415a475db73c38c76662112a3fa5e9ee12cdbfe9efcde2cfdfa3eb9a68f7a1377cab1a908"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"8e9c42b3383d9ff1955a85549315a84abd8d9227e24b6fafa1b6d7e415a475db73c38c76662112a3fa5e9ee12cdbfe9efcde2cfdfa3eb9a68f7a1377cab1a908"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/1.snapshot.json
new file mode 100644
index 0000000..f1605fc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a"},"length":757,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"98a311d29cca85d6f507a7961bce68887d96f084741b84c188dd00a184ee1510f1417eb19765b259726662f4eae9b7230b8cae06a537b9979ced242b8ad36f08"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"98a311d29cca85d6f507a7961bce68887d96f084741b84c188dd00a184ee1510f1417eb19765b259726662f4eae9b7230b8cae06a537b9979ced242b8ad36f08"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/1.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/1.targets.json
new file mode 100644
index 0000000..315eb0e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"eab8ad9ef22bcf1fc0eb008b4dd02ff95828c4c392df7c9ae091eb7fcbca5afd62810bb53e2d8897e74797578885992839eb1b246642bf507b1b5b89af002c09"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"eab8ad9ef22bcf1fc0eb008b4dd02ff95828c4c392df7c9ae091eb7fcbca5afd62810bb53e2d8897e74797578885992839eb1b246642bf507b1b5b89af002c09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/2.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/2.root.json
new file mode 100644
index 0000000..f4a3795
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"16b9e7597527ec237a8760a74626f29338c6a8f30aea63b33d0730416707dfda0130b6f5947a50064bc0138453e5422dac34eb8888957afcec5bb01345bd7e0a"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"16b9e7597527ec237a8760a74626f29338c6a8f30aea63b33d0730416707dfda0130b6f5947a50064bc0138453e5422dac34eb8888957afcec5bb01345bd7e0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/2.snapshot.json
new file mode 100644
index 0000000..c6b2871
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"ce04e7b8e486e3be3b4d47bb631f47d375cd7324ee127ba07ba6742dc9b5aa3f8045fd8caa47d7ab91aaae6bff4c33b52510010ad1eabd8e4a725d018975a831"},"length":925,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"d6935de4642795a313ee9a0f2d09803912fb04d54e9e4d9a751ac31e9bb2c8082ca46fade1e9b4eb41092805952f00be58504551d3ed9fda81ab84107ee1280d"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"d6935de4642795a313ee9a0f2d09803912fb04d54e9e4d9a751ac31e9bb2c8082ca46fade1e9b4eb41092805952f00be58504551d3ed9fda81ab84107ee1280d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/2.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/2.targets.json
new file mode 100644
index 0000000..c20dada
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/2.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"bfd5212ba3ccce960f4baf8177db8cad9f9c3ab1900dd88714c7201f5cbb8763f9b45ad4a3d6821a5390358d087baaee35de5c645c278f8b3b694ec4e6a85e04"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"bfd5212ba3ccce960f4baf8177db8cad9f9c3ab1900dd88714c7201f5cbb8763f9b45ad4a3d6821a5390358d087baaee35de5c645c278f8b3b694ec4e6a85e04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315.root.json
new file mode 100644
index 0000000..f4a3795
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"16b9e7597527ec237a8760a74626f29338c6a8f30aea63b33d0730416707dfda0130b6f5947a50064bc0138453e5422dac34eb8888957afcec5bb01345bd7e0a"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"16b9e7597527ec237a8760a74626f29338c6a8f30aea63b33d0730416707dfda0130b6f5947a50064bc0138453e5422dac34eb8888957afcec5bb01345bd7e0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a.targets.json
new file mode 100644
index 0000000..315eb0e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"eab8ad9ef22bcf1fc0eb008b4dd02ff95828c4c392df7c9ae091eb7fcbca5afd62810bb53e2d8897e74797578885992839eb1b246642bf507b1b5b89af002c09"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"eab8ad9ef22bcf1fc0eb008b4dd02ff95828c4c392df7c9ae091eb7fcbca5afd62810bb53e2d8897e74797578885992839eb1b246642bf507b1b5b89af002c09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/ce04e7b8e486e3be3b4d47bb631f47d375cd7324ee127ba07ba6742dc9b5aa3f8045fd8caa47d7ab91aaae6bff4c33b52510010ad1eabd8e4a725d018975a831.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/ce04e7b8e486e3be3b4d47bb631f47d375cd7324ee127ba07ba6742dc9b5aa3f8045fd8caa47d7ab91aaae6bff4c33b52510010ad1eabd8e4a725d018975a831.targets.json
new file mode 100644
index 0000000..c20dada
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/ce04e7b8e486e3be3b4d47bb631f47d375cd7324ee127ba07ba6742dc9b5aa3f8045fd8caa47d7ab91aaae6bff4c33b52510010ad1eabd8e4a725d018975a831.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"bfd5212ba3ccce960f4baf8177db8cad9f9c3ab1900dd88714c7201f5cbb8763f9b45ad4a3d6821a5390358d087baaee35de5c645c278f8b3b694ec4e6a85e04"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"bfd5212ba3ccce960f4baf8177db8cad9f9c3ab1900dd88714c7201f5cbb8763f9b45ad4a3d6821a5390358d087baaee35de5c645c278f8b3b694ec4e6a85e04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/f3f28f2ebcb11cac54b058a4073b8c14edc9788ce8ad7616f5ed2e643bac610ce5154d93ba729863b5c59462c35f02d0b1f69f8d45f6d08f6b5a5bb773febb1e.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/f3f28f2ebcb11cac54b058a4073b8c14edc9788ce8ad7616f5ed2e643bac610ce5154d93ba729863b5c59462c35f02d0b1f69f8d45f6d08f6b5a5bb773febb1e.snapshot.json
new file mode 100644
index 0000000..c6b2871
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/f3f28f2ebcb11cac54b058a4073b8c14edc9788ce8ad7616f5ed2e643bac610ce5154d93ba729863b5c59462c35f02d0b1f69f8d45f6d08f6b5a5bb773febb1e.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"ce04e7b8e486e3be3b4d47bb631f47d375cd7324ee127ba07ba6742dc9b5aa3f8045fd8caa47d7ab91aaae6bff4c33b52510010ad1eabd8e4a725d018975a831"},"length":925,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"d6935de4642795a313ee9a0f2d09803912fb04d54e9e4d9a751ac31e9bb2c8082ca46fade1e9b4eb41092805952f00be58504551d3ed9fda81ab84107ee1280d"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"d6935de4642795a313ee9a0f2d09803912fb04d54e9e4d9a751ac31e9bb2c8082ca46fade1e9b4eb41092805952f00be58504551d3ed9fda81ab84107ee1280d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/f4ebc28452392bfd7a030a0bf218dcd9088e1c307f803d97bf38279797d0b86fbd34c1b07c08c96a1b1b0e7a24b1dbeef65f67e8d99bf5f226472d2d8aa58e1e.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/f4ebc28452392bfd7a030a0bf218dcd9088e1c307f803d97bf38279797d0b86fbd34c1b07c08c96a1b1b0e7a24b1dbeef65f67e8d99bf5f226472d2d8aa58e1e.snapshot.json
new file mode 100644
index 0000000..f1605fc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/f4ebc28452392bfd7a030a0bf218dcd9088e1c307f803d97bf38279797d0b86fbd34c1b07c08c96a1b1b0e7a24b1dbeef65f67e8d99bf5f226472d2d8aa58e1e.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a"},"length":757,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"98a311d29cca85d6f507a7961bce68887d96f084741b84c188dd00a184ee1510f1417eb19765b259726662f4eae9b7230b8cae06a537b9979ced242b8ad36f08"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"98a311d29cca85d6f507a7961bce68887d96f084741b84c188dd00a184ee1510f1417eb19765b259726662f4eae9b7230b8cae06a537b9979ced242b8ad36f08"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2.root.json
new file mode 100644
index 0000000..f28c50c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"1ad9ab4741af4dc2a0c6a89f2d0203252cf538721477626f191e0393b5d11a46":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"e79598031adb88549b888b0e9575bf0c9d11c9fd0c684935af01a7966cbe5087":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["e79598031adb88549b888b0e9575bf0c9d11c9fd0c684935af01a7966cbe5087","1ad9ab4741af4dc2a0c6a89f2d0203252cf538721477626f191e0393b5d11a46"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"8e9c42b3383d9ff1955a85549315a84abd8d9227e24b6fafa1b6d7e415a475db73c38c76662112a3fa5e9ee12cdbfe9efcde2cfdfa3eb9a68f7a1377cab1a908"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"8e9c42b3383d9ff1955a85549315a84abd8d9227e24b6fafa1b6d7e415a475db73c38c76662112a3fa5e9ee12cdbfe9efcde2cfdfa3eb9a68f7a1377cab1a908"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/root.json
new file mode 100644
index 0000000..f4a3795
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"16b9e7597527ec237a8760a74626f29338c6a8f30aea63b33d0730416707dfda0130b6f5947a50064bc0138453e5422dac34eb8888957afcec5bb01345bd7e0a"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"16b9e7597527ec237a8760a74626f29338c6a8f30aea63b33d0730416707dfda0130b6f5947a50064bc0138453e5422dac34eb8888957afcec5bb01345bd7e0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/snapshot.json
new file mode 100644
index 0000000..c6b2871
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"ce04e7b8e486e3be3b4d47bb631f47d375cd7324ee127ba07ba6742dc9b5aa3f8045fd8caa47d7ab91aaae6bff4c33b52510010ad1eabd8e4a725d018975a831"},"length":925,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"d6935de4642795a313ee9a0f2d09803912fb04d54e9e4d9a751ac31e9bb2c8082ca46fade1e9b4eb41092805952f00be58504551d3ed9fda81ab84107ee1280d"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"d6935de4642795a313ee9a0f2d09803912fb04d54e9e4d9a751ac31e9bb2c8082ca46fade1e9b4eb41092805952f00be58504551d3ed9fda81ab84107ee1280d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/targets.json
new file mode 100644
index 0000000..c20dada
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"bfd5212ba3ccce960f4baf8177db8cad9f9c3ab1900dd88714c7201f5cbb8763f9b45ad4a3d6821a5390358d087baaee35de5c645c278f8b3b694ec4e6a85e04"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"bfd5212ba3ccce960f4baf8177db8cad9f9c3ab1900dd88714c7201f5cbb8763f9b45ad4a3d6821a5390358d087baaee35de5c645c278f8b3b694ec4e6a85e04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/targets/0.0 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/targets/0.1 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/timestamp.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/timestamp.json
new file mode 100644
index 0000000..47d5d5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/1/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"f3f28f2ebcb11cac54b058a4073b8c14edc9788ce8ad7616f5ed2e643bac610ce5154d93ba729863b5c59462c35f02d0b1f69f8d45f6d08f6b5a5bb773febb1e"},"length":971,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","method":"ed25519","sig":"dcab20f3b9ee92adc0ee536c0acabce0ac96f78a4a46f93fce9ba2a1badc8d7fd2237707f5c3adecb897d1b25b3294c70ad69eea984ca0dfd611444fc65a0b09"},{"keyid":"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9","method":"ed25519","sig":"dcab20f3b9ee92adc0ee536c0acabce0ac96f78a4a46f93fce9ba2a1badc8d7fd2237707f5c3adecb897d1b25b3294c70ad69eea984ca0dfd611444fc65a0b09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/keys/root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/keys/root.json
new file mode 100644
index 0000000..9baa70e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/keys/root.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1",
+				"private": "bdcecb6da268adff68f706fc5891b71b7ebffa571e3cdc3d748d1bb01f2d29598d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/keys/snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/keys/snapshot.json
new file mode 100644
index 0000000..14c9543
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/keys/snapshot.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673",
+				"private": "29e4954e3568134ccf7c9a09c230f416272ef3149545fb7617ef9db774b3644fcc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/keys/targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/keys/targets.json
new file mode 100644
index 0000000..07d6f63
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b",
+				"private": "52cd006dfcc00153ecdac01dd41cc150b04b9694f32c0ee347457f9fac71e656e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/keys/timestamp.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/keys/timestamp.json
new file mode 100644
index 0000000..4b1db26
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36","private":"b5a4d67174f6197fcb61c9b9014bed358967f9eac1fe7e4d6e461123ad2dea18cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/1.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/1.root.json
new file mode 100644
index 0000000..f28c50c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"1ad9ab4741af4dc2a0c6a89f2d0203252cf538721477626f191e0393b5d11a46":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"e79598031adb88549b888b0e9575bf0c9d11c9fd0c684935af01a7966cbe5087":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["e79598031adb88549b888b0e9575bf0c9d11c9fd0c684935af01a7966cbe5087","1ad9ab4741af4dc2a0c6a89f2d0203252cf538721477626f191e0393b5d11a46"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"8e9c42b3383d9ff1955a85549315a84abd8d9227e24b6fafa1b6d7e415a475db73c38c76662112a3fa5e9ee12cdbfe9efcde2cfdfa3eb9a68f7a1377cab1a908"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"8e9c42b3383d9ff1955a85549315a84abd8d9227e24b6fafa1b6d7e415a475db73c38c76662112a3fa5e9ee12cdbfe9efcde2cfdfa3eb9a68f7a1377cab1a908"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/1.snapshot.json
new file mode 100644
index 0000000..f1605fc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a"},"length":757,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"98a311d29cca85d6f507a7961bce68887d96f084741b84c188dd00a184ee1510f1417eb19765b259726662f4eae9b7230b8cae06a537b9979ced242b8ad36f08"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"98a311d29cca85d6f507a7961bce68887d96f084741b84c188dd00a184ee1510f1417eb19765b259726662f4eae9b7230b8cae06a537b9979ced242b8ad36f08"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/1.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/1.targets.json
new file mode 100644
index 0000000..315eb0e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"eab8ad9ef22bcf1fc0eb008b4dd02ff95828c4c392df7c9ae091eb7fcbca5afd62810bb53e2d8897e74797578885992839eb1b246642bf507b1b5b89af002c09"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"eab8ad9ef22bcf1fc0eb008b4dd02ff95828c4c392df7c9ae091eb7fcbca5afd62810bb53e2d8897e74797578885992839eb1b246642bf507b1b5b89af002c09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/2.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/2.root.json
new file mode 100644
index 0000000..f4a3795
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"16b9e7597527ec237a8760a74626f29338c6a8f30aea63b33d0730416707dfda0130b6f5947a50064bc0138453e5422dac34eb8888957afcec5bb01345bd7e0a"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"16b9e7597527ec237a8760a74626f29338c6a8f30aea63b33d0730416707dfda0130b6f5947a50064bc0138453e5422dac34eb8888957afcec5bb01345bd7e0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/2.snapshot.json
new file mode 100644
index 0000000..c6b2871
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"ce04e7b8e486e3be3b4d47bb631f47d375cd7324ee127ba07ba6742dc9b5aa3f8045fd8caa47d7ab91aaae6bff4c33b52510010ad1eabd8e4a725d018975a831"},"length":925,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"d6935de4642795a313ee9a0f2d09803912fb04d54e9e4d9a751ac31e9bb2c8082ca46fade1e9b4eb41092805952f00be58504551d3ed9fda81ab84107ee1280d"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"d6935de4642795a313ee9a0f2d09803912fb04d54e9e4d9a751ac31e9bb2c8082ca46fade1e9b4eb41092805952f00be58504551d3ed9fda81ab84107ee1280d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/2.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/2.targets.json
new file mode 100644
index 0000000..c20dada
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/2.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"bfd5212ba3ccce960f4baf8177db8cad9f9c3ab1900dd88714c7201f5cbb8763f9b45ad4a3d6821a5390358d087baaee35de5c645c278f8b3b694ec4e6a85e04"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"bfd5212ba3ccce960f4baf8177db8cad9f9c3ab1900dd88714c7201f5cbb8763f9b45ad4a3d6821a5390358d087baaee35de5c645c278f8b3b694ec4e6a85e04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/3.snapshot.json
new file mode 100644
index 0000000..4ef7b75
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"7d8515ab14221d1f323305ac7afe8871a18fc28013b06d7d66f50d61521254827fe7dc720bf56a9fc96bfb98d39255790eaaa9f70631957dc483b207f24a6aa0"},"length":1093,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"c5204255d311797a4f1cf3814b0d56b55d53570eee48a58da4b4cfd1445b2853bd1486c1925be7f199ebd0f6d280769113db57f34687220f1bf1c2cd1cd03b0b"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"c5204255d311797a4f1cf3814b0d56b55d53570eee48a58da4b4cfd1445b2853bd1486c1925be7f199ebd0f6d280769113db57f34687220f1bf1c2cd1cd03b0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/3.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/3.targets.json
new file mode 100644
index 0000000..f20324d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/3.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"b94a73d5ba8244c921722a8c9d3b79eb98944e8f3f5fc9abe60a3a60d6516f2413b61a2490d1d7920826da86881a6b23b09d7bf7f6c7ca581455b067d1489302"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"b94a73d5ba8244c921722a8c9d3b79eb98944e8f3f5fc9abe60a3a60d6516f2413b61a2490d1d7920826da86881a6b23b09d7bf7f6c7ca581455b067d1489302"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315.root.json
new file mode 100644
index 0000000..f4a3795
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"16b9e7597527ec237a8760a74626f29338c6a8f30aea63b33d0730416707dfda0130b6f5947a50064bc0138453e5422dac34eb8888957afcec5bb01345bd7e0a"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"16b9e7597527ec237a8760a74626f29338c6a8f30aea63b33d0730416707dfda0130b6f5947a50064bc0138453e5422dac34eb8888957afcec5bb01345bd7e0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a.targets.json
new file mode 100644
index 0000000..315eb0e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"eab8ad9ef22bcf1fc0eb008b4dd02ff95828c4c392df7c9ae091eb7fcbca5afd62810bb53e2d8897e74797578885992839eb1b246642bf507b1b5b89af002c09"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"eab8ad9ef22bcf1fc0eb008b4dd02ff95828c4c392df7c9ae091eb7fcbca5afd62810bb53e2d8897e74797578885992839eb1b246642bf507b1b5b89af002c09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/7bde98361f5689f412b33cd5495a2fab54d240f3a63cde4d012a9b2a28e0b3d2adecb83fa37a538588af0540a9411d3a278ff9b29794b79adae8828ee0d047d9.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/7bde98361f5689f412b33cd5495a2fab54d240f3a63cde4d012a9b2a28e0b3d2adecb83fa37a538588af0540a9411d3a278ff9b29794b79adae8828ee0d047d9.snapshot.json
new file mode 100644
index 0000000..4ef7b75
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/7bde98361f5689f412b33cd5495a2fab54d240f3a63cde4d012a9b2a28e0b3d2adecb83fa37a538588af0540a9411d3a278ff9b29794b79adae8828ee0d047d9.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"7d8515ab14221d1f323305ac7afe8871a18fc28013b06d7d66f50d61521254827fe7dc720bf56a9fc96bfb98d39255790eaaa9f70631957dc483b207f24a6aa0"},"length":1093,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"c5204255d311797a4f1cf3814b0d56b55d53570eee48a58da4b4cfd1445b2853bd1486c1925be7f199ebd0f6d280769113db57f34687220f1bf1c2cd1cd03b0b"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"c5204255d311797a4f1cf3814b0d56b55d53570eee48a58da4b4cfd1445b2853bd1486c1925be7f199ebd0f6d280769113db57f34687220f1bf1c2cd1cd03b0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/7d8515ab14221d1f323305ac7afe8871a18fc28013b06d7d66f50d61521254827fe7dc720bf56a9fc96bfb98d39255790eaaa9f70631957dc483b207f24a6aa0.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/7d8515ab14221d1f323305ac7afe8871a18fc28013b06d7d66f50d61521254827fe7dc720bf56a9fc96bfb98d39255790eaaa9f70631957dc483b207f24a6aa0.targets.json
new file mode 100644
index 0000000..f20324d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/7d8515ab14221d1f323305ac7afe8871a18fc28013b06d7d66f50d61521254827fe7dc720bf56a9fc96bfb98d39255790eaaa9f70631957dc483b207f24a6aa0.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"b94a73d5ba8244c921722a8c9d3b79eb98944e8f3f5fc9abe60a3a60d6516f2413b61a2490d1d7920826da86881a6b23b09d7bf7f6c7ca581455b067d1489302"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"b94a73d5ba8244c921722a8c9d3b79eb98944e8f3f5fc9abe60a3a60d6516f2413b61a2490d1d7920826da86881a6b23b09d7bf7f6c7ca581455b067d1489302"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/ce04e7b8e486e3be3b4d47bb631f47d375cd7324ee127ba07ba6742dc9b5aa3f8045fd8caa47d7ab91aaae6bff4c33b52510010ad1eabd8e4a725d018975a831.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/ce04e7b8e486e3be3b4d47bb631f47d375cd7324ee127ba07ba6742dc9b5aa3f8045fd8caa47d7ab91aaae6bff4c33b52510010ad1eabd8e4a725d018975a831.targets.json
new file mode 100644
index 0000000..c20dada
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/ce04e7b8e486e3be3b4d47bb631f47d375cd7324ee127ba07ba6742dc9b5aa3f8045fd8caa47d7ab91aaae6bff4c33b52510010ad1eabd8e4a725d018975a831.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"bfd5212ba3ccce960f4baf8177db8cad9f9c3ab1900dd88714c7201f5cbb8763f9b45ad4a3d6821a5390358d087baaee35de5c645c278f8b3b694ec4e6a85e04"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"bfd5212ba3ccce960f4baf8177db8cad9f9c3ab1900dd88714c7201f5cbb8763f9b45ad4a3d6821a5390358d087baaee35de5c645c278f8b3b694ec4e6a85e04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/f3f28f2ebcb11cac54b058a4073b8c14edc9788ce8ad7616f5ed2e643bac610ce5154d93ba729863b5c59462c35f02d0b1f69f8d45f6d08f6b5a5bb773febb1e.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/f3f28f2ebcb11cac54b058a4073b8c14edc9788ce8ad7616f5ed2e643bac610ce5154d93ba729863b5c59462c35f02d0b1f69f8d45f6d08f6b5a5bb773febb1e.snapshot.json
new file mode 100644
index 0000000..c6b2871
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/f3f28f2ebcb11cac54b058a4073b8c14edc9788ce8ad7616f5ed2e643bac610ce5154d93ba729863b5c59462c35f02d0b1f69f8d45f6d08f6b5a5bb773febb1e.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"ce04e7b8e486e3be3b4d47bb631f47d375cd7324ee127ba07ba6742dc9b5aa3f8045fd8caa47d7ab91aaae6bff4c33b52510010ad1eabd8e4a725d018975a831"},"length":925,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"d6935de4642795a313ee9a0f2d09803912fb04d54e9e4d9a751ac31e9bb2c8082ca46fade1e9b4eb41092805952f00be58504551d3ed9fda81ab84107ee1280d"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"d6935de4642795a313ee9a0f2d09803912fb04d54e9e4d9a751ac31e9bb2c8082ca46fade1e9b4eb41092805952f00be58504551d3ed9fda81ab84107ee1280d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/f4ebc28452392bfd7a030a0bf218dcd9088e1c307f803d97bf38279797d0b86fbd34c1b07c08c96a1b1b0e7a24b1dbeef65f67e8d99bf5f226472d2d8aa58e1e.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/f4ebc28452392bfd7a030a0bf218dcd9088e1c307f803d97bf38279797d0b86fbd34c1b07c08c96a1b1b0e7a24b1dbeef65f67e8d99bf5f226472d2d8aa58e1e.snapshot.json
new file mode 100644
index 0000000..f1605fc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/f4ebc28452392bfd7a030a0bf218dcd9088e1c307f803d97bf38279797d0b86fbd34c1b07c08c96a1b1b0e7a24b1dbeef65f67e8d99bf5f226472d2d8aa58e1e.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a"},"length":757,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"98a311d29cca85d6f507a7961bce68887d96f084741b84c188dd00a184ee1510f1417eb19765b259726662f4eae9b7230b8cae06a537b9979ced242b8ad36f08"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"98a311d29cca85d6f507a7961bce68887d96f084741b84c188dd00a184ee1510f1417eb19765b259726662f4eae9b7230b8cae06a537b9979ced242b8ad36f08"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2.root.json
new file mode 100644
index 0000000..f28c50c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"1ad9ab4741af4dc2a0c6a89f2d0203252cf538721477626f191e0393b5d11a46":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"e79598031adb88549b888b0e9575bf0c9d11c9fd0c684935af01a7966cbe5087":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["e79598031adb88549b888b0e9575bf0c9d11c9fd0c684935af01a7966cbe5087","1ad9ab4741af4dc2a0c6a89f2d0203252cf538721477626f191e0393b5d11a46"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"8e9c42b3383d9ff1955a85549315a84abd8d9227e24b6fafa1b6d7e415a475db73c38c76662112a3fa5e9ee12cdbfe9efcde2cfdfa3eb9a68f7a1377cab1a908"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"8e9c42b3383d9ff1955a85549315a84abd8d9227e24b6fafa1b6d7e415a475db73c38c76662112a3fa5e9ee12cdbfe9efcde2cfdfa3eb9a68f7a1377cab1a908"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/root.json
new file mode 100644
index 0000000..f4a3795
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"16b9e7597527ec237a8760a74626f29338c6a8f30aea63b33d0730416707dfda0130b6f5947a50064bc0138453e5422dac34eb8888957afcec5bb01345bd7e0a"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"16b9e7597527ec237a8760a74626f29338c6a8f30aea63b33d0730416707dfda0130b6f5947a50064bc0138453e5422dac34eb8888957afcec5bb01345bd7e0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/snapshot.json
new file mode 100644
index 0000000..4ef7b75
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"7d8515ab14221d1f323305ac7afe8871a18fc28013b06d7d66f50d61521254827fe7dc720bf56a9fc96bfb98d39255790eaaa9f70631957dc483b207f24a6aa0"},"length":1093,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"c5204255d311797a4f1cf3814b0d56b55d53570eee48a58da4b4cfd1445b2853bd1486c1925be7f199ebd0f6d280769113db57f34687220f1bf1c2cd1cd03b0b"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"c5204255d311797a4f1cf3814b0d56b55d53570eee48a58da4b4cfd1445b2853bd1486c1925be7f199ebd0f6d280769113db57f34687220f1bf1c2cd1cd03b0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/targets.json
new file mode 100644
index 0000000..f20324d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"b94a73d5ba8244c921722a8c9d3b79eb98944e8f3f5fc9abe60a3a60d6516f2413b61a2490d1d7920826da86881a6b23b09d7bf7f6c7ca581455b067d1489302"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"b94a73d5ba8244c921722a8c9d3b79eb98944e8f3f5fc9abe60a3a60d6516f2413b61a2490d1d7920826da86881a6b23b09d7bf7f6c7ca581455b067d1489302"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/targets/0.0 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/targets/0.1 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/targets/0.2 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/targets/0.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/targets/0.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/timestamp.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/timestamp.json
new file mode 100644
index 0000000..6f4d900
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/2/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"7bde98361f5689f412b33cd5495a2fab54d240f3a63cde4d012a9b2a28e0b3d2adecb83fa37a538588af0540a9411d3a278ff9b29794b79adae8828ee0d047d9"},"length":972,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","method":"ed25519","sig":"1a2d1f41e0d3718d6bb2e32e4ddc4e176b1559eb8e2276b30e3299f993782d7438660baab608434dbce160604368bc037d178a65e0193f6f8028d37654fbb908"},{"keyid":"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9","method":"ed25519","sig":"1a2d1f41e0d3718d6bb2e32e4ddc4e176b1559eb8e2276b30e3299f993782d7438660baab608434dbce160604368bc037d178a65e0193f6f8028d37654fbb908"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/keys/root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/keys/root.json
new file mode 100644
index 0000000..e2062c5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/keys/root.json
@@ -0,0 +1,27 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1",
+				"private": "bdcecb6da268adff68f706fc5891b71b7ebffa571e3cdc3d748d1bb01f2d29598d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b",
+				"private": "80fcfabb133fd43fc4a70ba366d630cd9adab8c25f0bf4c19f877deea31640b86575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/keys/snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/keys/snapshot.json
new file mode 100644
index 0000000..14c9543
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/keys/snapshot.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673",
+				"private": "29e4954e3568134ccf7c9a09c230f416272ef3149545fb7617ef9db774b3644fcc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/keys/targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/keys/targets.json
new file mode 100644
index 0000000..07d6f63
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b",
+				"private": "52cd006dfcc00153ecdac01dd41cc150b04b9694f32c0ee347457f9fac71e656e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/keys/timestamp.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/keys/timestamp.json
new file mode 100644
index 0000000..4b1db26
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36","private":"b5a4d67174f6197fcb61c9b9014bed358967f9eac1fe7e4d6e461123ad2dea18cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/1.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/1.root.json
new file mode 100644
index 0000000..f28c50c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"1ad9ab4741af4dc2a0c6a89f2d0203252cf538721477626f191e0393b5d11a46":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"e79598031adb88549b888b0e9575bf0c9d11c9fd0c684935af01a7966cbe5087":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["e79598031adb88549b888b0e9575bf0c9d11c9fd0c684935af01a7966cbe5087","1ad9ab4741af4dc2a0c6a89f2d0203252cf538721477626f191e0393b5d11a46"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"8e9c42b3383d9ff1955a85549315a84abd8d9227e24b6fafa1b6d7e415a475db73c38c76662112a3fa5e9ee12cdbfe9efcde2cfdfa3eb9a68f7a1377cab1a908"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"8e9c42b3383d9ff1955a85549315a84abd8d9227e24b6fafa1b6d7e415a475db73c38c76662112a3fa5e9ee12cdbfe9efcde2cfdfa3eb9a68f7a1377cab1a908"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/1.snapshot.json
new file mode 100644
index 0000000..f1605fc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a"},"length":757,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"98a311d29cca85d6f507a7961bce68887d96f084741b84c188dd00a184ee1510f1417eb19765b259726662f4eae9b7230b8cae06a537b9979ced242b8ad36f08"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"98a311d29cca85d6f507a7961bce68887d96f084741b84c188dd00a184ee1510f1417eb19765b259726662f4eae9b7230b8cae06a537b9979ced242b8ad36f08"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/1.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/1.targets.json
new file mode 100644
index 0000000..315eb0e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"eab8ad9ef22bcf1fc0eb008b4dd02ff95828c4c392df7c9ae091eb7fcbca5afd62810bb53e2d8897e74797578885992839eb1b246642bf507b1b5b89af002c09"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"eab8ad9ef22bcf1fc0eb008b4dd02ff95828c4c392df7c9ae091eb7fcbca5afd62810bb53e2d8897e74797578885992839eb1b246642bf507b1b5b89af002c09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/1e7041326f64b3efde054d8848bab003cc6ef3475aa35b926b76b32cc3985889751d76df82b4fbaab5bd0e4bf15c44c64b6f63eace43ba57050d2262a84e77e9.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/1e7041326f64b3efde054d8848bab003cc6ef3475aa35b926b76b32cc3985889751d76df82b4fbaab5bd0e4bf15c44c64b6f63eace43ba57050d2262a84e77e9.root.json
new file mode 100644
index 0000000..cb012f5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/1e7041326f64b3efde054d8848bab003cc6ef3475aa35b926b76b32cc3985889751d76df82b4fbaab5bd0e4bf15c44c64b6f63eace43ba57050d2262a84e77e9.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09","e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"66fb595230927ab7f0c797603ff3a94f117f3c0ada82079266244f2899eba95255b4fe88146ba8ce169f0fbf57ac5105946d9849ab5bc16db8f3058d8f6af90c"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"66fb595230927ab7f0c797603ff3a94f117f3c0ada82079266244f2899eba95255b4fe88146ba8ce169f0fbf57ac5105946d9849ab5bc16db8f3058d8f6af90c"},{"keyid":"1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09","method":"ed25519","sig":"90972c8dbc963db5cfcbb8ee6f33a2d5f2c91e758b83a18d9e116f878aa70f0915a7ca54a55a6e3535f2a63ade983ea8c519849870ce994463a511d6dd6a9506"},{"keyid":"e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103","method":"ed25519","sig":"90972c8dbc963db5cfcbb8ee6f33a2d5f2c91e758b83a18d9e116f878aa70f0915a7ca54a55a6e3535f2a63ade983ea8c519849870ce994463a511d6dd6a9506"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/2.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/2.root.json
new file mode 100644
index 0000000..f4a3795
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"16b9e7597527ec237a8760a74626f29338c6a8f30aea63b33d0730416707dfda0130b6f5947a50064bc0138453e5422dac34eb8888957afcec5bb01345bd7e0a"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"16b9e7597527ec237a8760a74626f29338c6a8f30aea63b33d0730416707dfda0130b6f5947a50064bc0138453e5422dac34eb8888957afcec5bb01345bd7e0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/2.snapshot.json
new file mode 100644
index 0000000..c6b2871
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"ce04e7b8e486e3be3b4d47bb631f47d375cd7324ee127ba07ba6742dc9b5aa3f8045fd8caa47d7ab91aaae6bff4c33b52510010ad1eabd8e4a725d018975a831"},"length":925,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"d6935de4642795a313ee9a0f2d09803912fb04d54e9e4d9a751ac31e9bb2c8082ca46fade1e9b4eb41092805952f00be58504551d3ed9fda81ab84107ee1280d"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"d6935de4642795a313ee9a0f2d09803912fb04d54e9e4d9a751ac31e9bb2c8082ca46fade1e9b4eb41092805952f00be58504551d3ed9fda81ab84107ee1280d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/2.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/2.targets.json
new file mode 100644
index 0000000..c20dada
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/2.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"bfd5212ba3ccce960f4baf8177db8cad9f9c3ab1900dd88714c7201f5cbb8763f9b45ad4a3d6821a5390358d087baaee35de5c645c278f8b3b694ec4e6a85e04"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"bfd5212ba3ccce960f4baf8177db8cad9f9c3ab1900dd88714c7201f5cbb8763f9b45ad4a3d6821a5390358d087baaee35de5c645c278f8b3b694ec4e6a85e04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/2d44121ac08ea02193caae0cae7305fef3dd47c9641a8d263df0c4f768273625ff3931a3ee5e3ce6f4152024ad808f4e69d9f46db115b1d89dae0e4ac68e10e3.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/2d44121ac08ea02193caae0cae7305fef3dd47c9641a8d263df0c4f768273625ff3931a3ee5e3ce6f4152024ad808f4e69d9f46db115b1d89dae0e4ac68e10e3.targets.json
new file mode 100644
index 0000000..bee67af
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/2d44121ac08ea02193caae0cae7305fef3dd47c9641a8d263df0c4f768273625ff3931a3ee5e3ce6f4152024ad808f4e69d9f46db115b1d89dae0e4ac68e10e3.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"8b92019c1a273f10e5afbb3fd19a1bcfea1bd802bdc50ea6a079ac8c64156a709e51856df983ab049436b5829614f57c874b06f3a3fcf282bc34e738db5bf70f"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"8b92019c1a273f10e5afbb3fd19a1bcfea1bd802bdc50ea6a079ac8c64156a709e51856df983ab049436b5829614f57c874b06f3a3fcf282bc34e738db5bf70f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/3.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/3.root.json
new file mode 100644
index 0000000..cb012f5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/3.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09","e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"66fb595230927ab7f0c797603ff3a94f117f3c0ada82079266244f2899eba95255b4fe88146ba8ce169f0fbf57ac5105946d9849ab5bc16db8f3058d8f6af90c"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"66fb595230927ab7f0c797603ff3a94f117f3c0ada82079266244f2899eba95255b4fe88146ba8ce169f0fbf57ac5105946d9849ab5bc16db8f3058d8f6af90c"},{"keyid":"1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09","method":"ed25519","sig":"90972c8dbc963db5cfcbb8ee6f33a2d5f2c91e758b83a18d9e116f878aa70f0915a7ca54a55a6e3535f2a63ade983ea8c519849870ce994463a511d6dd6a9506"},{"keyid":"e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103","method":"ed25519","sig":"90972c8dbc963db5cfcbb8ee6f33a2d5f2c91e758b83a18d9e116f878aa70f0915a7ca54a55a6e3535f2a63ade983ea8c519849870ce994463a511d6dd6a9506"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/3.snapshot.json
new file mode 100644
index 0000000..4ef7b75
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"7d8515ab14221d1f323305ac7afe8871a18fc28013b06d7d66f50d61521254827fe7dc720bf56a9fc96bfb98d39255790eaaa9f70631957dc483b207f24a6aa0"},"length":1093,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"c5204255d311797a4f1cf3814b0d56b55d53570eee48a58da4b4cfd1445b2853bd1486c1925be7f199ebd0f6d280769113db57f34687220f1bf1c2cd1cd03b0b"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"c5204255d311797a4f1cf3814b0d56b55d53570eee48a58da4b4cfd1445b2853bd1486c1925be7f199ebd0f6d280769113db57f34687220f1bf1c2cd1cd03b0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/3.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/3.targets.json
new file mode 100644
index 0000000..f20324d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/3.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"b94a73d5ba8244c921722a8c9d3b79eb98944e8f3f5fc9abe60a3a60d6516f2413b61a2490d1d7920826da86881a6b23b09d7bf7f6c7ca581455b067d1489302"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"b94a73d5ba8244c921722a8c9d3b79eb98944e8f3f5fc9abe60a3a60d6516f2413b61a2490d1d7920826da86881a6b23b09d7bf7f6c7ca581455b067d1489302"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315.root.json
new file mode 100644
index 0000000..f4a3795
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"16b9e7597527ec237a8760a74626f29338c6a8f30aea63b33d0730416707dfda0130b6f5947a50064bc0138453e5422dac34eb8888957afcec5bb01345bd7e0a"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"16b9e7597527ec237a8760a74626f29338c6a8f30aea63b33d0730416707dfda0130b6f5947a50064bc0138453e5422dac34eb8888957afcec5bb01345bd7e0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/4.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/4.snapshot.json
new file mode 100644
index 0000000..3bc3dd4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/4.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1e7041326f64b3efde054d8848bab003cc6ef3475aa35b926b76b32cc3985889751d76df82b4fbaab5bd0e4bf15c44c64b6f63eace43ba57050d2262a84e77e9"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"2d44121ac08ea02193caae0cae7305fef3dd47c9641a8d263df0c4f768273625ff3931a3ee5e3ce6f4152024ad808f4e69d9f46db115b1d89dae0e4ac68e10e3"},"length":1261,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"9a0c0a32b89297514b732085ff43c78f3b90e4bddff8523b37a7e59d997a79442e35df70384abf37a6ef3d3f1687feeab0834c38f6df3dff00fa0d8c8a95b901"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"9a0c0a32b89297514b732085ff43c78f3b90e4bddff8523b37a7e59d997a79442e35df70384abf37a6ef3d3f1687feeab0834c38f6df3dff00fa0d8c8a95b901"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/4.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/4.targets.json
new file mode 100644
index 0000000..bee67af
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/4.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"8b92019c1a273f10e5afbb3fd19a1bcfea1bd802bdc50ea6a079ac8c64156a709e51856df983ab049436b5829614f57c874b06f3a3fcf282bc34e738db5bf70f"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"8b92019c1a273f10e5afbb3fd19a1bcfea1bd802bdc50ea6a079ac8c64156a709e51856df983ab049436b5829614f57c874b06f3a3fcf282bc34e738db5bf70f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a.targets.json
new file mode 100644
index 0000000..315eb0e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"eab8ad9ef22bcf1fc0eb008b4dd02ff95828c4c392df7c9ae091eb7fcbca5afd62810bb53e2d8897e74797578885992839eb1b246642bf507b1b5b89af002c09"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"eab8ad9ef22bcf1fc0eb008b4dd02ff95828c4c392df7c9ae091eb7fcbca5afd62810bb53e2d8897e74797578885992839eb1b246642bf507b1b5b89af002c09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/7bde98361f5689f412b33cd5495a2fab54d240f3a63cde4d012a9b2a28e0b3d2adecb83fa37a538588af0540a9411d3a278ff9b29794b79adae8828ee0d047d9.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/7bde98361f5689f412b33cd5495a2fab54d240f3a63cde4d012a9b2a28e0b3d2adecb83fa37a538588af0540a9411d3a278ff9b29794b79adae8828ee0d047d9.snapshot.json
new file mode 100644
index 0000000..4ef7b75
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/7bde98361f5689f412b33cd5495a2fab54d240f3a63cde4d012a9b2a28e0b3d2adecb83fa37a538588af0540a9411d3a278ff9b29794b79adae8828ee0d047d9.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"7d8515ab14221d1f323305ac7afe8871a18fc28013b06d7d66f50d61521254827fe7dc720bf56a9fc96bfb98d39255790eaaa9f70631957dc483b207f24a6aa0"},"length":1093,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"c5204255d311797a4f1cf3814b0d56b55d53570eee48a58da4b4cfd1445b2853bd1486c1925be7f199ebd0f6d280769113db57f34687220f1bf1c2cd1cd03b0b"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"c5204255d311797a4f1cf3814b0d56b55d53570eee48a58da4b4cfd1445b2853bd1486c1925be7f199ebd0f6d280769113db57f34687220f1bf1c2cd1cd03b0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/7d8515ab14221d1f323305ac7afe8871a18fc28013b06d7d66f50d61521254827fe7dc720bf56a9fc96bfb98d39255790eaaa9f70631957dc483b207f24a6aa0.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/7d8515ab14221d1f323305ac7afe8871a18fc28013b06d7d66f50d61521254827fe7dc720bf56a9fc96bfb98d39255790eaaa9f70631957dc483b207f24a6aa0.targets.json
new file mode 100644
index 0000000..f20324d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/7d8515ab14221d1f323305ac7afe8871a18fc28013b06d7d66f50d61521254827fe7dc720bf56a9fc96bfb98d39255790eaaa9f70631957dc483b207f24a6aa0.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"b94a73d5ba8244c921722a8c9d3b79eb98944e8f3f5fc9abe60a3a60d6516f2413b61a2490d1d7920826da86881a6b23b09d7bf7f6c7ca581455b067d1489302"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"b94a73d5ba8244c921722a8c9d3b79eb98944e8f3f5fc9abe60a3a60d6516f2413b61a2490d1d7920826da86881a6b23b09d7bf7f6c7ca581455b067d1489302"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/b4f73e988f1e470f506d8da3200881d46a15f084eccdfb586f901afa79ae41bbc179ede544827302df899ef1743cda1536dac349923e9141a8a081224f35ba84.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/b4f73e988f1e470f506d8da3200881d46a15f084eccdfb586f901afa79ae41bbc179ede544827302df899ef1743cda1536dac349923e9141a8a081224f35ba84.snapshot.json
new file mode 100644
index 0000000..3bc3dd4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/b4f73e988f1e470f506d8da3200881d46a15f084eccdfb586f901afa79ae41bbc179ede544827302df899ef1743cda1536dac349923e9141a8a081224f35ba84.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1e7041326f64b3efde054d8848bab003cc6ef3475aa35b926b76b32cc3985889751d76df82b4fbaab5bd0e4bf15c44c64b6f63eace43ba57050d2262a84e77e9"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"2d44121ac08ea02193caae0cae7305fef3dd47c9641a8d263df0c4f768273625ff3931a3ee5e3ce6f4152024ad808f4e69d9f46db115b1d89dae0e4ac68e10e3"},"length":1261,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"9a0c0a32b89297514b732085ff43c78f3b90e4bddff8523b37a7e59d997a79442e35df70384abf37a6ef3d3f1687feeab0834c38f6df3dff00fa0d8c8a95b901"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"9a0c0a32b89297514b732085ff43c78f3b90e4bddff8523b37a7e59d997a79442e35df70384abf37a6ef3d3f1687feeab0834c38f6df3dff00fa0d8c8a95b901"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/ce04e7b8e486e3be3b4d47bb631f47d375cd7324ee127ba07ba6742dc9b5aa3f8045fd8caa47d7ab91aaae6bff4c33b52510010ad1eabd8e4a725d018975a831.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/ce04e7b8e486e3be3b4d47bb631f47d375cd7324ee127ba07ba6742dc9b5aa3f8045fd8caa47d7ab91aaae6bff4c33b52510010ad1eabd8e4a725d018975a831.targets.json
new file mode 100644
index 0000000..c20dada
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/ce04e7b8e486e3be3b4d47bb631f47d375cd7324ee127ba07ba6742dc9b5aa3f8045fd8caa47d7ab91aaae6bff4c33b52510010ad1eabd8e4a725d018975a831.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"bfd5212ba3ccce960f4baf8177db8cad9f9c3ab1900dd88714c7201f5cbb8763f9b45ad4a3d6821a5390358d087baaee35de5c645c278f8b3b694ec4e6a85e04"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"bfd5212ba3ccce960f4baf8177db8cad9f9c3ab1900dd88714c7201f5cbb8763f9b45ad4a3d6821a5390358d087baaee35de5c645c278f8b3b694ec4e6a85e04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/f3f28f2ebcb11cac54b058a4073b8c14edc9788ce8ad7616f5ed2e643bac610ce5154d93ba729863b5c59462c35f02d0b1f69f8d45f6d08f6b5a5bb773febb1e.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/f3f28f2ebcb11cac54b058a4073b8c14edc9788ce8ad7616f5ed2e643bac610ce5154d93ba729863b5c59462c35f02d0b1f69f8d45f6d08f6b5a5bb773febb1e.snapshot.json
new file mode 100644
index 0000000..c6b2871
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/f3f28f2ebcb11cac54b058a4073b8c14edc9788ce8ad7616f5ed2e643bac610ce5154d93ba729863b5c59462c35f02d0b1f69f8d45f6d08f6b5a5bb773febb1e.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"ce04e7b8e486e3be3b4d47bb631f47d375cd7324ee127ba07ba6742dc9b5aa3f8045fd8caa47d7ab91aaae6bff4c33b52510010ad1eabd8e4a725d018975a831"},"length":925,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"d6935de4642795a313ee9a0f2d09803912fb04d54e9e4d9a751ac31e9bb2c8082ca46fade1e9b4eb41092805952f00be58504551d3ed9fda81ab84107ee1280d"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"d6935de4642795a313ee9a0f2d09803912fb04d54e9e4d9a751ac31e9bb2c8082ca46fade1e9b4eb41092805952f00be58504551d3ed9fda81ab84107ee1280d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/f4ebc28452392bfd7a030a0bf218dcd9088e1c307f803d97bf38279797d0b86fbd34c1b07c08c96a1b1b0e7a24b1dbeef65f67e8d99bf5f226472d2d8aa58e1e.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/f4ebc28452392bfd7a030a0bf218dcd9088e1c307f803d97bf38279797d0b86fbd34c1b07c08c96a1b1b0e7a24b1dbeef65f67e8d99bf5f226472d2d8aa58e1e.snapshot.json
new file mode 100644
index 0000000..f1605fc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/f4ebc28452392bfd7a030a0bf218dcd9088e1c307f803d97bf38279797d0b86fbd34c1b07c08c96a1b1b0e7a24b1dbeef65f67e8d99bf5f226472d2d8aa58e1e.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a"},"length":757,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"98a311d29cca85d6f507a7961bce68887d96f084741b84c188dd00a184ee1510f1417eb19765b259726662f4eae9b7230b8cae06a537b9979ced242b8ad36f08"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"98a311d29cca85d6f507a7961bce68887d96f084741b84c188dd00a184ee1510f1417eb19765b259726662f4eae9b7230b8cae06a537b9979ced242b8ad36f08"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2.root.json
new file mode 100644
index 0000000..f28c50c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"1ad9ab4741af4dc2a0c6a89f2d0203252cf538721477626f191e0393b5d11a46":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"e79598031adb88549b888b0e9575bf0c9d11c9fd0c684935af01a7966cbe5087":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["e79598031adb88549b888b0e9575bf0c9d11c9fd0c684935af01a7966cbe5087","1ad9ab4741af4dc2a0c6a89f2d0203252cf538721477626f191e0393b5d11a46"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"8e9c42b3383d9ff1955a85549315a84abd8d9227e24b6fafa1b6d7e415a475db73c38c76662112a3fa5e9ee12cdbfe9efcde2cfdfa3eb9a68f7a1377cab1a908"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"8e9c42b3383d9ff1955a85549315a84abd8d9227e24b6fafa1b6d7e415a475db73c38c76662112a3fa5e9ee12cdbfe9efcde2cfdfa3eb9a68f7a1377cab1a908"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/root.json
new file mode 100644
index 0000000..cb012f5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09","e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"66fb595230927ab7f0c797603ff3a94f117f3c0ada82079266244f2899eba95255b4fe88146ba8ce169f0fbf57ac5105946d9849ab5bc16db8f3058d8f6af90c"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"66fb595230927ab7f0c797603ff3a94f117f3c0ada82079266244f2899eba95255b4fe88146ba8ce169f0fbf57ac5105946d9849ab5bc16db8f3058d8f6af90c"},{"keyid":"1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09","method":"ed25519","sig":"90972c8dbc963db5cfcbb8ee6f33a2d5f2c91e758b83a18d9e116f878aa70f0915a7ca54a55a6e3535f2a63ade983ea8c519849870ce994463a511d6dd6a9506"},{"keyid":"e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103","method":"ed25519","sig":"90972c8dbc963db5cfcbb8ee6f33a2d5f2c91e758b83a18d9e116f878aa70f0915a7ca54a55a6e3535f2a63ade983ea8c519849870ce994463a511d6dd6a9506"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/snapshot.json
new file mode 100644
index 0000000..3bc3dd4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1e7041326f64b3efde054d8848bab003cc6ef3475aa35b926b76b32cc3985889751d76df82b4fbaab5bd0e4bf15c44c64b6f63eace43ba57050d2262a84e77e9"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"2d44121ac08ea02193caae0cae7305fef3dd47c9641a8d263df0c4f768273625ff3931a3ee5e3ce6f4152024ad808f4e69d9f46db115b1d89dae0e4ac68e10e3"},"length":1261,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"9a0c0a32b89297514b732085ff43c78f3b90e4bddff8523b37a7e59d997a79442e35df70384abf37a6ef3d3f1687feeab0834c38f6df3dff00fa0d8c8a95b901"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"9a0c0a32b89297514b732085ff43c78f3b90e4bddff8523b37a7e59d997a79442e35df70384abf37a6ef3d3f1687feeab0834c38f6df3dff00fa0d8c8a95b901"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/targets.json
new file mode 100644
index 0000000..bee67af
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"8b92019c1a273f10e5afbb3fd19a1bcfea1bd802bdc50ea6a079ac8c64156a709e51856df983ab049436b5829614f57c874b06f3a3fcf282bc34e738db5bf70f"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"8b92019c1a273f10e5afbb3fd19a1bcfea1bd802bdc50ea6a079ac8c64156a709e51856df983ab049436b5829614f57c874b06f3a3fcf282bc34e738db5bf70f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/targets/0.0 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/targets/0.1 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/targets/0.2 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/targets/0.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/targets/0.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/targets/0.3 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/targets/0.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/targets/0.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/timestamp.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/timestamp.json
new file mode 100644
index 0000000..23fbda6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/3/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"b4f73e988f1e470f506d8da3200881d46a15f084eccdfb586f901afa79ae41bbc179ede544827302df899ef1743cda1536dac349923e9141a8a081224f35ba84"},"length":972,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","method":"ed25519","sig":"6b932d34a8d27799f510ab9755b984d78ebd59a0b12445f447c9cd68092cd65858acdb4da6e31f384b561ad3b1c41c8cfcd14ad1b81372c8061b08f19055f90b"},{"keyid":"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9","method":"ed25519","sig":"6b932d34a8d27799f510ab9755b984d78ebd59a0b12445f447c9cd68092cd65858acdb4da6e31f384b561ad3b1c41c8cfcd14ad1b81372c8061b08f19055f90b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/keys/root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/keys/root.json
new file mode 100644
index 0000000..e696adf
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/keys/root.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b","private":"80fcfabb133fd43fc4a70ba366d630cd9adab8c25f0bf4c19f877deea31640b86575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/keys/snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/keys/snapshot.json
new file mode 100644
index 0000000..00a5007
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/keys/snapshot.json
@@ -0,0 +1,27 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673",
+				"private": "29e4954e3568134ccf7c9a09c230f416272ef3149545fb7617ef9db774b3644fcc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "e4eb1953c9bbdc305289e05e36e241258c203f8e3f3c9cada3565b58ce43e90e",
+				"private": "9438d3c4b6b0bbf4ee91f6171ae662dc507abc2c88378287a3b20e33c2778cfde4eb1953c9bbdc305289e05e36e241258c203f8e3f3c9cada3565b58ce43e90e"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/keys/targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/keys/targets.json
new file mode 100644
index 0000000..07d6f63
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b",
+				"private": "52cd006dfcc00153ecdac01dd41cc150b04b9694f32c0ee347457f9fac71e656e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/keys/timestamp.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/keys/timestamp.json
new file mode 100644
index 0000000..4b1db26
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36","private":"b5a4d67174f6197fcb61c9b9014bed358967f9eac1fe7e4d6e461123ad2dea18cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/1.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/1.root.json
new file mode 100644
index 0000000..f28c50c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"1ad9ab4741af4dc2a0c6a89f2d0203252cf538721477626f191e0393b5d11a46":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"e79598031adb88549b888b0e9575bf0c9d11c9fd0c684935af01a7966cbe5087":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["e79598031adb88549b888b0e9575bf0c9d11c9fd0c684935af01a7966cbe5087","1ad9ab4741af4dc2a0c6a89f2d0203252cf538721477626f191e0393b5d11a46"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"8e9c42b3383d9ff1955a85549315a84abd8d9227e24b6fafa1b6d7e415a475db73c38c76662112a3fa5e9ee12cdbfe9efcde2cfdfa3eb9a68f7a1377cab1a908"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"8e9c42b3383d9ff1955a85549315a84abd8d9227e24b6fafa1b6d7e415a475db73c38c76662112a3fa5e9ee12cdbfe9efcde2cfdfa3eb9a68f7a1377cab1a908"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/1.snapshot.json
new file mode 100644
index 0000000..f1605fc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a"},"length":757,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"98a311d29cca85d6f507a7961bce68887d96f084741b84c188dd00a184ee1510f1417eb19765b259726662f4eae9b7230b8cae06a537b9979ced242b8ad36f08"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"98a311d29cca85d6f507a7961bce68887d96f084741b84c188dd00a184ee1510f1417eb19765b259726662f4eae9b7230b8cae06a537b9979ced242b8ad36f08"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/1.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/1.targets.json
new file mode 100644
index 0000000..315eb0e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"eab8ad9ef22bcf1fc0eb008b4dd02ff95828c4c392df7c9ae091eb7fcbca5afd62810bb53e2d8897e74797578885992839eb1b246642bf507b1b5b89af002c09"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"eab8ad9ef22bcf1fc0eb008b4dd02ff95828c4c392df7c9ae091eb7fcbca5afd62810bb53e2d8897e74797578885992839eb1b246642bf507b1b5b89af002c09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/1e7041326f64b3efde054d8848bab003cc6ef3475aa35b926b76b32cc3985889751d76df82b4fbaab5bd0e4bf15c44c64b6f63eace43ba57050d2262a84e77e9.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/1e7041326f64b3efde054d8848bab003cc6ef3475aa35b926b76b32cc3985889751d76df82b4fbaab5bd0e4bf15c44c64b6f63eace43ba57050d2262a84e77e9.root.json
new file mode 100644
index 0000000..cb012f5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/1e7041326f64b3efde054d8848bab003cc6ef3475aa35b926b76b32cc3985889751d76df82b4fbaab5bd0e4bf15c44c64b6f63eace43ba57050d2262a84e77e9.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09","e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"66fb595230927ab7f0c797603ff3a94f117f3c0ada82079266244f2899eba95255b4fe88146ba8ce169f0fbf57ac5105946d9849ab5bc16db8f3058d8f6af90c"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"66fb595230927ab7f0c797603ff3a94f117f3c0ada82079266244f2899eba95255b4fe88146ba8ce169f0fbf57ac5105946d9849ab5bc16db8f3058d8f6af90c"},{"keyid":"1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09","method":"ed25519","sig":"90972c8dbc963db5cfcbb8ee6f33a2d5f2c91e758b83a18d9e116f878aa70f0915a7ca54a55a6e3535f2a63ade983ea8c519849870ce994463a511d6dd6a9506"},{"keyid":"e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103","method":"ed25519","sig":"90972c8dbc963db5cfcbb8ee6f33a2d5f2c91e758b83a18d9e116f878aa70f0915a7ca54a55a6e3535f2a63ade983ea8c519849870ce994463a511d6dd6a9506"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/2.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/2.root.json
new file mode 100644
index 0000000..f4a3795
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"16b9e7597527ec237a8760a74626f29338c6a8f30aea63b33d0730416707dfda0130b6f5947a50064bc0138453e5422dac34eb8888957afcec5bb01345bd7e0a"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"16b9e7597527ec237a8760a74626f29338c6a8f30aea63b33d0730416707dfda0130b6f5947a50064bc0138453e5422dac34eb8888957afcec5bb01345bd7e0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/2.snapshot.json
new file mode 100644
index 0000000..c6b2871
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"ce04e7b8e486e3be3b4d47bb631f47d375cd7324ee127ba07ba6742dc9b5aa3f8045fd8caa47d7ab91aaae6bff4c33b52510010ad1eabd8e4a725d018975a831"},"length":925,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"d6935de4642795a313ee9a0f2d09803912fb04d54e9e4d9a751ac31e9bb2c8082ca46fade1e9b4eb41092805952f00be58504551d3ed9fda81ab84107ee1280d"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"d6935de4642795a313ee9a0f2d09803912fb04d54e9e4d9a751ac31e9bb2c8082ca46fade1e9b4eb41092805952f00be58504551d3ed9fda81ab84107ee1280d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/2.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/2.targets.json
new file mode 100644
index 0000000..c20dada
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/2.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"bfd5212ba3ccce960f4baf8177db8cad9f9c3ab1900dd88714c7201f5cbb8763f9b45ad4a3d6821a5390358d087baaee35de5c645c278f8b3b694ec4e6a85e04"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"bfd5212ba3ccce960f4baf8177db8cad9f9c3ab1900dd88714c7201f5cbb8763f9b45ad4a3d6821a5390358d087baaee35de5c645c278f8b3b694ec4e6a85e04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/2896129eb98095a5d757e49ce2e106a59bf54826a33c91f0ad5b074e87d51f7d54cc9419f7030e1163e62c654fa2c3a8c4aff72c8b4e3d973cf7e4940b464836.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/2896129eb98095a5d757e49ce2e106a59bf54826a33c91f0ad5b074e87d51f7d54cc9419f7030e1163e62c654fa2c3a8c4aff72c8b4e3d973cf7e4940b464836.targets.json
new file mode 100644
index 0000000..81ce2a1
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/2896129eb98095a5d757e49ce2e106a59bf54826a33c91f0ad5b074e87d51f7d54cc9419f7030e1163e62c654fa2c3a8c4aff72c8b4e3d973cf7e4940b464836.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"a84bbb322b237cc563bc1e1c8a679d67e2c5e51cc28271ecfc5f08a009ebca36d44d15c80862c78feeca94753041f8c4760da7774629daad8786040ecd5b2d05"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"a84bbb322b237cc563bc1e1c8a679d67e2c5e51cc28271ecfc5f08a009ebca36d44d15c80862c78feeca94753041f8c4760da7774629daad8786040ecd5b2d05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/2d44121ac08ea02193caae0cae7305fef3dd47c9641a8d263df0c4f768273625ff3931a3ee5e3ce6f4152024ad808f4e69d9f46db115b1d89dae0e4ac68e10e3.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/2d44121ac08ea02193caae0cae7305fef3dd47c9641a8d263df0c4f768273625ff3931a3ee5e3ce6f4152024ad808f4e69d9f46db115b1d89dae0e4ac68e10e3.targets.json
new file mode 100644
index 0000000..bee67af
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/2d44121ac08ea02193caae0cae7305fef3dd47c9641a8d263df0c4f768273625ff3931a3ee5e3ce6f4152024ad808f4e69d9f46db115b1d89dae0e4ac68e10e3.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"8b92019c1a273f10e5afbb3fd19a1bcfea1bd802bdc50ea6a079ac8c64156a709e51856df983ab049436b5829614f57c874b06f3a3fcf282bc34e738db5bf70f"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"8b92019c1a273f10e5afbb3fd19a1bcfea1bd802bdc50ea6a079ac8c64156a709e51856df983ab049436b5829614f57c874b06f3a3fcf282bc34e738db5bf70f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/3.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/3.root.json
new file mode 100644
index 0000000..cb012f5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/3.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09","e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"66fb595230927ab7f0c797603ff3a94f117f3c0ada82079266244f2899eba95255b4fe88146ba8ce169f0fbf57ac5105946d9849ab5bc16db8f3058d8f6af90c"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"66fb595230927ab7f0c797603ff3a94f117f3c0ada82079266244f2899eba95255b4fe88146ba8ce169f0fbf57ac5105946d9849ab5bc16db8f3058d8f6af90c"},{"keyid":"1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09","method":"ed25519","sig":"90972c8dbc963db5cfcbb8ee6f33a2d5f2c91e758b83a18d9e116f878aa70f0915a7ca54a55a6e3535f2a63ade983ea8c519849870ce994463a511d6dd6a9506"},{"keyid":"e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103","method":"ed25519","sig":"90972c8dbc963db5cfcbb8ee6f33a2d5f2c91e758b83a18d9e116f878aa70f0915a7ca54a55a6e3535f2a63ade983ea8c519849870ce994463a511d6dd6a9506"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/3.snapshot.json
new file mode 100644
index 0000000..4ef7b75
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"7d8515ab14221d1f323305ac7afe8871a18fc28013b06d7d66f50d61521254827fe7dc720bf56a9fc96bfb98d39255790eaaa9f70631957dc483b207f24a6aa0"},"length":1093,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"c5204255d311797a4f1cf3814b0d56b55d53570eee48a58da4b4cfd1445b2853bd1486c1925be7f199ebd0f6d280769113db57f34687220f1bf1c2cd1cd03b0b"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"c5204255d311797a4f1cf3814b0d56b55d53570eee48a58da4b4cfd1445b2853bd1486c1925be7f199ebd0f6d280769113db57f34687220f1bf1c2cd1cd03b0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/3.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/3.targets.json
new file mode 100644
index 0000000..f20324d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/3.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"b94a73d5ba8244c921722a8c9d3b79eb98944e8f3f5fc9abe60a3a60d6516f2413b61a2490d1d7920826da86881a6b23b09d7bf7f6c7ca581455b067d1489302"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"b94a73d5ba8244c921722a8c9d3b79eb98944e8f3f5fc9abe60a3a60d6516f2413b61a2490d1d7920826da86881a6b23b09d7bf7f6c7ca581455b067d1489302"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/38ab04d897b510bfb925447f3f7a6ba256b6bd93a9ed71c6c59cce2dd8929a46d616abac3ab6c070ade4a5f80f8cf7ce8443449cd3e352d3e43972eb1fadc1cc.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/38ab04d897b510bfb925447f3f7a6ba256b6bd93a9ed71c6c59cce2dd8929a46d616abac3ab6c070ade4a5f80f8cf7ce8443449cd3e352d3e43972eb1fadc1cc.snapshot.json
new file mode 100644
index 0000000..c3478ca
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/38ab04d897b510bfb925447f3f7a6ba256b6bd93a9ed71c6c59cce2dd8929a46d616abac3ab6c070ade4a5f80f8cf7ce8443449cd3e352d3e43972eb1fadc1cc.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"b4325dceae8fac9c6f8f49e065e942184ae5d2944af93644ed71fca0260d433469fd66002155561467a08e80891469f86a501a602005ee5128c5c4fb405a0007"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"2896129eb98095a5d757e49ce2e106a59bf54826a33c91f0ad5b074e87d51f7d54cc9419f7030e1163e62c654fa2c3a8c4aff72c8b4e3d973cf7e4940b464836"},"length":1429,"version":5}},"spec_version":"0.9","version":5},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"5b1b2b34b9320b980d5fe6e95a2ed27077684880120aa6f6a2e7b6875750f8c08d6cb8fa26de08d22d48270cbbfd1f1fa9b36a749cc722833cec2f066f38310d"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"5b1b2b34b9320b980d5fe6e95a2ed27077684880120aa6f6a2e7b6875750f8c08d6cb8fa26de08d22d48270cbbfd1f1fa9b36a749cc722833cec2f066f38310d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315.root.json
new file mode 100644
index 0000000..f4a3795
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"16b9e7597527ec237a8760a74626f29338c6a8f30aea63b33d0730416707dfda0130b6f5947a50064bc0138453e5422dac34eb8888957afcec5bb01345bd7e0a"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"16b9e7597527ec237a8760a74626f29338c6a8f30aea63b33d0730416707dfda0130b6f5947a50064bc0138453e5422dac34eb8888957afcec5bb01345bd7e0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/4.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/4.root.json
new file mode 100644
index 0000000..83c8dd9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/4.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09","e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9"],"threshold":1}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09","method":"ed25519","sig":"6ac55f782234b633730776169a6c7ea59f4481daec00e21b72184d81c560b27a9e8132f96d38623c1ed6f063dd9895228f702828330ca2e4a683f7dc7e727206"},{"keyid":"e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103","method":"ed25519","sig":"6ac55f782234b633730776169a6c7ea59f4481daec00e21b72184d81c560b27a9e8132f96d38623c1ed6f063dd9895228f702828330ca2e4a683f7dc7e727206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/4.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/4.snapshot.json
new file mode 100644
index 0000000..3bc3dd4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/4.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1e7041326f64b3efde054d8848bab003cc6ef3475aa35b926b76b32cc3985889751d76df82b4fbaab5bd0e4bf15c44c64b6f63eace43ba57050d2262a84e77e9"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"2d44121ac08ea02193caae0cae7305fef3dd47c9641a8d263df0c4f768273625ff3931a3ee5e3ce6f4152024ad808f4e69d9f46db115b1d89dae0e4ac68e10e3"},"length":1261,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"9a0c0a32b89297514b732085ff43c78f3b90e4bddff8523b37a7e59d997a79442e35df70384abf37a6ef3d3f1687feeab0834c38f6df3dff00fa0d8c8a95b901"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"9a0c0a32b89297514b732085ff43c78f3b90e4bddff8523b37a7e59d997a79442e35df70384abf37a6ef3d3f1687feeab0834c38f6df3dff00fa0d8c8a95b901"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/4.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/4.targets.json
new file mode 100644
index 0000000..bee67af
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/4.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"8b92019c1a273f10e5afbb3fd19a1bcfea1bd802bdc50ea6a079ac8c64156a709e51856df983ab049436b5829614f57c874b06f3a3fcf282bc34e738db5bf70f"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"8b92019c1a273f10e5afbb3fd19a1bcfea1bd802bdc50ea6a079ac8c64156a709e51856df983ab049436b5829614f57c874b06f3a3fcf282bc34e738db5bf70f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/5.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/5.snapshot.json
new file mode 100644
index 0000000..c3478ca
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/5.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"b4325dceae8fac9c6f8f49e065e942184ae5d2944af93644ed71fca0260d433469fd66002155561467a08e80891469f86a501a602005ee5128c5c4fb405a0007"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"2896129eb98095a5d757e49ce2e106a59bf54826a33c91f0ad5b074e87d51f7d54cc9419f7030e1163e62c654fa2c3a8c4aff72c8b4e3d973cf7e4940b464836"},"length":1429,"version":5}},"spec_version":"0.9","version":5},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"5b1b2b34b9320b980d5fe6e95a2ed27077684880120aa6f6a2e7b6875750f8c08d6cb8fa26de08d22d48270cbbfd1f1fa9b36a749cc722833cec2f066f38310d"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"5b1b2b34b9320b980d5fe6e95a2ed27077684880120aa6f6a2e7b6875750f8c08d6cb8fa26de08d22d48270cbbfd1f1fa9b36a749cc722833cec2f066f38310d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/5.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/5.targets.json
new file mode 100644
index 0000000..81ce2a1
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/5.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"a84bbb322b237cc563bc1e1c8a679d67e2c5e51cc28271ecfc5f08a009ebca36d44d15c80862c78feeca94753041f8c4760da7774629daad8786040ecd5b2d05"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"a84bbb322b237cc563bc1e1c8a679d67e2c5e51cc28271ecfc5f08a009ebca36d44d15c80862c78feeca94753041f8c4760da7774629daad8786040ecd5b2d05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a.targets.json
new file mode 100644
index 0000000..315eb0e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"eab8ad9ef22bcf1fc0eb008b4dd02ff95828c4c392df7c9ae091eb7fcbca5afd62810bb53e2d8897e74797578885992839eb1b246642bf507b1b5b89af002c09"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"eab8ad9ef22bcf1fc0eb008b4dd02ff95828c4c392df7c9ae091eb7fcbca5afd62810bb53e2d8897e74797578885992839eb1b246642bf507b1b5b89af002c09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/7bde98361f5689f412b33cd5495a2fab54d240f3a63cde4d012a9b2a28e0b3d2adecb83fa37a538588af0540a9411d3a278ff9b29794b79adae8828ee0d047d9.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/7bde98361f5689f412b33cd5495a2fab54d240f3a63cde4d012a9b2a28e0b3d2adecb83fa37a538588af0540a9411d3a278ff9b29794b79adae8828ee0d047d9.snapshot.json
new file mode 100644
index 0000000..4ef7b75
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/7bde98361f5689f412b33cd5495a2fab54d240f3a63cde4d012a9b2a28e0b3d2adecb83fa37a538588af0540a9411d3a278ff9b29794b79adae8828ee0d047d9.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"7d8515ab14221d1f323305ac7afe8871a18fc28013b06d7d66f50d61521254827fe7dc720bf56a9fc96bfb98d39255790eaaa9f70631957dc483b207f24a6aa0"},"length":1093,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"c5204255d311797a4f1cf3814b0d56b55d53570eee48a58da4b4cfd1445b2853bd1486c1925be7f199ebd0f6d280769113db57f34687220f1bf1c2cd1cd03b0b"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"c5204255d311797a4f1cf3814b0d56b55d53570eee48a58da4b4cfd1445b2853bd1486c1925be7f199ebd0f6d280769113db57f34687220f1bf1c2cd1cd03b0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/7d8515ab14221d1f323305ac7afe8871a18fc28013b06d7d66f50d61521254827fe7dc720bf56a9fc96bfb98d39255790eaaa9f70631957dc483b207f24a6aa0.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/7d8515ab14221d1f323305ac7afe8871a18fc28013b06d7d66f50d61521254827fe7dc720bf56a9fc96bfb98d39255790eaaa9f70631957dc483b207f24a6aa0.targets.json
new file mode 100644
index 0000000..f20324d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/7d8515ab14221d1f323305ac7afe8871a18fc28013b06d7d66f50d61521254827fe7dc720bf56a9fc96bfb98d39255790eaaa9f70631957dc483b207f24a6aa0.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"b94a73d5ba8244c921722a8c9d3b79eb98944e8f3f5fc9abe60a3a60d6516f2413b61a2490d1d7920826da86881a6b23b09d7bf7f6c7ca581455b067d1489302"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"b94a73d5ba8244c921722a8c9d3b79eb98944e8f3f5fc9abe60a3a60d6516f2413b61a2490d1d7920826da86881a6b23b09d7bf7f6c7ca581455b067d1489302"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/b4325dceae8fac9c6f8f49e065e942184ae5d2944af93644ed71fca0260d433469fd66002155561467a08e80891469f86a501a602005ee5128c5c4fb405a0007.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/b4325dceae8fac9c6f8f49e065e942184ae5d2944af93644ed71fca0260d433469fd66002155561467a08e80891469f86a501a602005ee5128c5c4fb405a0007.root.json
new file mode 100644
index 0000000..83c8dd9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/b4325dceae8fac9c6f8f49e065e942184ae5d2944af93644ed71fca0260d433469fd66002155561467a08e80891469f86a501a602005ee5128c5c4fb405a0007.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09","e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9"],"threshold":1}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09","method":"ed25519","sig":"6ac55f782234b633730776169a6c7ea59f4481daec00e21b72184d81c560b27a9e8132f96d38623c1ed6f063dd9895228f702828330ca2e4a683f7dc7e727206"},{"keyid":"e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103","method":"ed25519","sig":"6ac55f782234b633730776169a6c7ea59f4481daec00e21b72184d81c560b27a9e8132f96d38623c1ed6f063dd9895228f702828330ca2e4a683f7dc7e727206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/b4f73e988f1e470f506d8da3200881d46a15f084eccdfb586f901afa79ae41bbc179ede544827302df899ef1743cda1536dac349923e9141a8a081224f35ba84.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/b4f73e988f1e470f506d8da3200881d46a15f084eccdfb586f901afa79ae41bbc179ede544827302df899ef1743cda1536dac349923e9141a8a081224f35ba84.snapshot.json
new file mode 100644
index 0000000..3bc3dd4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/b4f73e988f1e470f506d8da3200881d46a15f084eccdfb586f901afa79ae41bbc179ede544827302df899ef1743cda1536dac349923e9141a8a081224f35ba84.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1e7041326f64b3efde054d8848bab003cc6ef3475aa35b926b76b32cc3985889751d76df82b4fbaab5bd0e4bf15c44c64b6f63eace43ba57050d2262a84e77e9"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"2d44121ac08ea02193caae0cae7305fef3dd47c9641a8d263df0c4f768273625ff3931a3ee5e3ce6f4152024ad808f4e69d9f46db115b1d89dae0e4ac68e10e3"},"length":1261,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"9a0c0a32b89297514b732085ff43c78f3b90e4bddff8523b37a7e59d997a79442e35df70384abf37a6ef3d3f1687feeab0834c38f6df3dff00fa0d8c8a95b901"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"9a0c0a32b89297514b732085ff43c78f3b90e4bddff8523b37a7e59d997a79442e35df70384abf37a6ef3d3f1687feeab0834c38f6df3dff00fa0d8c8a95b901"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/ce04e7b8e486e3be3b4d47bb631f47d375cd7324ee127ba07ba6742dc9b5aa3f8045fd8caa47d7ab91aaae6bff4c33b52510010ad1eabd8e4a725d018975a831.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/ce04e7b8e486e3be3b4d47bb631f47d375cd7324ee127ba07ba6742dc9b5aa3f8045fd8caa47d7ab91aaae6bff4c33b52510010ad1eabd8e4a725d018975a831.targets.json
new file mode 100644
index 0000000..c20dada
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/ce04e7b8e486e3be3b4d47bb631f47d375cd7324ee127ba07ba6742dc9b5aa3f8045fd8caa47d7ab91aaae6bff4c33b52510010ad1eabd8e4a725d018975a831.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"bfd5212ba3ccce960f4baf8177db8cad9f9c3ab1900dd88714c7201f5cbb8763f9b45ad4a3d6821a5390358d087baaee35de5c645c278f8b3b694ec4e6a85e04"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"bfd5212ba3ccce960f4baf8177db8cad9f9c3ab1900dd88714c7201f5cbb8763f9b45ad4a3d6821a5390358d087baaee35de5c645c278f8b3b694ec4e6a85e04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/f3f28f2ebcb11cac54b058a4073b8c14edc9788ce8ad7616f5ed2e643bac610ce5154d93ba729863b5c59462c35f02d0b1f69f8d45f6d08f6b5a5bb773febb1e.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/f3f28f2ebcb11cac54b058a4073b8c14edc9788ce8ad7616f5ed2e643bac610ce5154d93ba729863b5c59462c35f02d0b1f69f8d45f6d08f6b5a5bb773febb1e.snapshot.json
new file mode 100644
index 0000000..c6b2871
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/f3f28f2ebcb11cac54b058a4073b8c14edc9788ce8ad7616f5ed2e643bac610ce5154d93ba729863b5c59462c35f02d0b1f69f8d45f6d08f6b5a5bb773febb1e.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"ce04e7b8e486e3be3b4d47bb631f47d375cd7324ee127ba07ba6742dc9b5aa3f8045fd8caa47d7ab91aaae6bff4c33b52510010ad1eabd8e4a725d018975a831"},"length":925,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"d6935de4642795a313ee9a0f2d09803912fb04d54e9e4d9a751ac31e9bb2c8082ca46fade1e9b4eb41092805952f00be58504551d3ed9fda81ab84107ee1280d"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"d6935de4642795a313ee9a0f2d09803912fb04d54e9e4d9a751ac31e9bb2c8082ca46fade1e9b4eb41092805952f00be58504551d3ed9fda81ab84107ee1280d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/f4ebc28452392bfd7a030a0bf218dcd9088e1c307f803d97bf38279797d0b86fbd34c1b07c08c96a1b1b0e7a24b1dbeef65f67e8d99bf5f226472d2d8aa58e1e.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/f4ebc28452392bfd7a030a0bf218dcd9088e1c307f803d97bf38279797d0b86fbd34c1b07c08c96a1b1b0e7a24b1dbeef65f67e8d99bf5f226472d2d8aa58e1e.snapshot.json
new file mode 100644
index 0000000..f1605fc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/f4ebc28452392bfd7a030a0bf218dcd9088e1c307f803d97bf38279797d0b86fbd34c1b07c08c96a1b1b0e7a24b1dbeef65f67e8d99bf5f226472d2d8aa58e1e.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a"},"length":757,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"98a311d29cca85d6f507a7961bce68887d96f084741b84c188dd00a184ee1510f1417eb19765b259726662f4eae9b7230b8cae06a537b9979ced242b8ad36f08"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"98a311d29cca85d6f507a7961bce68887d96f084741b84c188dd00a184ee1510f1417eb19765b259726662f4eae9b7230b8cae06a537b9979ced242b8ad36f08"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2.root.json
new file mode 100644
index 0000000..f28c50c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"1ad9ab4741af4dc2a0c6a89f2d0203252cf538721477626f191e0393b5d11a46":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"e79598031adb88549b888b0e9575bf0c9d11c9fd0c684935af01a7966cbe5087":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["e79598031adb88549b888b0e9575bf0c9d11c9fd0c684935af01a7966cbe5087","1ad9ab4741af4dc2a0c6a89f2d0203252cf538721477626f191e0393b5d11a46"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"8e9c42b3383d9ff1955a85549315a84abd8d9227e24b6fafa1b6d7e415a475db73c38c76662112a3fa5e9ee12cdbfe9efcde2cfdfa3eb9a68f7a1377cab1a908"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"8e9c42b3383d9ff1955a85549315a84abd8d9227e24b6fafa1b6d7e415a475db73c38c76662112a3fa5e9ee12cdbfe9efcde2cfdfa3eb9a68f7a1377cab1a908"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/root.json
new file mode 100644
index 0000000..83c8dd9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09","e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9"],"threshold":1}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09","method":"ed25519","sig":"6ac55f782234b633730776169a6c7ea59f4481daec00e21b72184d81c560b27a9e8132f96d38623c1ed6f063dd9895228f702828330ca2e4a683f7dc7e727206"},{"keyid":"e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103","method":"ed25519","sig":"6ac55f782234b633730776169a6c7ea59f4481daec00e21b72184d81c560b27a9e8132f96d38623c1ed6f063dd9895228f702828330ca2e4a683f7dc7e727206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/snapshot.json
new file mode 100644
index 0000000..c3478ca
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"b4325dceae8fac9c6f8f49e065e942184ae5d2944af93644ed71fca0260d433469fd66002155561467a08e80891469f86a501a602005ee5128c5c4fb405a0007"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"2896129eb98095a5d757e49ce2e106a59bf54826a33c91f0ad5b074e87d51f7d54cc9419f7030e1163e62c654fa2c3a8c4aff72c8b4e3d973cf7e4940b464836"},"length":1429,"version":5}},"spec_version":"0.9","version":5},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"5b1b2b34b9320b980d5fe6e95a2ed27077684880120aa6f6a2e7b6875750f8c08d6cb8fa26de08d22d48270cbbfd1f1fa9b36a749cc722833cec2f066f38310d"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"5b1b2b34b9320b980d5fe6e95a2ed27077684880120aa6f6a2e7b6875750f8c08d6cb8fa26de08d22d48270cbbfd1f1fa9b36a749cc722833cec2f066f38310d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets.json
new file mode 100644
index 0000000..81ce2a1
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"a84bbb322b237cc563bc1e1c8a679d67e2c5e51cc28271ecfc5f08a009ebca36d44d15c80862c78feeca94753041f8c4760da7774629daad8786040ecd5b2d05"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"a84bbb322b237cc563bc1e1c8a679d67e2c5e51cc28271ecfc5f08a009ebca36d44d15c80862c78feeca94753041f8c4760da7774629daad8786040ecd5b2d05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/0.0 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/0.1 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/0.2 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/0.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/0.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/0.3 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/0.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/0.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/0.4 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/0.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/0.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/timestamp.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/timestamp.json
new file mode 100644
index 0000000..7f3eaf9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/4/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"38ab04d897b510bfb925447f3f7a6ba256b6bd93a9ed71c6c59cce2dd8929a46d616abac3ab6c070ade4a5f80f8cf7ce8443449cd3e352d3e43972eb1fadc1cc"},"length":972,"version":5}},"spec_version":"0.9","version":5},"signatures":[{"keyid":"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","method":"ed25519","sig":"679482acac47f08df75563fc7e10af65cd2d7549290494e4d821c5c76a5b90db080064f27b3eb1232bd676afd45dedb21db00a7adbaace19276f49ffde327009"},{"keyid":"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9","method":"ed25519","sig":"679482acac47f08df75563fc7e10af65cd2d7549290494e4d821c5c76a5b90db080064f27b3eb1232bd676afd45dedb21db00a7adbaace19276f49ffde327009"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/keys/root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/keys/root.json
new file mode 100644
index 0000000..e696adf
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/keys/root.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b","private":"80fcfabb133fd43fc4a70ba366d630cd9adab8c25f0bf4c19f877deea31640b86575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/keys/snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/keys/snapshot.json
new file mode 100644
index 0000000..00a5007
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/keys/snapshot.json
@@ -0,0 +1,27 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673",
+				"private": "29e4954e3568134ccf7c9a09c230f416272ef3149545fb7617ef9db774b3644fcc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "e4eb1953c9bbdc305289e05e36e241258c203f8e3f3c9cada3565b58ce43e90e",
+				"private": "9438d3c4b6b0bbf4ee91f6171ae662dc507abc2c88378287a3b20e33c2778cfde4eb1953c9bbdc305289e05e36e241258c203f8e3f3c9cada3565b58ce43e90e"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/keys/targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/keys/targets.json
new file mode 100644
index 0000000..07d6f63
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b",
+				"private": "52cd006dfcc00153ecdac01dd41cc150b04b9694f32c0ee347457f9fac71e656e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/keys/timestamp.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/keys/timestamp.json
new file mode 100644
index 0000000..4b1db26
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36","private":"b5a4d67174f6197fcb61c9b9014bed358967f9eac1fe7e4d6e461123ad2dea18cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/1.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/1.root.json
new file mode 100644
index 0000000..f28c50c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"1ad9ab4741af4dc2a0c6a89f2d0203252cf538721477626f191e0393b5d11a46":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"e79598031adb88549b888b0e9575bf0c9d11c9fd0c684935af01a7966cbe5087":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["e79598031adb88549b888b0e9575bf0c9d11c9fd0c684935af01a7966cbe5087","1ad9ab4741af4dc2a0c6a89f2d0203252cf538721477626f191e0393b5d11a46"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"8e9c42b3383d9ff1955a85549315a84abd8d9227e24b6fafa1b6d7e415a475db73c38c76662112a3fa5e9ee12cdbfe9efcde2cfdfa3eb9a68f7a1377cab1a908"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"8e9c42b3383d9ff1955a85549315a84abd8d9227e24b6fafa1b6d7e415a475db73c38c76662112a3fa5e9ee12cdbfe9efcde2cfdfa3eb9a68f7a1377cab1a908"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/1.snapshot.json
new file mode 100644
index 0000000..f1605fc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a"},"length":757,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"98a311d29cca85d6f507a7961bce68887d96f084741b84c188dd00a184ee1510f1417eb19765b259726662f4eae9b7230b8cae06a537b9979ced242b8ad36f08"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"98a311d29cca85d6f507a7961bce68887d96f084741b84c188dd00a184ee1510f1417eb19765b259726662f4eae9b7230b8cae06a537b9979ced242b8ad36f08"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/1.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/1.targets.json
new file mode 100644
index 0000000..315eb0e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"eab8ad9ef22bcf1fc0eb008b4dd02ff95828c4c392df7c9ae091eb7fcbca5afd62810bb53e2d8897e74797578885992839eb1b246642bf507b1b5b89af002c09"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"eab8ad9ef22bcf1fc0eb008b4dd02ff95828c4c392df7c9ae091eb7fcbca5afd62810bb53e2d8897e74797578885992839eb1b246642bf507b1b5b89af002c09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/1e7041326f64b3efde054d8848bab003cc6ef3475aa35b926b76b32cc3985889751d76df82b4fbaab5bd0e4bf15c44c64b6f63eace43ba57050d2262a84e77e9.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/1e7041326f64b3efde054d8848bab003cc6ef3475aa35b926b76b32cc3985889751d76df82b4fbaab5bd0e4bf15c44c64b6f63eace43ba57050d2262a84e77e9.root.json
new file mode 100644
index 0000000..cb012f5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/1e7041326f64b3efde054d8848bab003cc6ef3475aa35b926b76b32cc3985889751d76df82b4fbaab5bd0e4bf15c44c64b6f63eace43ba57050d2262a84e77e9.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09","e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"66fb595230927ab7f0c797603ff3a94f117f3c0ada82079266244f2899eba95255b4fe88146ba8ce169f0fbf57ac5105946d9849ab5bc16db8f3058d8f6af90c"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"66fb595230927ab7f0c797603ff3a94f117f3c0ada82079266244f2899eba95255b4fe88146ba8ce169f0fbf57ac5105946d9849ab5bc16db8f3058d8f6af90c"},{"keyid":"1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09","method":"ed25519","sig":"90972c8dbc963db5cfcbb8ee6f33a2d5f2c91e758b83a18d9e116f878aa70f0915a7ca54a55a6e3535f2a63ade983ea8c519849870ce994463a511d6dd6a9506"},{"keyid":"e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103","method":"ed25519","sig":"90972c8dbc963db5cfcbb8ee6f33a2d5f2c91e758b83a18d9e116f878aa70f0915a7ca54a55a6e3535f2a63ade983ea8c519849870ce994463a511d6dd6a9506"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/2.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/2.root.json
new file mode 100644
index 0000000..f4a3795
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"16b9e7597527ec237a8760a74626f29338c6a8f30aea63b33d0730416707dfda0130b6f5947a50064bc0138453e5422dac34eb8888957afcec5bb01345bd7e0a"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"16b9e7597527ec237a8760a74626f29338c6a8f30aea63b33d0730416707dfda0130b6f5947a50064bc0138453e5422dac34eb8888957afcec5bb01345bd7e0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/2.snapshot.json
new file mode 100644
index 0000000..c6b2871
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"ce04e7b8e486e3be3b4d47bb631f47d375cd7324ee127ba07ba6742dc9b5aa3f8045fd8caa47d7ab91aaae6bff4c33b52510010ad1eabd8e4a725d018975a831"},"length":925,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"d6935de4642795a313ee9a0f2d09803912fb04d54e9e4d9a751ac31e9bb2c8082ca46fade1e9b4eb41092805952f00be58504551d3ed9fda81ab84107ee1280d"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"d6935de4642795a313ee9a0f2d09803912fb04d54e9e4d9a751ac31e9bb2c8082ca46fade1e9b4eb41092805952f00be58504551d3ed9fda81ab84107ee1280d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/2.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/2.targets.json
new file mode 100644
index 0000000..c20dada
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/2.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"bfd5212ba3ccce960f4baf8177db8cad9f9c3ab1900dd88714c7201f5cbb8763f9b45ad4a3d6821a5390358d087baaee35de5c645c278f8b3b694ec4e6a85e04"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"bfd5212ba3ccce960f4baf8177db8cad9f9c3ab1900dd88714c7201f5cbb8763f9b45ad4a3d6821a5390358d087baaee35de5c645c278f8b3b694ec4e6a85e04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/2896129eb98095a5d757e49ce2e106a59bf54826a33c91f0ad5b074e87d51f7d54cc9419f7030e1163e62c654fa2c3a8c4aff72c8b4e3d973cf7e4940b464836.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/2896129eb98095a5d757e49ce2e106a59bf54826a33c91f0ad5b074e87d51f7d54cc9419f7030e1163e62c654fa2c3a8c4aff72c8b4e3d973cf7e4940b464836.targets.json
new file mode 100644
index 0000000..81ce2a1
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/2896129eb98095a5d757e49ce2e106a59bf54826a33c91f0ad5b074e87d51f7d54cc9419f7030e1163e62c654fa2c3a8c4aff72c8b4e3d973cf7e4940b464836.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"a84bbb322b237cc563bc1e1c8a679d67e2c5e51cc28271ecfc5f08a009ebca36d44d15c80862c78feeca94753041f8c4760da7774629daad8786040ecd5b2d05"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"a84bbb322b237cc563bc1e1c8a679d67e2c5e51cc28271ecfc5f08a009ebca36d44d15c80862c78feeca94753041f8c4760da7774629daad8786040ecd5b2d05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/2d44121ac08ea02193caae0cae7305fef3dd47c9641a8d263df0c4f768273625ff3931a3ee5e3ce6f4152024ad808f4e69d9f46db115b1d89dae0e4ac68e10e3.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/2d44121ac08ea02193caae0cae7305fef3dd47c9641a8d263df0c4f768273625ff3931a3ee5e3ce6f4152024ad808f4e69d9f46db115b1d89dae0e4ac68e10e3.targets.json
new file mode 100644
index 0000000..bee67af
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/2d44121ac08ea02193caae0cae7305fef3dd47c9641a8d263df0c4f768273625ff3931a3ee5e3ce6f4152024ad808f4e69d9f46db115b1d89dae0e4ac68e10e3.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"8b92019c1a273f10e5afbb3fd19a1bcfea1bd802bdc50ea6a079ac8c64156a709e51856df983ab049436b5829614f57c874b06f3a3fcf282bc34e738db5bf70f"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"8b92019c1a273f10e5afbb3fd19a1bcfea1bd802bdc50ea6a079ac8c64156a709e51856df983ab049436b5829614f57c874b06f3a3fcf282bc34e738db5bf70f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/3.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/3.root.json
new file mode 100644
index 0000000..cb012f5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/3.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09","e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"66fb595230927ab7f0c797603ff3a94f117f3c0ada82079266244f2899eba95255b4fe88146ba8ce169f0fbf57ac5105946d9849ab5bc16db8f3058d8f6af90c"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"66fb595230927ab7f0c797603ff3a94f117f3c0ada82079266244f2899eba95255b4fe88146ba8ce169f0fbf57ac5105946d9849ab5bc16db8f3058d8f6af90c"},{"keyid":"1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09","method":"ed25519","sig":"90972c8dbc963db5cfcbb8ee6f33a2d5f2c91e758b83a18d9e116f878aa70f0915a7ca54a55a6e3535f2a63ade983ea8c519849870ce994463a511d6dd6a9506"},{"keyid":"e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103","method":"ed25519","sig":"90972c8dbc963db5cfcbb8ee6f33a2d5f2c91e758b83a18d9e116f878aa70f0915a7ca54a55a6e3535f2a63ade983ea8c519849870ce994463a511d6dd6a9506"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/3.snapshot.json
new file mode 100644
index 0000000..4ef7b75
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"7d8515ab14221d1f323305ac7afe8871a18fc28013b06d7d66f50d61521254827fe7dc720bf56a9fc96bfb98d39255790eaaa9f70631957dc483b207f24a6aa0"},"length":1093,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"c5204255d311797a4f1cf3814b0d56b55d53570eee48a58da4b4cfd1445b2853bd1486c1925be7f199ebd0f6d280769113db57f34687220f1bf1c2cd1cd03b0b"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"c5204255d311797a4f1cf3814b0d56b55d53570eee48a58da4b4cfd1445b2853bd1486c1925be7f199ebd0f6d280769113db57f34687220f1bf1c2cd1cd03b0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/3.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/3.targets.json
new file mode 100644
index 0000000..f20324d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/3.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"b94a73d5ba8244c921722a8c9d3b79eb98944e8f3f5fc9abe60a3a60d6516f2413b61a2490d1d7920826da86881a6b23b09d7bf7f6c7ca581455b067d1489302"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"b94a73d5ba8244c921722a8c9d3b79eb98944e8f3f5fc9abe60a3a60d6516f2413b61a2490d1d7920826da86881a6b23b09d7bf7f6c7ca581455b067d1489302"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/38ab04d897b510bfb925447f3f7a6ba256b6bd93a9ed71c6c59cce2dd8929a46d616abac3ab6c070ade4a5f80f8cf7ce8443449cd3e352d3e43972eb1fadc1cc.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/38ab04d897b510bfb925447f3f7a6ba256b6bd93a9ed71c6c59cce2dd8929a46d616abac3ab6c070ade4a5f80f8cf7ce8443449cd3e352d3e43972eb1fadc1cc.snapshot.json
new file mode 100644
index 0000000..c3478ca
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/38ab04d897b510bfb925447f3f7a6ba256b6bd93a9ed71c6c59cce2dd8929a46d616abac3ab6c070ade4a5f80f8cf7ce8443449cd3e352d3e43972eb1fadc1cc.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"b4325dceae8fac9c6f8f49e065e942184ae5d2944af93644ed71fca0260d433469fd66002155561467a08e80891469f86a501a602005ee5128c5c4fb405a0007"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"2896129eb98095a5d757e49ce2e106a59bf54826a33c91f0ad5b074e87d51f7d54cc9419f7030e1163e62c654fa2c3a8c4aff72c8b4e3d973cf7e4940b464836"},"length":1429,"version":5}},"spec_version":"0.9","version":5},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"5b1b2b34b9320b980d5fe6e95a2ed27077684880120aa6f6a2e7b6875750f8c08d6cb8fa26de08d22d48270cbbfd1f1fa9b36a749cc722833cec2f066f38310d"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"5b1b2b34b9320b980d5fe6e95a2ed27077684880120aa6f6a2e7b6875750f8c08d6cb8fa26de08d22d48270cbbfd1f1fa9b36a749cc722833cec2f066f38310d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315.root.json
new file mode 100644
index 0000000..f4a3795
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"16b9e7597527ec237a8760a74626f29338c6a8f30aea63b33d0730416707dfda0130b6f5947a50064bc0138453e5422dac34eb8888957afcec5bb01345bd7e0a"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"16b9e7597527ec237a8760a74626f29338c6a8f30aea63b33d0730416707dfda0130b6f5947a50064bc0138453e5422dac34eb8888957afcec5bb01345bd7e0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/4.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/4.root.json
new file mode 100644
index 0000000..83c8dd9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/4.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09","e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9"],"threshold":1}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09","method":"ed25519","sig":"6ac55f782234b633730776169a6c7ea59f4481daec00e21b72184d81c560b27a9e8132f96d38623c1ed6f063dd9895228f702828330ca2e4a683f7dc7e727206"},{"keyid":"e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103","method":"ed25519","sig":"6ac55f782234b633730776169a6c7ea59f4481daec00e21b72184d81c560b27a9e8132f96d38623c1ed6f063dd9895228f702828330ca2e4a683f7dc7e727206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/4.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/4.snapshot.json
new file mode 100644
index 0000000..3bc3dd4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/4.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1e7041326f64b3efde054d8848bab003cc6ef3475aa35b926b76b32cc3985889751d76df82b4fbaab5bd0e4bf15c44c64b6f63eace43ba57050d2262a84e77e9"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"2d44121ac08ea02193caae0cae7305fef3dd47c9641a8d263df0c4f768273625ff3931a3ee5e3ce6f4152024ad808f4e69d9f46db115b1d89dae0e4ac68e10e3"},"length":1261,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"9a0c0a32b89297514b732085ff43c78f3b90e4bddff8523b37a7e59d997a79442e35df70384abf37a6ef3d3f1687feeab0834c38f6df3dff00fa0d8c8a95b901"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"9a0c0a32b89297514b732085ff43c78f3b90e4bddff8523b37a7e59d997a79442e35df70384abf37a6ef3d3f1687feeab0834c38f6df3dff00fa0d8c8a95b901"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/4.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/4.targets.json
new file mode 100644
index 0000000..bee67af
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/4.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"8b92019c1a273f10e5afbb3fd19a1bcfea1bd802bdc50ea6a079ac8c64156a709e51856df983ab049436b5829614f57c874b06f3a3fcf282bc34e738db5bf70f"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"8b92019c1a273f10e5afbb3fd19a1bcfea1bd802bdc50ea6a079ac8c64156a709e51856df983ab049436b5829614f57c874b06f3a3fcf282bc34e738db5bf70f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/5.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/5.snapshot.json
new file mode 100644
index 0000000..c3478ca
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/5.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"b4325dceae8fac9c6f8f49e065e942184ae5d2944af93644ed71fca0260d433469fd66002155561467a08e80891469f86a501a602005ee5128c5c4fb405a0007"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"2896129eb98095a5d757e49ce2e106a59bf54826a33c91f0ad5b074e87d51f7d54cc9419f7030e1163e62c654fa2c3a8c4aff72c8b4e3d973cf7e4940b464836"},"length":1429,"version":5}},"spec_version":"0.9","version":5},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"5b1b2b34b9320b980d5fe6e95a2ed27077684880120aa6f6a2e7b6875750f8c08d6cb8fa26de08d22d48270cbbfd1f1fa9b36a749cc722833cec2f066f38310d"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"5b1b2b34b9320b980d5fe6e95a2ed27077684880120aa6f6a2e7b6875750f8c08d6cb8fa26de08d22d48270cbbfd1f1fa9b36a749cc722833cec2f066f38310d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/5.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/5.targets.json
new file mode 100644
index 0000000..81ce2a1
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/5.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"a84bbb322b237cc563bc1e1c8a679d67e2c5e51cc28271ecfc5f08a009ebca36d44d15c80862c78feeca94753041f8c4760da7774629daad8786040ecd5b2d05"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"a84bbb322b237cc563bc1e1c8a679d67e2c5e51cc28271ecfc5f08a009ebca36d44d15c80862c78feeca94753041f8c4760da7774629daad8786040ecd5b2d05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/5aefda33b99783ed44e837b712dce7181754a47c1c0267eaebf12cdf86420ec70aae7c8265d773ecb9b47781723b77b6e2a38fecc3a5711e9d0353633fd0e86a.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/5aefda33b99783ed44e837b712dce7181754a47c1c0267eaebf12cdf86420ec70aae7c8265d773ecb9b47781723b77b6e2a38fecc3a5711e9d0353633fd0e86a.snapshot.json
new file mode 100644
index 0000000..461ccd8
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/5aefda33b99783ed44e837b712dce7181754a47c1c0267eaebf12cdf86420ec70aae7c8265d773ecb9b47781723b77b6e2a38fecc3a5711e9d0353633fd0e86a.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"b4325dceae8fac9c6f8f49e065e942184ae5d2944af93644ed71fca0260d433469fd66002155561467a08e80891469f86a501a602005ee5128c5c4fb405a0007"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"b22196de513fd0cf59e84e69ec00b27d4025b515a8ca77040a32cdbbd5311a7447cdbd818ba908b08b1dfc830da4300326bebe0f3e71414acbf62cc2c2f6c601"},"length":1597,"version":6}},"spec_version":"0.9","version":6},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"f709b9cc3991739d23d579a248f094f328787ca0ae9e99ee2b0f9c7b86d22f9c4724765092a39ec2ac05f6ec45281af700e1dc4bdc42223894e8694454aea40b"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"f709b9cc3991739d23d579a248f094f328787ca0ae9e99ee2b0f9c7b86d22f9c4724765092a39ec2ac05f6ec45281af700e1dc4bdc42223894e8694454aea40b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/6.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/6.snapshot.json
new file mode 100644
index 0000000..461ccd8
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/6.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"b4325dceae8fac9c6f8f49e065e942184ae5d2944af93644ed71fca0260d433469fd66002155561467a08e80891469f86a501a602005ee5128c5c4fb405a0007"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"b22196de513fd0cf59e84e69ec00b27d4025b515a8ca77040a32cdbbd5311a7447cdbd818ba908b08b1dfc830da4300326bebe0f3e71414acbf62cc2c2f6c601"},"length":1597,"version":6}},"spec_version":"0.9","version":6},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"f709b9cc3991739d23d579a248f094f328787ca0ae9e99ee2b0f9c7b86d22f9c4724765092a39ec2ac05f6ec45281af700e1dc4bdc42223894e8694454aea40b"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"f709b9cc3991739d23d579a248f094f328787ca0ae9e99ee2b0f9c7b86d22f9c4724765092a39ec2ac05f6ec45281af700e1dc4bdc42223894e8694454aea40b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/6.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/6.targets.json
new file mode 100644
index 0000000..28b84cb
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/6.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"30ce6b9a65fbb298cfdc91367b49452f174e765c8e92b99066e3ebd53c83cc8d466b73ed382ae07a4815c6a67ed183547855e36996c143e7d72934a0924fb205"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"30ce6b9a65fbb298cfdc91367b49452f174e765c8e92b99066e3ebd53c83cc8d466b73ed382ae07a4815c6a67ed183547855e36996c143e7d72934a0924fb205"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a.targets.json
new file mode 100644
index 0000000..315eb0e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"eab8ad9ef22bcf1fc0eb008b4dd02ff95828c4c392df7c9ae091eb7fcbca5afd62810bb53e2d8897e74797578885992839eb1b246642bf507b1b5b89af002c09"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"eab8ad9ef22bcf1fc0eb008b4dd02ff95828c4c392df7c9ae091eb7fcbca5afd62810bb53e2d8897e74797578885992839eb1b246642bf507b1b5b89af002c09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/7bde98361f5689f412b33cd5495a2fab54d240f3a63cde4d012a9b2a28e0b3d2adecb83fa37a538588af0540a9411d3a278ff9b29794b79adae8828ee0d047d9.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/7bde98361f5689f412b33cd5495a2fab54d240f3a63cde4d012a9b2a28e0b3d2adecb83fa37a538588af0540a9411d3a278ff9b29794b79adae8828ee0d047d9.snapshot.json
new file mode 100644
index 0000000..4ef7b75
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/7bde98361f5689f412b33cd5495a2fab54d240f3a63cde4d012a9b2a28e0b3d2adecb83fa37a538588af0540a9411d3a278ff9b29794b79adae8828ee0d047d9.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"7d8515ab14221d1f323305ac7afe8871a18fc28013b06d7d66f50d61521254827fe7dc720bf56a9fc96bfb98d39255790eaaa9f70631957dc483b207f24a6aa0"},"length":1093,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"c5204255d311797a4f1cf3814b0d56b55d53570eee48a58da4b4cfd1445b2853bd1486c1925be7f199ebd0f6d280769113db57f34687220f1bf1c2cd1cd03b0b"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"c5204255d311797a4f1cf3814b0d56b55d53570eee48a58da4b4cfd1445b2853bd1486c1925be7f199ebd0f6d280769113db57f34687220f1bf1c2cd1cd03b0b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/7d8515ab14221d1f323305ac7afe8871a18fc28013b06d7d66f50d61521254827fe7dc720bf56a9fc96bfb98d39255790eaaa9f70631957dc483b207f24a6aa0.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/7d8515ab14221d1f323305ac7afe8871a18fc28013b06d7d66f50d61521254827fe7dc720bf56a9fc96bfb98d39255790eaaa9f70631957dc483b207f24a6aa0.targets.json
new file mode 100644
index 0000000..f20324d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/7d8515ab14221d1f323305ac7afe8871a18fc28013b06d7d66f50d61521254827fe7dc720bf56a9fc96bfb98d39255790eaaa9f70631957dc483b207f24a6aa0.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"b94a73d5ba8244c921722a8c9d3b79eb98944e8f3f5fc9abe60a3a60d6516f2413b61a2490d1d7920826da86881a6b23b09d7bf7f6c7ca581455b067d1489302"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"b94a73d5ba8244c921722a8c9d3b79eb98944e8f3f5fc9abe60a3a60d6516f2413b61a2490d1d7920826da86881a6b23b09d7bf7f6c7ca581455b067d1489302"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/b22196de513fd0cf59e84e69ec00b27d4025b515a8ca77040a32cdbbd5311a7447cdbd818ba908b08b1dfc830da4300326bebe0f3e71414acbf62cc2c2f6c601.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/b22196de513fd0cf59e84e69ec00b27d4025b515a8ca77040a32cdbbd5311a7447cdbd818ba908b08b1dfc830da4300326bebe0f3e71414acbf62cc2c2f6c601.targets.json
new file mode 100644
index 0000000..28b84cb
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/b22196de513fd0cf59e84e69ec00b27d4025b515a8ca77040a32cdbbd5311a7447cdbd818ba908b08b1dfc830da4300326bebe0f3e71414acbf62cc2c2f6c601.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"30ce6b9a65fbb298cfdc91367b49452f174e765c8e92b99066e3ebd53c83cc8d466b73ed382ae07a4815c6a67ed183547855e36996c143e7d72934a0924fb205"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"30ce6b9a65fbb298cfdc91367b49452f174e765c8e92b99066e3ebd53c83cc8d466b73ed382ae07a4815c6a67ed183547855e36996c143e7d72934a0924fb205"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/b4325dceae8fac9c6f8f49e065e942184ae5d2944af93644ed71fca0260d433469fd66002155561467a08e80891469f86a501a602005ee5128c5c4fb405a0007.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/b4325dceae8fac9c6f8f49e065e942184ae5d2944af93644ed71fca0260d433469fd66002155561467a08e80891469f86a501a602005ee5128c5c4fb405a0007.root.json
new file mode 100644
index 0000000..83c8dd9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/b4325dceae8fac9c6f8f49e065e942184ae5d2944af93644ed71fca0260d433469fd66002155561467a08e80891469f86a501a602005ee5128c5c4fb405a0007.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09","e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9"],"threshold":1}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09","method":"ed25519","sig":"6ac55f782234b633730776169a6c7ea59f4481daec00e21b72184d81c560b27a9e8132f96d38623c1ed6f063dd9895228f702828330ca2e4a683f7dc7e727206"},{"keyid":"e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103","method":"ed25519","sig":"6ac55f782234b633730776169a6c7ea59f4481daec00e21b72184d81c560b27a9e8132f96d38623c1ed6f063dd9895228f702828330ca2e4a683f7dc7e727206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/b4f73e988f1e470f506d8da3200881d46a15f084eccdfb586f901afa79ae41bbc179ede544827302df899ef1743cda1536dac349923e9141a8a081224f35ba84.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/b4f73e988f1e470f506d8da3200881d46a15f084eccdfb586f901afa79ae41bbc179ede544827302df899ef1743cda1536dac349923e9141a8a081224f35ba84.snapshot.json
new file mode 100644
index 0000000..3bc3dd4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/b4f73e988f1e470f506d8da3200881d46a15f084eccdfb586f901afa79ae41bbc179ede544827302df899ef1743cda1536dac349923e9141a8a081224f35ba84.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"1e7041326f64b3efde054d8848bab003cc6ef3475aa35b926b76b32cc3985889751d76df82b4fbaab5bd0e4bf15c44c64b6f63eace43ba57050d2262a84e77e9"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"2d44121ac08ea02193caae0cae7305fef3dd47c9641a8d263df0c4f768273625ff3931a3ee5e3ce6f4152024ad808f4e69d9f46db115b1d89dae0e4ac68e10e3"},"length":1261,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"9a0c0a32b89297514b732085ff43c78f3b90e4bddff8523b37a7e59d997a79442e35df70384abf37a6ef3d3f1687feeab0834c38f6df3dff00fa0d8c8a95b901"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"9a0c0a32b89297514b732085ff43c78f3b90e4bddff8523b37a7e59d997a79442e35df70384abf37a6ef3d3f1687feeab0834c38f6df3dff00fa0d8c8a95b901"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/ce04e7b8e486e3be3b4d47bb631f47d375cd7324ee127ba07ba6742dc9b5aa3f8045fd8caa47d7ab91aaae6bff4c33b52510010ad1eabd8e4a725d018975a831.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/ce04e7b8e486e3be3b4d47bb631f47d375cd7324ee127ba07ba6742dc9b5aa3f8045fd8caa47d7ab91aaae6bff4c33b52510010ad1eabd8e4a725d018975a831.targets.json
new file mode 100644
index 0000000..c20dada
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/ce04e7b8e486e3be3b4d47bb631f47d375cd7324ee127ba07ba6742dc9b5aa3f8045fd8caa47d7ab91aaae6bff4c33b52510010ad1eabd8e4a725d018975a831.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"bfd5212ba3ccce960f4baf8177db8cad9f9c3ab1900dd88714c7201f5cbb8763f9b45ad4a3d6821a5390358d087baaee35de5c645c278f8b3b694ec4e6a85e04"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"bfd5212ba3ccce960f4baf8177db8cad9f9c3ab1900dd88714c7201f5cbb8763f9b45ad4a3d6821a5390358d087baaee35de5c645c278f8b3b694ec4e6a85e04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/f3f28f2ebcb11cac54b058a4073b8c14edc9788ce8ad7616f5ed2e643bac610ce5154d93ba729863b5c59462c35f02d0b1f69f8d45f6d08f6b5a5bb773febb1e.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/f3f28f2ebcb11cac54b058a4073b8c14edc9788ce8ad7616f5ed2e643bac610ce5154d93ba729863b5c59462c35f02d0b1f69f8d45f6d08f6b5a5bb773febb1e.snapshot.json
new file mode 100644
index 0000000..c6b2871
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/f3f28f2ebcb11cac54b058a4073b8c14edc9788ce8ad7616f5ed2e643bac610ce5154d93ba729863b5c59462c35f02d0b1f69f8d45f6d08f6b5a5bb773febb1e.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3965bf749052f32b133d5627f462b75cbfc1ea87100e73d505a7f0486d11f8628cc4247b8d24b9c0cd2633d81be0efb351346d1c05bc14901ddee181ca5b9315"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"ce04e7b8e486e3be3b4d47bb631f47d375cd7324ee127ba07ba6742dc9b5aa3f8045fd8caa47d7ab91aaae6bff4c33b52510010ad1eabd8e4a725d018975a831"},"length":925,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"d6935de4642795a313ee9a0f2d09803912fb04d54e9e4d9a751ac31e9bb2c8082ca46fade1e9b4eb41092805952f00be58504551d3ed9fda81ab84107ee1280d"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"d6935de4642795a313ee9a0f2d09803912fb04d54e9e4d9a751ac31e9bb2c8082ca46fade1e9b4eb41092805952f00be58504551d3ed9fda81ab84107ee1280d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/f4ebc28452392bfd7a030a0bf218dcd9088e1c307f803d97bf38279797d0b86fbd34c1b07c08c96a1b1b0e7a24b1dbeef65f67e8d99bf5f226472d2d8aa58e1e.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/f4ebc28452392bfd7a030a0bf218dcd9088e1c307f803d97bf38279797d0b86fbd34c1b07c08c96a1b1b0e7a24b1dbeef65f67e8d99bf5f226472d2d8aa58e1e.snapshot.json
new file mode 100644
index 0000000..f1605fc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/f4ebc28452392bfd7a030a0bf218dcd9088e1c307f803d97bf38279797d0b86fbd34c1b07c08c96a1b1b0e7a24b1dbeef65f67e8d99bf5f226472d2d8aa58e1e.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"69ee6cddcfa18220118b5bbdda26d3a0a622ff5733ba48b705681dfe13c12efdfd9d51be17d26fe28d0c444aa7b4841150258779ffbba8fcac13b11754d3115a"},"length":757,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"98a311d29cca85d6f507a7961bce68887d96f084741b84c188dd00a184ee1510f1417eb19765b259726662f4eae9b7230b8cae06a537b9979ced242b8ad36f08"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"98a311d29cca85d6f507a7961bce68887d96f084741b84c188dd00a184ee1510f1417eb19765b259726662f4eae9b7230b8cae06a537b9979ced242b8ad36f08"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2.root.json
new file mode 100644
index 0000000..f28c50c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/f65900e1cd32b68d84751fd359c4103ddbf486c05588a20d536be0358ee0de8ad9a66c6e3ba2de3699d17377fac9404b0e3c6fdf1d9f90cb97253eb969b330e2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"1ad9ab4741af4dc2a0c6a89f2d0203252cf538721477626f191e0393b5d11a46":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8d45173648fb04703c579ebf99239e2b55f27b083920b5eae9c0abc62b9809c1"},"scheme":"ed25519"},"e79598031adb88549b888b0e9575bf0c9d11c9fd0c684935af01a7966cbe5087":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e99184277fce6f7f3643c08d6724e759ef210266edc712ce241d2369e713cd70"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["e79598031adb88549b888b0e9575bf0c9d11c9fd0c684935af01a7966cbe5087","1ad9ab4741af4dc2a0c6a89f2d0203252cf538721477626f191e0393b5d11a46"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"071c993a90da87a0541b0a3c1c0d32eee54108834ebf156e64a2040a8081bf3f","method":"ed25519","sig":"8e9c42b3383d9ff1955a85549315a84abd8d9227e24b6fafa1b6d7e415a475db73c38c76662112a3fa5e9ee12cdbfe9efcde2cfdfa3eb9a68f7a1377cab1a908"},{"keyid":"b7aa8a0de9a5c7b12b5c5822ffd592167fb29732041edd1e1a88ba1aba1a0287","method":"ed25519","sig":"8e9c42b3383d9ff1955a85549315a84abd8d9227e24b6fafa1b6d7e415a475db73c38c76662112a3fa5e9ee12cdbfe9efcde2cfdfa3eb9a68f7a1377cab1a908"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/root.json
new file mode 100644
index 0000000..83c8dd9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"},"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"},"scheme":"ed25519"},"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cf32848c91d8f8c77d4cae4d3b12d3b935fea968b90b4fd5081b0d859e028a36"},"scheme":"ed25519"},"e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6575a6287146fc34b0f81c4e368349aad50a9c2d897bddff184c87d114b8d26b"},"scheme":"ed25519"},"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e20fb5c638f89a95eb761733b178cb31d5ec8d8cbf254b198df0051d05debd2b"},"scheme":"ed25519"},"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"cc9f68e5994b339180d641b3d524459bd124ade3fe4c3ea954f5d2d1dd3ac673"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09","e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103"],"threshold":1},"snapshot":{"keyids":["ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43"],"threshold":1},"targets":{"keyids":["f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a"],"threshold":1},"timestamp":{"keyids":["a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9"],"threshold":1}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"1d996ae563c6e6500546017e2398c95677efe4c5b88f16a5d383d8fb164adc09","method":"ed25519","sig":"6ac55f782234b633730776169a6c7ea59f4481daec00e21b72184d81c560b27a9e8132f96d38623c1ed6f063dd9895228f702828330ca2e4a683f7dc7e727206"},{"keyid":"e5047f3b09708c447684991cbc2cc7d310f6f43ab5341e6f27b9c775d2880103","method":"ed25519","sig":"6ac55f782234b633730776169a6c7ea59f4481daec00e21b72184d81c560b27a9e8132f96d38623c1ed6f063dd9895228f702828330ca2e4a683f7dc7e727206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/snapshot.json
new file mode 100644
index 0000000..461ccd8
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"b4325dceae8fac9c6f8f49e065e942184ae5d2944af93644ed71fca0260d433469fd66002155561467a08e80891469f86a501a602005ee5128c5c4fb405a0007"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"b22196de513fd0cf59e84e69ec00b27d4025b515a8ca77040a32cdbbd5311a7447cdbd818ba908b08b1dfc830da4300326bebe0f3e71414acbf62cc2c2f6c601"},"length":1597,"version":6}},"spec_version":"0.9","version":6},"signatures":[{"keyid":"ff7d0d136270af6874bfc743338ac884c8bdcc5dc468b3136e956373ae572968","method":"ed25519","sig":"f709b9cc3991739d23d579a248f094f328787ca0ae9e99ee2b0f9c7b86d22f9c4724765092a39ec2ac05f6ec45281af700e1dc4bdc42223894e8694454aea40b"},{"keyid":"0a44ac2d22ab08a1c991a3d0f327f468826eceebf947c6cf6d7a4800adb4ea43","method":"ed25519","sig":"f709b9cc3991739d23d579a248f094f328787ca0ae9e99ee2b0f9c7b86d22f9c4724765092a39ec2ac05f6ec45281af700e1dc4bdc42223894e8694454aea40b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets.json
new file mode 100644
index 0000000..28b84cb
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"f1ee3fc0f4ca406708dcce0d014f26a1dbf9b7cabf4190f27d00437df3694ea4","method":"ed25519","sig":"30ce6b9a65fbb298cfdc91367b49452f174e765c8e92b99066e3ebd53c83cc8d466b73ed382ae07a4815c6a67ed183547855e36996c143e7d72934a0924fb205"},{"keyid":"89333abaa2f517e5c50331734387d787f56748dce5ced7d258d1654cf3b9c05a","method":"ed25519","sig":"30ce6b9a65fbb298cfdc91367b49452f174e765c8e92b99066e3ebd53c83cc8d466b73ed382ae07a4815c6a67ed183547855e36996c143e7d72934a0924fb205"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/0.0 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/0.1 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/0.2 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/0.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/0.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/0.3 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/0.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/0.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/0.4 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/0.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/0.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/0.5 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/0.5
new file mode 100644
index 0000000..7813681
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/0.5
@@ -0,0 +1 @@
+5
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5
new file mode 100644
index 0000000..7813681
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5
@@ -0,0 +1 @@
+5
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/timestamp.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/timestamp.json
new file mode 100644
index 0000000..f2cb70e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-false/5/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"5aefda33b99783ed44e837b712dce7181754a47c1c0267eaebf12cdf86420ec70aae7c8265d773ecb9b47781723b77b6e2a38fecc3a5711e9d0353633fd0e86a"},"length":972,"version":6}},"spec_version":"0.9","version":6},"signatures":[{"keyid":"a4061d7d44d765344de75a826a84f01333e8919b2824a8c6702ab02c952885a1","method":"ed25519","sig":"9bde82270e9dbe48b9e46e1eb60a712e14352087cc6dd6649edb0925a03d541bf4c269b98d03b015554abb81942347c9f454b8a01f00aa8dbd88df4a1358d709"},{"keyid":"0aecaabfe8ca167a0ecf0ade3306ebaacfd9a0c65e7dd59dd4feffb5215132b9","method":"ed25519","sig":"9bde82270e9dbe48b9e46e1eb60a712e14352087cc6dd6649edb0925a03d541bf4c269b98d03b015554abb81942347c9f454b8a01f00aa8dbd88df4a1358d709"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/keys/root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/keys/root.json
new file mode 100644
index 0000000..9063266
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/keys/root.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa",
+				"private": "4718fb6f8cf4fb4dc77278a0935eb392619bef98a220d14919e6ae2b41608ba0db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/keys/snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/keys/snapshot.json
new file mode 100644
index 0000000..9bab9e4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/keys/snapshot.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b",
+				"private": "f4ee327862ce91e6b356800d08431c0efce31868d8b0f834412881608c47fd23019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/keys/targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/keys/targets.json
new file mode 100644
index 0000000..cdd224d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303",
+				"private": "1def3d784ee8972a19e925e05ea7f6e5ea085adb39843e82fc5f3c76568197d3ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/keys/timestamp.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/keys/timestamp.json
new file mode 100644
index 0000000..85a2af5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/keys/timestamp.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22",
+				"private": "e49ebbdba5d15ac39a50605330e62f56edfee3b700b9fc754a905fbb7ff70240c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/1.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/1.root.json
new file mode 100644
index 0000000..a9bdcc2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7308153832f8e3c418f7be211722c6ef45e3974e7cfda2828f0006750624e169":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"},"scheme":"ed25519"},"744e1dd9d9fdfe7d8b3322e2dcf567c5c1f9b8910976006155d6204697566597":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["7308153832f8e3c418f7be211722c6ef45e3974e7cfda2828f0006750624e169","744e1dd9d9fdfe7d8b3322e2dcf567c5c1f9b8910976006155d6204697566597"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"c98c86e7b57a5c446fce0f7b305b52817211cb809a9ef03c955a471814358f47339c6ea53cc912c86a81f3b3752f9647ff5915c2ec8d85b61fe13567e250aa0a"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"c98c86e7b57a5c446fce0f7b305b52817211cb809a9ef03c955a471814358f47339c6ea53cc912c86a81f3b3752f9647ff5915c2ec8d85b61fe13567e250aa0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/1.snapshot.json
new file mode 100644
index 0000000..5c0ca32
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98"},"length":757,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"f4f5e45a9dfcb45afc52f5e2b39189f7d83f565999dd73a3db576352b87eb8844076774656da2a78b5017723b79fd7d9e254b4c04a45f2f298bf889df00ae00f"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"f4f5e45a9dfcb45afc52f5e2b39189f7d83f565999dd73a3db576352b87eb8844076774656da2a78b5017723b79fd7d9e254b4c04a45f2f298bf889df00ae00f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/1.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/1.targets.json
new file mode 100644
index 0000000..292ec25
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"b23617412b30d0d7b5ef1a9002b0bf805f6fe4303c54289b55906ec333ddc265aafd06c605806f2fa95675254334b9c19a93c6f05c3e8e6f575c35c7180b1e03"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"b23617412b30d0d7b5ef1a9002b0bf805f6fe4303c54289b55906ec333ddc265aafd06c605806f2fa95675254334b9c19a93c6f05c3e8e6f575c35c7180b1e03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10.root.json
new file mode 100644
index 0000000..a9bdcc2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7308153832f8e3c418f7be211722c6ef45e3974e7cfda2828f0006750624e169":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"},"scheme":"ed25519"},"744e1dd9d9fdfe7d8b3322e2dcf567c5c1f9b8910976006155d6204697566597":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["7308153832f8e3c418f7be211722c6ef45e3974e7cfda2828f0006750624e169","744e1dd9d9fdfe7d8b3322e2dcf567c5c1f9b8910976006155d6204697566597"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"c98c86e7b57a5c446fce0f7b305b52817211cb809a9ef03c955a471814358f47339c6ea53cc912c86a81f3b3752f9647ff5915c2ec8d85b61fe13567e250aa0a"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"c98c86e7b57a5c446fce0f7b305b52817211cb809a9ef03c955a471814358f47339c6ea53cc912c86a81f3b3752f9647ff5915c2ec8d85b61fe13567e250aa0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98.targets.json
new file mode 100644
index 0000000..292ec25
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"b23617412b30d0d7b5ef1a9002b0bf805f6fe4303c54289b55906ec333ddc265aafd06c605806f2fa95675254334b9c19a93c6f05c3e8e6f575c35c7180b1e03"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"b23617412b30d0d7b5ef1a9002b0bf805f6fe4303c54289b55906ec333ddc265aafd06c605806f2fa95675254334b9c19a93c6f05c3e8e6f575c35c7180b1e03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/f8db89127357df9e92122c0b0b64fa533d6d2d607386f2674a3a294bc7fd651d64263272597925ca8a4c6c4adf82b7c2022b1fb790adcf823ced37d068053195.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/f8db89127357df9e92122c0b0b64fa533d6d2d607386f2674a3a294bc7fd651d64263272597925ca8a4c6c4adf82b7c2022b1fb790adcf823ced37d068053195.snapshot.json
new file mode 100644
index 0000000..5c0ca32
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/f8db89127357df9e92122c0b0b64fa533d6d2d607386f2674a3a294bc7fd651d64263272597925ca8a4c6c4adf82b7c2022b1fb790adcf823ced37d068053195.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98"},"length":757,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"f4f5e45a9dfcb45afc52f5e2b39189f7d83f565999dd73a3db576352b87eb8844076774656da2a78b5017723b79fd7d9e254b4c04a45f2f298bf889df00ae00f"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"f4f5e45a9dfcb45afc52f5e2b39189f7d83f565999dd73a3db576352b87eb8844076774656da2a78b5017723b79fd7d9e254b4c04a45f2f298bf889df00ae00f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/root.json
new file mode 100644
index 0000000..a9bdcc2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7308153832f8e3c418f7be211722c6ef45e3974e7cfda2828f0006750624e169":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"},"scheme":"ed25519"},"744e1dd9d9fdfe7d8b3322e2dcf567c5c1f9b8910976006155d6204697566597":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["7308153832f8e3c418f7be211722c6ef45e3974e7cfda2828f0006750624e169","744e1dd9d9fdfe7d8b3322e2dcf567c5c1f9b8910976006155d6204697566597"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"c98c86e7b57a5c446fce0f7b305b52817211cb809a9ef03c955a471814358f47339c6ea53cc912c86a81f3b3752f9647ff5915c2ec8d85b61fe13567e250aa0a"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"c98c86e7b57a5c446fce0f7b305b52817211cb809a9ef03c955a471814358f47339c6ea53cc912c86a81f3b3752f9647ff5915c2ec8d85b61fe13567e250aa0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/snapshot.json
new file mode 100644
index 0000000..5c0ca32
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98"},"length":757,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"f4f5e45a9dfcb45afc52f5e2b39189f7d83f565999dd73a3db576352b87eb8844076774656da2a78b5017723b79fd7d9e254b4c04a45f2f298bf889df00ae00f"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"f4f5e45a9dfcb45afc52f5e2b39189f7d83f565999dd73a3db576352b87eb8844076774656da2a78b5017723b79fd7d9e254b4c04a45f2f298bf889df00ae00f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/targets.json
new file mode 100644
index 0000000..292ec25
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"b23617412b30d0d7b5ef1a9002b0bf805f6fe4303c54289b55906ec333ddc265aafd06c605806f2fa95675254334b9c19a93c6f05c3e8e6f575c35c7180b1e03"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"b23617412b30d0d7b5ef1a9002b0bf805f6fe4303c54289b55906ec333ddc265aafd06c605806f2fa95675254334b9c19a93c6f05c3e8e6f575c35c7180b1e03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/targets/0.0 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/timestamp.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/timestamp.json
new file mode 100644
index 0000000..4a9186a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/0/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"f8db89127357df9e92122c0b0b64fa533d6d2d607386f2674a3a294bc7fd651d64263272597925ca8a4c6c4adf82b7c2022b1fb790adcf823ced37d068053195"},"length":971,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"7308153832f8e3c418f7be211722c6ef45e3974e7cfda2828f0006750624e169","method":"ed25519","sig":"a8d760eafab0a3fba1fa6bf1b320c424f701bc7435236b15ea45cf527606a41d64724ef3a8fdba3f674d9249d35e6605dcc1eb7bc540548d2839d82214b5e70c"},{"keyid":"744e1dd9d9fdfe7d8b3322e2dcf567c5c1f9b8910976006155d6204697566597","method":"ed25519","sig":"a8d760eafab0a3fba1fa6bf1b320c424f701bc7435236b15ea45cf527606a41d64724ef3a8fdba3f674d9249d35e6605dcc1eb7bc540548d2839d82214b5e70c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/keys/root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/keys/root.json
new file mode 100644
index 0000000..9063266
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/keys/root.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa",
+				"private": "4718fb6f8cf4fb4dc77278a0935eb392619bef98a220d14919e6ae2b41608ba0db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/keys/snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/keys/snapshot.json
new file mode 100644
index 0000000..9bab9e4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/keys/snapshot.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b",
+				"private": "f4ee327862ce91e6b356800d08431c0efce31868d8b0f834412881608c47fd23019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/keys/targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/keys/targets.json
new file mode 100644
index 0000000..cdd224d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303",
+				"private": "1def3d784ee8972a19e925e05ea7f6e5ea085adb39843e82fc5f3c76568197d3ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/keys/timestamp.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/keys/timestamp.json
new file mode 100644
index 0000000..3dc4ca5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/keys/timestamp.json
@@ -0,0 +1,27 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22",
+				"private": "e49ebbdba5d15ac39a50605330e62f56edfee3b700b9fc754a905fbb7ff70240c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9",
+				"private": "cbe74fdca225bf802177d183390d26dcdf2e5d0234cf5bec6aff43cec2066e37ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/1.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/1.root.json
new file mode 100644
index 0000000..a9bdcc2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7308153832f8e3c418f7be211722c6ef45e3974e7cfda2828f0006750624e169":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"},"scheme":"ed25519"},"744e1dd9d9fdfe7d8b3322e2dcf567c5c1f9b8910976006155d6204697566597":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["7308153832f8e3c418f7be211722c6ef45e3974e7cfda2828f0006750624e169","744e1dd9d9fdfe7d8b3322e2dcf567c5c1f9b8910976006155d6204697566597"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"c98c86e7b57a5c446fce0f7b305b52817211cb809a9ef03c955a471814358f47339c6ea53cc912c86a81f3b3752f9647ff5915c2ec8d85b61fe13567e250aa0a"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"c98c86e7b57a5c446fce0f7b305b52817211cb809a9ef03c955a471814358f47339c6ea53cc912c86a81f3b3752f9647ff5915c2ec8d85b61fe13567e250aa0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/1.snapshot.json
new file mode 100644
index 0000000..5c0ca32
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98"},"length":757,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"f4f5e45a9dfcb45afc52f5e2b39189f7d83f565999dd73a3db576352b87eb8844076774656da2a78b5017723b79fd7d9e254b4c04a45f2f298bf889df00ae00f"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"f4f5e45a9dfcb45afc52f5e2b39189f7d83f565999dd73a3db576352b87eb8844076774656da2a78b5017723b79fd7d9e254b4c04a45f2f298bf889df00ae00f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/1.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/1.targets.json
new file mode 100644
index 0000000..292ec25
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"b23617412b30d0d7b5ef1a9002b0bf805f6fe4303c54289b55906ec333ddc265aafd06c605806f2fa95675254334b9c19a93c6f05c3e8e6f575c35c7180b1e03"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"b23617412b30d0d7b5ef1a9002b0bf805f6fe4303c54289b55906ec333ddc265aafd06c605806f2fa95675254334b9c19a93c6f05c3e8e6f575c35c7180b1e03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/2.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/2.root.json
new file mode 100644
index 0000000..ac2e644
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"d0e52e000883f72634151fabf0c9811e6733a32b3d7592ba6c48251a2b74d728f3d0baed17292ac9495c84843e2125d8a77be2f3a91b8fa6d03d725bd4c41f04"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"d0e52e000883f72634151fabf0c9811e6733a32b3d7592ba6c48251a2b74d728f3d0baed17292ac9495c84843e2125d8a77be2f3a91b8fa6d03d725bd4c41f04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/2.snapshot.json
new file mode 100644
index 0000000..04652ec
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"ce39596f1e9c94bb41d7fffdaf036b66f0ba7ec462b62b67fa4abac454a8db0d167519c83ea9475b3f375457e309a4bd88b2bc507eb49dc61f826bbe7a15bf70"},"length":925,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"65cf3c47ea6b8a76cce714775d2f128f62e8d18bfd9706cdcdc6d1984ff35fb8211916d774c4275bf2fed513de6ff1d325cd62638dc9eb65593051589e827500"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"65cf3c47ea6b8a76cce714775d2f128f62e8d18bfd9706cdcdc6d1984ff35fb8211916d774c4275bf2fed513de6ff1d325cd62638dc9eb65593051589e827500"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/2.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/2.targets.json
new file mode 100644
index 0000000..23045c8
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/2.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"3abfaa99c1add4ca9f4576ae521bf6857c4c4e5fa9d9b806296b78b5945a845f3cb17be1066d22f0f6ea3908929230732ee01ebeeba6edf1d229d9db1ca34403"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"3abfaa99c1add4ca9f4576ae521bf6857c4c4e5fa9d9b806296b78b5945a845f3cb17be1066d22f0f6ea3908929230732ee01ebeeba6edf1d229d9db1ca34403"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2.root.json
new file mode 100644
index 0000000..ac2e644
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"d0e52e000883f72634151fabf0c9811e6733a32b3d7592ba6c48251a2b74d728f3d0baed17292ac9495c84843e2125d8a77be2f3a91b8fa6d03d725bd4c41f04"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"d0e52e000883f72634151fabf0c9811e6733a32b3d7592ba6c48251a2b74d728f3d0baed17292ac9495c84843e2125d8a77be2f3a91b8fa6d03d725bd4c41f04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10.root.json
new file mode 100644
index 0000000..a9bdcc2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7308153832f8e3c418f7be211722c6ef45e3974e7cfda2828f0006750624e169":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"},"scheme":"ed25519"},"744e1dd9d9fdfe7d8b3322e2dcf567c5c1f9b8910976006155d6204697566597":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["7308153832f8e3c418f7be211722c6ef45e3974e7cfda2828f0006750624e169","744e1dd9d9fdfe7d8b3322e2dcf567c5c1f9b8910976006155d6204697566597"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"c98c86e7b57a5c446fce0f7b305b52817211cb809a9ef03c955a471814358f47339c6ea53cc912c86a81f3b3752f9647ff5915c2ec8d85b61fe13567e250aa0a"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"c98c86e7b57a5c446fce0f7b305b52817211cb809a9ef03c955a471814358f47339c6ea53cc912c86a81f3b3752f9647ff5915c2ec8d85b61fe13567e250aa0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/ab808b0bcb5305c516f3c9e4ec0f4c47f46f44c1341759496a824f73d63e7822720e0750030819373c490b6cdf03ef60ee3f0bc03de3020624b7a975c6ff025c.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/ab808b0bcb5305c516f3c9e4ec0f4c47f46f44c1341759496a824f73d63e7822720e0750030819373c490b6cdf03ef60ee3f0bc03de3020624b7a975c6ff025c.snapshot.json
new file mode 100644
index 0000000..04652ec
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/ab808b0bcb5305c516f3c9e4ec0f4c47f46f44c1341759496a824f73d63e7822720e0750030819373c490b6cdf03ef60ee3f0bc03de3020624b7a975c6ff025c.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"ce39596f1e9c94bb41d7fffdaf036b66f0ba7ec462b62b67fa4abac454a8db0d167519c83ea9475b3f375457e309a4bd88b2bc507eb49dc61f826bbe7a15bf70"},"length":925,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"65cf3c47ea6b8a76cce714775d2f128f62e8d18bfd9706cdcdc6d1984ff35fb8211916d774c4275bf2fed513de6ff1d325cd62638dc9eb65593051589e827500"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"65cf3c47ea6b8a76cce714775d2f128f62e8d18bfd9706cdcdc6d1984ff35fb8211916d774c4275bf2fed513de6ff1d325cd62638dc9eb65593051589e827500"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/ce39596f1e9c94bb41d7fffdaf036b66f0ba7ec462b62b67fa4abac454a8db0d167519c83ea9475b3f375457e309a4bd88b2bc507eb49dc61f826bbe7a15bf70.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/ce39596f1e9c94bb41d7fffdaf036b66f0ba7ec462b62b67fa4abac454a8db0d167519c83ea9475b3f375457e309a4bd88b2bc507eb49dc61f826bbe7a15bf70.targets.json
new file mode 100644
index 0000000..23045c8
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/ce39596f1e9c94bb41d7fffdaf036b66f0ba7ec462b62b67fa4abac454a8db0d167519c83ea9475b3f375457e309a4bd88b2bc507eb49dc61f826bbe7a15bf70.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"3abfaa99c1add4ca9f4576ae521bf6857c4c4e5fa9d9b806296b78b5945a845f3cb17be1066d22f0f6ea3908929230732ee01ebeeba6edf1d229d9db1ca34403"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"3abfaa99c1add4ca9f4576ae521bf6857c4c4e5fa9d9b806296b78b5945a845f3cb17be1066d22f0f6ea3908929230732ee01ebeeba6edf1d229d9db1ca34403"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98.targets.json
new file mode 100644
index 0000000..292ec25
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"b23617412b30d0d7b5ef1a9002b0bf805f6fe4303c54289b55906ec333ddc265aafd06c605806f2fa95675254334b9c19a93c6f05c3e8e6f575c35c7180b1e03"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"b23617412b30d0d7b5ef1a9002b0bf805f6fe4303c54289b55906ec333ddc265aafd06c605806f2fa95675254334b9c19a93c6f05c3e8e6f575c35c7180b1e03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/f8db89127357df9e92122c0b0b64fa533d6d2d607386f2674a3a294bc7fd651d64263272597925ca8a4c6c4adf82b7c2022b1fb790adcf823ced37d068053195.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/f8db89127357df9e92122c0b0b64fa533d6d2d607386f2674a3a294bc7fd651d64263272597925ca8a4c6c4adf82b7c2022b1fb790adcf823ced37d068053195.snapshot.json
new file mode 100644
index 0000000..5c0ca32
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/f8db89127357df9e92122c0b0b64fa533d6d2d607386f2674a3a294bc7fd651d64263272597925ca8a4c6c4adf82b7c2022b1fb790adcf823ced37d068053195.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98"},"length":757,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"f4f5e45a9dfcb45afc52f5e2b39189f7d83f565999dd73a3db576352b87eb8844076774656da2a78b5017723b79fd7d9e254b4c04a45f2f298bf889df00ae00f"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"f4f5e45a9dfcb45afc52f5e2b39189f7d83f565999dd73a3db576352b87eb8844076774656da2a78b5017723b79fd7d9e254b4c04a45f2f298bf889df00ae00f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/root.json
new file mode 100644
index 0000000..ac2e644
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"d0e52e000883f72634151fabf0c9811e6733a32b3d7592ba6c48251a2b74d728f3d0baed17292ac9495c84843e2125d8a77be2f3a91b8fa6d03d725bd4c41f04"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"d0e52e000883f72634151fabf0c9811e6733a32b3d7592ba6c48251a2b74d728f3d0baed17292ac9495c84843e2125d8a77be2f3a91b8fa6d03d725bd4c41f04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/snapshot.json
new file mode 100644
index 0000000..04652ec
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"ce39596f1e9c94bb41d7fffdaf036b66f0ba7ec462b62b67fa4abac454a8db0d167519c83ea9475b3f375457e309a4bd88b2bc507eb49dc61f826bbe7a15bf70"},"length":925,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"65cf3c47ea6b8a76cce714775d2f128f62e8d18bfd9706cdcdc6d1984ff35fb8211916d774c4275bf2fed513de6ff1d325cd62638dc9eb65593051589e827500"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"65cf3c47ea6b8a76cce714775d2f128f62e8d18bfd9706cdcdc6d1984ff35fb8211916d774c4275bf2fed513de6ff1d325cd62638dc9eb65593051589e827500"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/targets.json
new file mode 100644
index 0000000..23045c8
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"3abfaa99c1add4ca9f4576ae521bf6857c4c4e5fa9d9b806296b78b5945a845f3cb17be1066d22f0f6ea3908929230732ee01ebeeba6edf1d229d9db1ca34403"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"3abfaa99c1add4ca9f4576ae521bf6857c4c4e5fa9d9b806296b78b5945a845f3cb17be1066d22f0f6ea3908929230732ee01ebeeba6edf1d229d9db1ca34403"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/targets/0.0 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/targets/0.1 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/timestamp.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/timestamp.json
new file mode 100644
index 0000000..056ab3c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/1/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"ab808b0bcb5305c516f3c9e4ec0f4c47f46f44c1341759496a824f73d63e7822720e0750030819373c490b6cdf03ef60ee3f0bc03de3020624b7a975c6ff025c"},"length":971,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","method":"ed25519","sig":"cbed69b38ffaaf8e8a8256309d1e53f1a8028c0b51e61b1b3a6cd2176f08747535f7d2a4bcc53af4c13d8bb8b359f441b148c2fabc79190b698b7ff9c1a34305"},{"keyid":"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86","method":"ed25519","sig":"cbed69b38ffaaf8e8a8256309d1e53f1a8028c0b51e61b1b3a6cd2176f08747535f7d2a4bcc53af4c13d8bb8b359f441b148c2fabc79190b698b7ff9c1a34305"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/keys/root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/keys/root.json
new file mode 100644
index 0000000..9063266
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/keys/root.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa",
+				"private": "4718fb6f8cf4fb4dc77278a0935eb392619bef98a220d14919e6ae2b41608ba0db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/keys/snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/keys/snapshot.json
new file mode 100644
index 0000000..9bab9e4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/keys/snapshot.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b",
+				"private": "f4ee327862ce91e6b356800d08431c0efce31868d8b0f834412881608c47fd23019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/keys/targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/keys/targets.json
new file mode 100644
index 0000000..cdd224d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303",
+				"private": "1def3d784ee8972a19e925e05ea7f6e5ea085adb39843e82fc5f3c76568197d3ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/keys/timestamp.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/keys/timestamp.json
new file mode 100644
index 0000000..697e7db
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9","private":"cbe74fdca225bf802177d183390d26dcdf2e5d0234cf5bec6aff43cec2066e37ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/1.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/1.root.json
new file mode 100644
index 0000000..a9bdcc2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7308153832f8e3c418f7be211722c6ef45e3974e7cfda2828f0006750624e169":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"},"scheme":"ed25519"},"744e1dd9d9fdfe7d8b3322e2dcf567c5c1f9b8910976006155d6204697566597":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["7308153832f8e3c418f7be211722c6ef45e3974e7cfda2828f0006750624e169","744e1dd9d9fdfe7d8b3322e2dcf567c5c1f9b8910976006155d6204697566597"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"c98c86e7b57a5c446fce0f7b305b52817211cb809a9ef03c955a471814358f47339c6ea53cc912c86a81f3b3752f9647ff5915c2ec8d85b61fe13567e250aa0a"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"c98c86e7b57a5c446fce0f7b305b52817211cb809a9ef03c955a471814358f47339c6ea53cc912c86a81f3b3752f9647ff5915c2ec8d85b61fe13567e250aa0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/1.snapshot.json
new file mode 100644
index 0000000..5c0ca32
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98"},"length":757,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"f4f5e45a9dfcb45afc52f5e2b39189f7d83f565999dd73a3db576352b87eb8844076774656da2a78b5017723b79fd7d9e254b4c04a45f2f298bf889df00ae00f"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"f4f5e45a9dfcb45afc52f5e2b39189f7d83f565999dd73a3db576352b87eb8844076774656da2a78b5017723b79fd7d9e254b4c04a45f2f298bf889df00ae00f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/1.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/1.targets.json
new file mode 100644
index 0000000..292ec25
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"b23617412b30d0d7b5ef1a9002b0bf805f6fe4303c54289b55906ec333ddc265aafd06c605806f2fa95675254334b9c19a93c6f05c3e8e6f575c35c7180b1e03"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"b23617412b30d0d7b5ef1a9002b0bf805f6fe4303c54289b55906ec333ddc265aafd06c605806f2fa95675254334b9c19a93c6f05c3e8e6f575c35c7180b1e03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/2.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/2.root.json
new file mode 100644
index 0000000..ac2e644
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"d0e52e000883f72634151fabf0c9811e6733a32b3d7592ba6c48251a2b74d728f3d0baed17292ac9495c84843e2125d8a77be2f3a91b8fa6d03d725bd4c41f04"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"d0e52e000883f72634151fabf0c9811e6733a32b3d7592ba6c48251a2b74d728f3d0baed17292ac9495c84843e2125d8a77be2f3a91b8fa6d03d725bd4c41f04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/2.snapshot.json
new file mode 100644
index 0000000..04652ec
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"ce39596f1e9c94bb41d7fffdaf036b66f0ba7ec462b62b67fa4abac454a8db0d167519c83ea9475b3f375457e309a4bd88b2bc507eb49dc61f826bbe7a15bf70"},"length":925,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"65cf3c47ea6b8a76cce714775d2f128f62e8d18bfd9706cdcdc6d1984ff35fb8211916d774c4275bf2fed513de6ff1d325cd62638dc9eb65593051589e827500"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"65cf3c47ea6b8a76cce714775d2f128f62e8d18bfd9706cdcdc6d1984ff35fb8211916d774c4275bf2fed513de6ff1d325cd62638dc9eb65593051589e827500"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/2.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/2.targets.json
new file mode 100644
index 0000000..23045c8
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/2.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"3abfaa99c1add4ca9f4576ae521bf6857c4c4e5fa9d9b806296b78b5945a845f3cb17be1066d22f0f6ea3908929230732ee01ebeeba6edf1d229d9db1ca34403"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"3abfaa99c1add4ca9f4576ae521bf6857c4c4e5fa9d9b806296b78b5945a845f3cb17be1066d22f0f6ea3908929230732ee01ebeeba6edf1d229d9db1ca34403"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/3.snapshot.json
new file mode 100644
index 0000000..993ed40
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"a5b514a9593d8208c992fe7473270ff4ba7fa761462d0e79bef120f5712fa427d235520f62752e7bbc65454c1313fea0ca65bc629d6193a717286046e31fd921"},"length":1093,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"f402239cf83d47b9d7e1ced705597c94ba489e1dfbb2e72e0fb9f200c9682da37b3b456e56259e98c631b6750ec63934609632e53ca89fa2c5ce550614366e00"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"f402239cf83d47b9d7e1ced705597c94ba489e1dfbb2e72e0fb9f200c9682da37b3b456e56259e98c631b6750ec63934609632e53ca89fa2c5ce550614366e00"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/3.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/3.targets.json
new file mode 100644
index 0000000..9da4ac2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/3.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"d375b9b74a28084c58216407ccdc9c4526fa204aba99700b58c97ee5975d2ce3c7a0a686fe302eefa768fec8c5d5db2c5ad5e3ec0877070634aa9bdf86b4c50c"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"d375b9b74a28084c58216407ccdc9c4526fa204aba99700b58c97ee5975d2ce3c7a0a686fe302eefa768fec8c5d5db2c5ad5e3ec0877070634aa9bdf86b4c50c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2.root.json
new file mode 100644
index 0000000..ac2e644
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"d0e52e000883f72634151fabf0c9811e6733a32b3d7592ba6c48251a2b74d728f3d0baed17292ac9495c84843e2125d8a77be2f3a91b8fa6d03d725bd4c41f04"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"d0e52e000883f72634151fabf0c9811e6733a32b3d7592ba6c48251a2b74d728f3d0baed17292ac9495c84843e2125d8a77be2f3a91b8fa6d03d725bd4c41f04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/5e829cbefa45c725dc0a0c92186f04f3aaeeb1603dbd2295e148e22452f826764224b6ee4eea1d73f262e4e1e1c21753537d24a6e6a33e40a5015cea590e6f9a.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/5e829cbefa45c725dc0a0c92186f04f3aaeeb1603dbd2295e148e22452f826764224b6ee4eea1d73f262e4e1e1c21753537d24a6e6a33e40a5015cea590e6f9a.snapshot.json
new file mode 100644
index 0000000..993ed40
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/5e829cbefa45c725dc0a0c92186f04f3aaeeb1603dbd2295e148e22452f826764224b6ee4eea1d73f262e4e1e1c21753537d24a6e6a33e40a5015cea590e6f9a.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"a5b514a9593d8208c992fe7473270ff4ba7fa761462d0e79bef120f5712fa427d235520f62752e7bbc65454c1313fea0ca65bc629d6193a717286046e31fd921"},"length":1093,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"f402239cf83d47b9d7e1ced705597c94ba489e1dfbb2e72e0fb9f200c9682da37b3b456e56259e98c631b6750ec63934609632e53ca89fa2c5ce550614366e00"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"f402239cf83d47b9d7e1ced705597c94ba489e1dfbb2e72e0fb9f200c9682da37b3b456e56259e98c631b6750ec63934609632e53ca89fa2c5ce550614366e00"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10.root.json
new file mode 100644
index 0000000..a9bdcc2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7308153832f8e3c418f7be211722c6ef45e3974e7cfda2828f0006750624e169":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"},"scheme":"ed25519"},"744e1dd9d9fdfe7d8b3322e2dcf567c5c1f9b8910976006155d6204697566597":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["7308153832f8e3c418f7be211722c6ef45e3974e7cfda2828f0006750624e169","744e1dd9d9fdfe7d8b3322e2dcf567c5c1f9b8910976006155d6204697566597"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"c98c86e7b57a5c446fce0f7b305b52817211cb809a9ef03c955a471814358f47339c6ea53cc912c86a81f3b3752f9647ff5915c2ec8d85b61fe13567e250aa0a"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"c98c86e7b57a5c446fce0f7b305b52817211cb809a9ef03c955a471814358f47339c6ea53cc912c86a81f3b3752f9647ff5915c2ec8d85b61fe13567e250aa0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/a5b514a9593d8208c992fe7473270ff4ba7fa761462d0e79bef120f5712fa427d235520f62752e7bbc65454c1313fea0ca65bc629d6193a717286046e31fd921.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/a5b514a9593d8208c992fe7473270ff4ba7fa761462d0e79bef120f5712fa427d235520f62752e7bbc65454c1313fea0ca65bc629d6193a717286046e31fd921.targets.json
new file mode 100644
index 0000000..9da4ac2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/a5b514a9593d8208c992fe7473270ff4ba7fa761462d0e79bef120f5712fa427d235520f62752e7bbc65454c1313fea0ca65bc629d6193a717286046e31fd921.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"d375b9b74a28084c58216407ccdc9c4526fa204aba99700b58c97ee5975d2ce3c7a0a686fe302eefa768fec8c5d5db2c5ad5e3ec0877070634aa9bdf86b4c50c"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"d375b9b74a28084c58216407ccdc9c4526fa204aba99700b58c97ee5975d2ce3c7a0a686fe302eefa768fec8c5d5db2c5ad5e3ec0877070634aa9bdf86b4c50c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/ab808b0bcb5305c516f3c9e4ec0f4c47f46f44c1341759496a824f73d63e7822720e0750030819373c490b6cdf03ef60ee3f0bc03de3020624b7a975c6ff025c.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/ab808b0bcb5305c516f3c9e4ec0f4c47f46f44c1341759496a824f73d63e7822720e0750030819373c490b6cdf03ef60ee3f0bc03de3020624b7a975c6ff025c.snapshot.json
new file mode 100644
index 0000000..04652ec
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/ab808b0bcb5305c516f3c9e4ec0f4c47f46f44c1341759496a824f73d63e7822720e0750030819373c490b6cdf03ef60ee3f0bc03de3020624b7a975c6ff025c.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"ce39596f1e9c94bb41d7fffdaf036b66f0ba7ec462b62b67fa4abac454a8db0d167519c83ea9475b3f375457e309a4bd88b2bc507eb49dc61f826bbe7a15bf70"},"length":925,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"65cf3c47ea6b8a76cce714775d2f128f62e8d18bfd9706cdcdc6d1984ff35fb8211916d774c4275bf2fed513de6ff1d325cd62638dc9eb65593051589e827500"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"65cf3c47ea6b8a76cce714775d2f128f62e8d18bfd9706cdcdc6d1984ff35fb8211916d774c4275bf2fed513de6ff1d325cd62638dc9eb65593051589e827500"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/ce39596f1e9c94bb41d7fffdaf036b66f0ba7ec462b62b67fa4abac454a8db0d167519c83ea9475b3f375457e309a4bd88b2bc507eb49dc61f826bbe7a15bf70.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/ce39596f1e9c94bb41d7fffdaf036b66f0ba7ec462b62b67fa4abac454a8db0d167519c83ea9475b3f375457e309a4bd88b2bc507eb49dc61f826bbe7a15bf70.targets.json
new file mode 100644
index 0000000..23045c8
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/ce39596f1e9c94bb41d7fffdaf036b66f0ba7ec462b62b67fa4abac454a8db0d167519c83ea9475b3f375457e309a4bd88b2bc507eb49dc61f826bbe7a15bf70.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"3abfaa99c1add4ca9f4576ae521bf6857c4c4e5fa9d9b806296b78b5945a845f3cb17be1066d22f0f6ea3908929230732ee01ebeeba6edf1d229d9db1ca34403"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"3abfaa99c1add4ca9f4576ae521bf6857c4c4e5fa9d9b806296b78b5945a845f3cb17be1066d22f0f6ea3908929230732ee01ebeeba6edf1d229d9db1ca34403"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98.targets.json
new file mode 100644
index 0000000..292ec25
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"b23617412b30d0d7b5ef1a9002b0bf805f6fe4303c54289b55906ec333ddc265aafd06c605806f2fa95675254334b9c19a93c6f05c3e8e6f575c35c7180b1e03"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"b23617412b30d0d7b5ef1a9002b0bf805f6fe4303c54289b55906ec333ddc265aafd06c605806f2fa95675254334b9c19a93c6f05c3e8e6f575c35c7180b1e03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/f8db89127357df9e92122c0b0b64fa533d6d2d607386f2674a3a294bc7fd651d64263272597925ca8a4c6c4adf82b7c2022b1fb790adcf823ced37d068053195.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/f8db89127357df9e92122c0b0b64fa533d6d2d607386f2674a3a294bc7fd651d64263272597925ca8a4c6c4adf82b7c2022b1fb790adcf823ced37d068053195.snapshot.json
new file mode 100644
index 0000000..5c0ca32
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/f8db89127357df9e92122c0b0b64fa533d6d2d607386f2674a3a294bc7fd651d64263272597925ca8a4c6c4adf82b7c2022b1fb790adcf823ced37d068053195.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98"},"length":757,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"f4f5e45a9dfcb45afc52f5e2b39189f7d83f565999dd73a3db576352b87eb8844076774656da2a78b5017723b79fd7d9e254b4c04a45f2f298bf889df00ae00f"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"f4f5e45a9dfcb45afc52f5e2b39189f7d83f565999dd73a3db576352b87eb8844076774656da2a78b5017723b79fd7d9e254b4c04a45f2f298bf889df00ae00f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/root.json
new file mode 100644
index 0000000..ac2e644
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"d0e52e000883f72634151fabf0c9811e6733a32b3d7592ba6c48251a2b74d728f3d0baed17292ac9495c84843e2125d8a77be2f3a91b8fa6d03d725bd4c41f04"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"d0e52e000883f72634151fabf0c9811e6733a32b3d7592ba6c48251a2b74d728f3d0baed17292ac9495c84843e2125d8a77be2f3a91b8fa6d03d725bd4c41f04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/snapshot.json
new file mode 100644
index 0000000..993ed40
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"a5b514a9593d8208c992fe7473270ff4ba7fa761462d0e79bef120f5712fa427d235520f62752e7bbc65454c1313fea0ca65bc629d6193a717286046e31fd921"},"length":1093,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"f402239cf83d47b9d7e1ced705597c94ba489e1dfbb2e72e0fb9f200c9682da37b3b456e56259e98c631b6750ec63934609632e53ca89fa2c5ce550614366e00"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"f402239cf83d47b9d7e1ced705597c94ba489e1dfbb2e72e0fb9f200c9682da37b3b456e56259e98c631b6750ec63934609632e53ca89fa2c5ce550614366e00"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/targets.json
new file mode 100644
index 0000000..9da4ac2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"d375b9b74a28084c58216407ccdc9c4526fa204aba99700b58c97ee5975d2ce3c7a0a686fe302eefa768fec8c5d5db2c5ad5e3ec0877070634aa9bdf86b4c50c"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"d375b9b74a28084c58216407ccdc9c4526fa204aba99700b58c97ee5975d2ce3c7a0a686fe302eefa768fec8c5d5db2c5ad5e3ec0877070634aa9bdf86b4c50c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/targets/0.0 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/targets/0.1 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/targets/0.2 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/targets/0.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/targets/0.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/timestamp.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/timestamp.json
new file mode 100644
index 0000000..c58f0eb
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/2/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"5e829cbefa45c725dc0a0c92186f04f3aaeeb1603dbd2295e148e22452f826764224b6ee4eea1d73f262e4e1e1c21753537d24a6e6a33e40a5015cea590e6f9a"},"length":972,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","method":"ed25519","sig":"872a6b8e1b99e690d0cdb55dc664108ded8456f0ef1940d0272caeb7278fca0fef7a25ba4f867485001e7f2ba760990d1186daff0b7bc15a6f56a07960705e03"},{"keyid":"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86","method":"ed25519","sig":"872a6b8e1b99e690d0cdb55dc664108ded8456f0ef1940d0272caeb7278fca0fef7a25ba4f867485001e7f2ba760990d1186daff0b7bc15a6f56a07960705e03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/keys/root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/keys/root.json
new file mode 100644
index 0000000..141752d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/keys/root.json
@@ -0,0 +1,27 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa",
+				"private": "4718fb6f8cf4fb4dc77278a0935eb392619bef98a220d14919e6ae2b41608ba0db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6",
+				"private": "a26631ff1f825fef9b1db24884b23781967467169d34273ca42b88e3756e4c338f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/keys/snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/keys/snapshot.json
new file mode 100644
index 0000000..9bab9e4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/keys/snapshot.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b",
+				"private": "f4ee327862ce91e6b356800d08431c0efce31868d8b0f834412881608c47fd23019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/keys/targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/keys/targets.json
new file mode 100644
index 0000000..cdd224d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303",
+				"private": "1def3d784ee8972a19e925e05ea7f6e5ea085adb39843e82fc5f3c76568197d3ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/keys/timestamp.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/keys/timestamp.json
new file mode 100644
index 0000000..697e7db
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9","private":"cbe74fdca225bf802177d183390d26dcdf2e5d0234cf5bec6aff43cec2066e37ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/0ec1ef739122eb6e71e8ba50e3c40674ff7983f7970fc4309e47a6b181b5abe731370665a60382bcb8cd43102cd1797b63dd2f277a723bf8342134894df4bbaf.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/0ec1ef739122eb6e71e8ba50e3c40674ff7983f7970fc4309e47a6b181b5abe731370665a60382bcb8cd43102cd1797b63dd2f277a723bf8342134894df4bbaf.targets.json
new file mode 100644
index 0000000..ba786b1
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/0ec1ef739122eb6e71e8ba50e3c40674ff7983f7970fc4309e47a6b181b5abe731370665a60382bcb8cd43102cd1797b63dd2f277a723bf8342134894df4bbaf.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"938490fdb35e433119022b66ef34034a6bf502599b4d5ed89b6bc09bcf14cd0c5f9fa68371eff7c74879e107b9a37a378ccac374772146c40f75f79ce1a1690a"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"938490fdb35e433119022b66ef34034a6bf502599b4d5ed89b6bc09bcf14cd0c5f9fa68371eff7c74879e107b9a37a378ccac374772146c40f75f79ce1a1690a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/1.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/1.root.json
new file mode 100644
index 0000000..a9bdcc2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7308153832f8e3c418f7be211722c6ef45e3974e7cfda2828f0006750624e169":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"},"scheme":"ed25519"},"744e1dd9d9fdfe7d8b3322e2dcf567c5c1f9b8910976006155d6204697566597":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["7308153832f8e3c418f7be211722c6ef45e3974e7cfda2828f0006750624e169","744e1dd9d9fdfe7d8b3322e2dcf567c5c1f9b8910976006155d6204697566597"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"c98c86e7b57a5c446fce0f7b305b52817211cb809a9ef03c955a471814358f47339c6ea53cc912c86a81f3b3752f9647ff5915c2ec8d85b61fe13567e250aa0a"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"c98c86e7b57a5c446fce0f7b305b52817211cb809a9ef03c955a471814358f47339c6ea53cc912c86a81f3b3752f9647ff5915c2ec8d85b61fe13567e250aa0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/1.snapshot.json
new file mode 100644
index 0000000..5c0ca32
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98"},"length":757,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"f4f5e45a9dfcb45afc52f5e2b39189f7d83f565999dd73a3db576352b87eb8844076774656da2a78b5017723b79fd7d9e254b4c04a45f2f298bf889df00ae00f"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"f4f5e45a9dfcb45afc52f5e2b39189f7d83f565999dd73a3db576352b87eb8844076774656da2a78b5017723b79fd7d9e254b4c04a45f2f298bf889df00ae00f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/1.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/1.targets.json
new file mode 100644
index 0000000..292ec25
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"b23617412b30d0d7b5ef1a9002b0bf805f6fe4303c54289b55906ec333ddc265aafd06c605806f2fa95675254334b9c19a93c6f05c3e8e6f575c35c7180b1e03"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"b23617412b30d0d7b5ef1a9002b0bf805f6fe4303c54289b55906ec333ddc265aafd06c605806f2fa95675254334b9c19a93c6f05c3e8e6f575c35c7180b1e03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/18e3974c83679e350b11ba69a878d8cd0742cc1b0934f480e276d7baf30de7d60b3091a299b122cdb26b09b70f85512f700cc7ff437f9778182e18177142f896.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/18e3974c83679e350b11ba69a878d8cd0742cc1b0934f480e276d7baf30de7d60b3091a299b122cdb26b09b70f85512f700cc7ff437f9778182e18177142f896.snapshot.json
new file mode 100644
index 0000000..7a0c7b2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/18e3974c83679e350b11ba69a878d8cd0742cc1b0934f480e276d7baf30de7d60b3091a299b122cdb26b09b70f85512f700cc7ff437f9778182e18177142f896.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"2173ab9bee387c71e15a0fa5d1ab4d8564b3e116d8fc2cfda63202a6f9d4c706ac0409068025ff5a4a64965f8f5d0bda06f117d20a1416cfbdd10280eb7c11fc"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"0ec1ef739122eb6e71e8ba50e3c40674ff7983f7970fc4309e47a6b181b5abe731370665a60382bcb8cd43102cd1797b63dd2f277a723bf8342134894df4bbaf"},"length":1261,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"7d848da83913b0a03c5b632550db36464f3f6cbecdcb6ecdefdf21455d358d471fae5dab2d7041366e4e5e18d2d2b9d779c66eb48ad2a8aaefc52fedfd1eb108"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"7d848da83913b0a03c5b632550db36464f3f6cbecdcb6ecdefdf21455d358d471fae5dab2d7041366e4e5e18d2d2b9d779c66eb48ad2a8aaefc52fedfd1eb108"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/2.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/2.root.json
new file mode 100644
index 0000000..ac2e644
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"d0e52e000883f72634151fabf0c9811e6733a32b3d7592ba6c48251a2b74d728f3d0baed17292ac9495c84843e2125d8a77be2f3a91b8fa6d03d725bd4c41f04"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"d0e52e000883f72634151fabf0c9811e6733a32b3d7592ba6c48251a2b74d728f3d0baed17292ac9495c84843e2125d8a77be2f3a91b8fa6d03d725bd4c41f04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/2.snapshot.json
new file mode 100644
index 0000000..04652ec
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"ce39596f1e9c94bb41d7fffdaf036b66f0ba7ec462b62b67fa4abac454a8db0d167519c83ea9475b3f375457e309a4bd88b2bc507eb49dc61f826bbe7a15bf70"},"length":925,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"65cf3c47ea6b8a76cce714775d2f128f62e8d18bfd9706cdcdc6d1984ff35fb8211916d774c4275bf2fed513de6ff1d325cd62638dc9eb65593051589e827500"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"65cf3c47ea6b8a76cce714775d2f128f62e8d18bfd9706cdcdc6d1984ff35fb8211916d774c4275bf2fed513de6ff1d325cd62638dc9eb65593051589e827500"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/2.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/2.targets.json
new file mode 100644
index 0000000..23045c8
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/2.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"3abfaa99c1add4ca9f4576ae521bf6857c4c4e5fa9d9b806296b78b5945a845f3cb17be1066d22f0f6ea3908929230732ee01ebeeba6edf1d229d9db1ca34403"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"3abfaa99c1add4ca9f4576ae521bf6857c4c4e5fa9d9b806296b78b5945a845f3cb17be1066d22f0f6ea3908929230732ee01ebeeba6edf1d229d9db1ca34403"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/2173ab9bee387c71e15a0fa5d1ab4d8564b3e116d8fc2cfda63202a6f9d4c706ac0409068025ff5a4a64965f8f5d0bda06f117d20a1416cfbdd10280eb7c11fc.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/2173ab9bee387c71e15a0fa5d1ab4d8564b3e116d8fc2cfda63202a6f9d4c706ac0409068025ff5a4a64965f8f5d0bda06f117d20a1416cfbdd10280eb7c11fc.root.json
new file mode 100644
index 0000000..cdf4512
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/2173ab9bee387c71e15a0fa5d1ab4d8564b3e116d8fc2cfda63202a6f9d4c706ac0409068025ff5a4a64965f8f5d0bda06f117d20a1416cfbdd10280eb7c11fc.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9","338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"7b1c4561f0e7a9d7776609c49f8560668b70276a0c1df9cdfb1b75ed8535a6bdb0745f37bf0cd0c43cfd83cfa85b9ff933f1810d68d61a3c8b7c4489ad7d5300"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"7b1c4561f0e7a9d7776609c49f8560668b70276a0c1df9cdfb1b75ed8535a6bdb0745f37bf0cd0c43cfd83cfa85b9ff933f1810d68d61a3c8b7c4489ad7d5300"},{"keyid":"cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9","method":"ed25519","sig":"577579220df42d4fe111b8ba070b5a3994a52171aade65d075988b016117d658fe45d289ca5a3c8b9b4bdb2be572f3c853e76d59d9e7c69768bee516dd8d790d"},{"keyid":"338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c","method":"ed25519","sig":"577579220df42d4fe111b8ba070b5a3994a52171aade65d075988b016117d658fe45d289ca5a3c8b9b4bdb2be572f3c853e76d59d9e7c69768bee516dd8d790d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/3.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/3.root.json
new file mode 100644
index 0000000..cdf4512
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/3.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9","338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"7b1c4561f0e7a9d7776609c49f8560668b70276a0c1df9cdfb1b75ed8535a6bdb0745f37bf0cd0c43cfd83cfa85b9ff933f1810d68d61a3c8b7c4489ad7d5300"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"7b1c4561f0e7a9d7776609c49f8560668b70276a0c1df9cdfb1b75ed8535a6bdb0745f37bf0cd0c43cfd83cfa85b9ff933f1810d68d61a3c8b7c4489ad7d5300"},{"keyid":"cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9","method":"ed25519","sig":"577579220df42d4fe111b8ba070b5a3994a52171aade65d075988b016117d658fe45d289ca5a3c8b9b4bdb2be572f3c853e76d59d9e7c69768bee516dd8d790d"},{"keyid":"338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c","method":"ed25519","sig":"577579220df42d4fe111b8ba070b5a3994a52171aade65d075988b016117d658fe45d289ca5a3c8b9b4bdb2be572f3c853e76d59d9e7c69768bee516dd8d790d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/3.snapshot.json
new file mode 100644
index 0000000..993ed40
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"a5b514a9593d8208c992fe7473270ff4ba7fa761462d0e79bef120f5712fa427d235520f62752e7bbc65454c1313fea0ca65bc629d6193a717286046e31fd921"},"length":1093,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"f402239cf83d47b9d7e1ced705597c94ba489e1dfbb2e72e0fb9f200c9682da37b3b456e56259e98c631b6750ec63934609632e53ca89fa2c5ce550614366e00"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"f402239cf83d47b9d7e1ced705597c94ba489e1dfbb2e72e0fb9f200c9682da37b3b456e56259e98c631b6750ec63934609632e53ca89fa2c5ce550614366e00"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/3.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/3.targets.json
new file mode 100644
index 0000000..9da4ac2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/3.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"d375b9b74a28084c58216407ccdc9c4526fa204aba99700b58c97ee5975d2ce3c7a0a686fe302eefa768fec8c5d5db2c5ad5e3ec0877070634aa9bdf86b4c50c"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"d375b9b74a28084c58216407ccdc9c4526fa204aba99700b58c97ee5975d2ce3c7a0a686fe302eefa768fec8c5d5db2c5ad5e3ec0877070634aa9bdf86b4c50c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/4.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/4.snapshot.json
new file mode 100644
index 0000000..7a0c7b2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/4.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"2173ab9bee387c71e15a0fa5d1ab4d8564b3e116d8fc2cfda63202a6f9d4c706ac0409068025ff5a4a64965f8f5d0bda06f117d20a1416cfbdd10280eb7c11fc"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"0ec1ef739122eb6e71e8ba50e3c40674ff7983f7970fc4309e47a6b181b5abe731370665a60382bcb8cd43102cd1797b63dd2f277a723bf8342134894df4bbaf"},"length":1261,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"7d848da83913b0a03c5b632550db36464f3f6cbecdcb6ecdefdf21455d358d471fae5dab2d7041366e4e5e18d2d2b9d779c66eb48ad2a8aaefc52fedfd1eb108"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"7d848da83913b0a03c5b632550db36464f3f6cbecdcb6ecdefdf21455d358d471fae5dab2d7041366e4e5e18d2d2b9d779c66eb48ad2a8aaefc52fedfd1eb108"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/4.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/4.targets.json
new file mode 100644
index 0000000..ba786b1
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/4.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"938490fdb35e433119022b66ef34034a6bf502599b4d5ed89b6bc09bcf14cd0c5f9fa68371eff7c74879e107b9a37a378ccac374772146c40f75f79ce1a1690a"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"938490fdb35e433119022b66ef34034a6bf502599b4d5ed89b6bc09bcf14cd0c5f9fa68371eff7c74879e107b9a37a378ccac374772146c40f75f79ce1a1690a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2.root.json
new file mode 100644
index 0000000..ac2e644
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"d0e52e000883f72634151fabf0c9811e6733a32b3d7592ba6c48251a2b74d728f3d0baed17292ac9495c84843e2125d8a77be2f3a91b8fa6d03d725bd4c41f04"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"d0e52e000883f72634151fabf0c9811e6733a32b3d7592ba6c48251a2b74d728f3d0baed17292ac9495c84843e2125d8a77be2f3a91b8fa6d03d725bd4c41f04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/5e829cbefa45c725dc0a0c92186f04f3aaeeb1603dbd2295e148e22452f826764224b6ee4eea1d73f262e4e1e1c21753537d24a6e6a33e40a5015cea590e6f9a.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/5e829cbefa45c725dc0a0c92186f04f3aaeeb1603dbd2295e148e22452f826764224b6ee4eea1d73f262e4e1e1c21753537d24a6e6a33e40a5015cea590e6f9a.snapshot.json
new file mode 100644
index 0000000..993ed40
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/5e829cbefa45c725dc0a0c92186f04f3aaeeb1603dbd2295e148e22452f826764224b6ee4eea1d73f262e4e1e1c21753537d24a6e6a33e40a5015cea590e6f9a.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"a5b514a9593d8208c992fe7473270ff4ba7fa761462d0e79bef120f5712fa427d235520f62752e7bbc65454c1313fea0ca65bc629d6193a717286046e31fd921"},"length":1093,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"f402239cf83d47b9d7e1ced705597c94ba489e1dfbb2e72e0fb9f200c9682da37b3b456e56259e98c631b6750ec63934609632e53ca89fa2c5ce550614366e00"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"f402239cf83d47b9d7e1ced705597c94ba489e1dfbb2e72e0fb9f200c9682da37b3b456e56259e98c631b6750ec63934609632e53ca89fa2c5ce550614366e00"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10.root.json
new file mode 100644
index 0000000..a9bdcc2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7308153832f8e3c418f7be211722c6ef45e3974e7cfda2828f0006750624e169":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"},"scheme":"ed25519"},"744e1dd9d9fdfe7d8b3322e2dcf567c5c1f9b8910976006155d6204697566597":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["7308153832f8e3c418f7be211722c6ef45e3974e7cfda2828f0006750624e169","744e1dd9d9fdfe7d8b3322e2dcf567c5c1f9b8910976006155d6204697566597"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"c98c86e7b57a5c446fce0f7b305b52817211cb809a9ef03c955a471814358f47339c6ea53cc912c86a81f3b3752f9647ff5915c2ec8d85b61fe13567e250aa0a"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"c98c86e7b57a5c446fce0f7b305b52817211cb809a9ef03c955a471814358f47339c6ea53cc912c86a81f3b3752f9647ff5915c2ec8d85b61fe13567e250aa0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/a5b514a9593d8208c992fe7473270ff4ba7fa761462d0e79bef120f5712fa427d235520f62752e7bbc65454c1313fea0ca65bc629d6193a717286046e31fd921.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/a5b514a9593d8208c992fe7473270ff4ba7fa761462d0e79bef120f5712fa427d235520f62752e7bbc65454c1313fea0ca65bc629d6193a717286046e31fd921.targets.json
new file mode 100644
index 0000000..9da4ac2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/a5b514a9593d8208c992fe7473270ff4ba7fa761462d0e79bef120f5712fa427d235520f62752e7bbc65454c1313fea0ca65bc629d6193a717286046e31fd921.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"d375b9b74a28084c58216407ccdc9c4526fa204aba99700b58c97ee5975d2ce3c7a0a686fe302eefa768fec8c5d5db2c5ad5e3ec0877070634aa9bdf86b4c50c"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"d375b9b74a28084c58216407ccdc9c4526fa204aba99700b58c97ee5975d2ce3c7a0a686fe302eefa768fec8c5d5db2c5ad5e3ec0877070634aa9bdf86b4c50c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/ab808b0bcb5305c516f3c9e4ec0f4c47f46f44c1341759496a824f73d63e7822720e0750030819373c490b6cdf03ef60ee3f0bc03de3020624b7a975c6ff025c.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/ab808b0bcb5305c516f3c9e4ec0f4c47f46f44c1341759496a824f73d63e7822720e0750030819373c490b6cdf03ef60ee3f0bc03de3020624b7a975c6ff025c.snapshot.json
new file mode 100644
index 0000000..04652ec
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/ab808b0bcb5305c516f3c9e4ec0f4c47f46f44c1341759496a824f73d63e7822720e0750030819373c490b6cdf03ef60ee3f0bc03de3020624b7a975c6ff025c.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"ce39596f1e9c94bb41d7fffdaf036b66f0ba7ec462b62b67fa4abac454a8db0d167519c83ea9475b3f375457e309a4bd88b2bc507eb49dc61f826bbe7a15bf70"},"length":925,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"65cf3c47ea6b8a76cce714775d2f128f62e8d18bfd9706cdcdc6d1984ff35fb8211916d774c4275bf2fed513de6ff1d325cd62638dc9eb65593051589e827500"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"65cf3c47ea6b8a76cce714775d2f128f62e8d18bfd9706cdcdc6d1984ff35fb8211916d774c4275bf2fed513de6ff1d325cd62638dc9eb65593051589e827500"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/ce39596f1e9c94bb41d7fffdaf036b66f0ba7ec462b62b67fa4abac454a8db0d167519c83ea9475b3f375457e309a4bd88b2bc507eb49dc61f826bbe7a15bf70.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/ce39596f1e9c94bb41d7fffdaf036b66f0ba7ec462b62b67fa4abac454a8db0d167519c83ea9475b3f375457e309a4bd88b2bc507eb49dc61f826bbe7a15bf70.targets.json
new file mode 100644
index 0000000..23045c8
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/ce39596f1e9c94bb41d7fffdaf036b66f0ba7ec462b62b67fa4abac454a8db0d167519c83ea9475b3f375457e309a4bd88b2bc507eb49dc61f826bbe7a15bf70.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"3abfaa99c1add4ca9f4576ae521bf6857c4c4e5fa9d9b806296b78b5945a845f3cb17be1066d22f0f6ea3908929230732ee01ebeeba6edf1d229d9db1ca34403"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"3abfaa99c1add4ca9f4576ae521bf6857c4c4e5fa9d9b806296b78b5945a845f3cb17be1066d22f0f6ea3908929230732ee01ebeeba6edf1d229d9db1ca34403"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98.targets.json
new file mode 100644
index 0000000..292ec25
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"b23617412b30d0d7b5ef1a9002b0bf805f6fe4303c54289b55906ec333ddc265aafd06c605806f2fa95675254334b9c19a93c6f05c3e8e6f575c35c7180b1e03"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"b23617412b30d0d7b5ef1a9002b0bf805f6fe4303c54289b55906ec333ddc265aafd06c605806f2fa95675254334b9c19a93c6f05c3e8e6f575c35c7180b1e03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/f8db89127357df9e92122c0b0b64fa533d6d2d607386f2674a3a294bc7fd651d64263272597925ca8a4c6c4adf82b7c2022b1fb790adcf823ced37d068053195.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/f8db89127357df9e92122c0b0b64fa533d6d2d607386f2674a3a294bc7fd651d64263272597925ca8a4c6c4adf82b7c2022b1fb790adcf823ced37d068053195.snapshot.json
new file mode 100644
index 0000000..5c0ca32
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/f8db89127357df9e92122c0b0b64fa533d6d2d607386f2674a3a294bc7fd651d64263272597925ca8a4c6c4adf82b7c2022b1fb790adcf823ced37d068053195.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98"},"length":757,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"f4f5e45a9dfcb45afc52f5e2b39189f7d83f565999dd73a3db576352b87eb8844076774656da2a78b5017723b79fd7d9e254b4c04a45f2f298bf889df00ae00f"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"f4f5e45a9dfcb45afc52f5e2b39189f7d83f565999dd73a3db576352b87eb8844076774656da2a78b5017723b79fd7d9e254b4c04a45f2f298bf889df00ae00f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/root.json
new file mode 100644
index 0000000..cdf4512
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9","338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"7b1c4561f0e7a9d7776609c49f8560668b70276a0c1df9cdfb1b75ed8535a6bdb0745f37bf0cd0c43cfd83cfa85b9ff933f1810d68d61a3c8b7c4489ad7d5300"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"7b1c4561f0e7a9d7776609c49f8560668b70276a0c1df9cdfb1b75ed8535a6bdb0745f37bf0cd0c43cfd83cfa85b9ff933f1810d68d61a3c8b7c4489ad7d5300"},{"keyid":"cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9","method":"ed25519","sig":"577579220df42d4fe111b8ba070b5a3994a52171aade65d075988b016117d658fe45d289ca5a3c8b9b4bdb2be572f3c853e76d59d9e7c69768bee516dd8d790d"},{"keyid":"338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c","method":"ed25519","sig":"577579220df42d4fe111b8ba070b5a3994a52171aade65d075988b016117d658fe45d289ca5a3c8b9b4bdb2be572f3c853e76d59d9e7c69768bee516dd8d790d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/snapshot.json
new file mode 100644
index 0000000..7a0c7b2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"2173ab9bee387c71e15a0fa5d1ab4d8564b3e116d8fc2cfda63202a6f9d4c706ac0409068025ff5a4a64965f8f5d0bda06f117d20a1416cfbdd10280eb7c11fc"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"0ec1ef739122eb6e71e8ba50e3c40674ff7983f7970fc4309e47a6b181b5abe731370665a60382bcb8cd43102cd1797b63dd2f277a723bf8342134894df4bbaf"},"length":1261,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"7d848da83913b0a03c5b632550db36464f3f6cbecdcb6ecdefdf21455d358d471fae5dab2d7041366e4e5e18d2d2b9d779c66eb48ad2a8aaefc52fedfd1eb108"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"7d848da83913b0a03c5b632550db36464f3f6cbecdcb6ecdefdf21455d358d471fae5dab2d7041366e4e5e18d2d2b9d779c66eb48ad2a8aaefc52fedfd1eb108"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/targets.json
new file mode 100644
index 0000000..ba786b1
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"938490fdb35e433119022b66ef34034a6bf502599b4d5ed89b6bc09bcf14cd0c5f9fa68371eff7c74879e107b9a37a378ccac374772146c40f75f79ce1a1690a"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"938490fdb35e433119022b66ef34034a6bf502599b4d5ed89b6bc09bcf14cd0c5f9fa68371eff7c74879e107b9a37a378ccac374772146c40f75f79ce1a1690a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/targets/0.0 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/targets/0.1 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/targets/0.2 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/targets/0.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/targets/0.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/targets/0.3 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/targets/0.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/targets/0.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/timestamp.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/timestamp.json
new file mode 100644
index 0000000..b5be0d0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/3/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"18e3974c83679e350b11ba69a878d8cd0742cc1b0934f480e276d7baf30de7d60b3091a299b122cdb26b09b70f85512f700cc7ff437f9778182e18177142f896"},"length":972,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","method":"ed25519","sig":"2deee89f16309380a31b6d0299b2764c657bce3a2a49f26788b7ffe4c1bd13130f95e5959f3b0700aa82a4bb6c46d5531217fbccd20d5874b03fcd460ca1600e"},{"keyid":"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86","method":"ed25519","sig":"2deee89f16309380a31b6d0299b2764c657bce3a2a49f26788b7ffe4c1bd13130f95e5959f3b0700aa82a4bb6c46d5531217fbccd20d5874b03fcd460ca1600e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/keys/root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/keys/root.json
new file mode 100644
index 0000000..9bd5fc9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/keys/root.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6","private":"a26631ff1f825fef9b1db24884b23781967467169d34273ca42b88e3756e4c338f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/keys/snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/keys/snapshot.json
new file mode 100644
index 0000000..db43233
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/keys/snapshot.json
@@ -0,0 +1,27 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b",
+				"private": "f4ee327862ce91e6b356800d08431c0efce31868d8b0f834412881608c47fd23019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "36add11324eed2f4ebeb3aa20b1f47fd6172f62eb3982cc002c8a9fcbe194bbf",
+				"private": "a5841265c1f714a7991b8780de944ea94d2ad5701819d49023a03822586cc6ad36add11324eed2f4ebeb3aa20b1f47fd6172f62eb3982cc002c8a9fcbe194bbf"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/keys/targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/keys/targets.json
new file mode 100644
index 0000000..cdd224d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303",
+				"private": "1def3d784ee8972a19e925e05ea7f6e5ea085adb39843e82fc5f3c76568197d3ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/keys/timestamp.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/keys/timestamp.json
new file mode 100644
index 0000000..697e7db
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9","private":"cbe74fdca225bf802177d183390d26dcdf2e5d0234cf5bec6aff43cec2066e37ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/04f5bfc178649ed16e16f665e9b5ba613fa92646fca7f097526bebb5323286f4c1a349b42a5ff5d7a53db8be44782bcbdfac7bd194ea9a9b920873a82e5028d3.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/04f5bfc178649ed16e16f665e9b5ba613fa92646fca7f097526bebb5323286f4c1a349b42a5ff5d7a53db8be44782bcbdfac7bd194ea9a9b920873a82e5028d3.snapshot.json
new file mode 100644
index 0000000..ff6ae0f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/04f5bfc178649ed16e16f665e9b5ba613fa92646fca7f097526bebb5323286f4c1a349b42a5ff5d7a53db8be44782bcbdfac7bd194ea9a9b920873a82e5028d3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"738e4b137520989ce484e9478c223345f0262687a75d3fc673661430ea26685a66ad32307ea7613126712f08edd80429f2701aa30ee6762a2d8f05071e33d4f8"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"c39900fb506fab1338f738208dfe932917d9f9f06a350771eb55c236eb8fdf014f3fda7b1822f38796a819cccf8072bd6c06df3776fbf131774d7aaf65a299dd"},"length":1429,"version":5}},"spec_version":"0.9","version":5},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"f4ff6ff8461fca1fe98f962559cf7a5e9a8f573926c49237408c02eb1a7c0b1102c4718395b50458f09316528f8556a81a448141a73581d149d25dee25cc6105"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"f4ff6ff8461fca1fe98f962559cf7a5e9a8f573926c49237408c02eb1a7c0b1102c4718395b50458f09316528f8556a81a448141a73581d149d25dee25cc6105"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/0ec1ef739122eb6e71e8ba50e3c40674ff7983f7970fc4309e47a6b181b5abe731370665a60382bcb8cd43102cd1797b63dd2f277a723bf8342134894df4bbaf.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/0ec1ef739122eb6e71e8ba50e3c40674ff7983f7970fc4309e47a6b181b5abe731370665a60382bcb8cd43102cd1797b63dd2f277a723bf8342134894df4bbaf.targets.json
new file mode 100644
index 0000000..ba786b1
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/0ec1ef739122eb6e71e8ba50e3c40674ff7983f7970fc4309e47a6b181b5abe731370665a60382bcb8cd43102cd1797b63dd2f277a723bf8342134894df4bbaf.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"938490fdb35e433119022b66ef34034a6bf502599b4d5ed89b6bc09bcf14cd0c5f9fa68371eff7c74879e107b9a37a378ccac374772146c40f75f79ce1a1690a"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"938490fdb35e433119022b66ef34034a6bf502599b4d5ed89b6bc09bcf14cd0c5f9fa68371eff7c74879e107b9a37a378ccac374772146c40f75f79ce1a1690a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/1.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/1.root.json
new file mode 100644
index 0000000..a9bdcc2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7308153832f8e3c418f7be211722c6ef45e3974e7cfda2828f0006750624e169":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"},"scheme":"ed25519"},"744e1dd9d9fdfe7d8b3322e2dcf567c5c1f9b8910976006155d6204697566597":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["7308153832f8e3c418f7be211722c6ef45e3974e7cfda2828f0006750624e169","744e1dd9d9fdfe7d8b3322e2dcf567c5c1f9b8910976006155d6204697566597"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"c98c86e7b57a5c446fce0f7b305b52817211cb809a9ef03c955a471814358f47339c6ea53cc912c86a81f3b3752f9647ff5915c2ec8d85b61fe13567e250aa0a"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"c98c86e7b57a5c446fce0f7b305b52817211cb809a9ef03c955a471814358f47339c6ea53cc912c86a81f3b3752f9647ff5915c2ec8d85b61fe13567e250aa0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/1.snapshot.json
new file mode 100644
index 0000000..5c0ca32
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98"},"length":757,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"f4f5e45a9dfcb45afc52f5e2b39189f7d83f565999dd73a3db576352b87eb8844076774656da2a78b5017723b79fd7d9e254b4c04a45f2f298bf889df00ae00f"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"f4f5e45a9dfcb45afc52f5e2b39189f7d83f565999dd73a3db576352b87eb8844076774656da2a78b5017723b79fd7d9e254b4c04a45f2f298bf889df00ae00f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/1.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/1.targets.json
new file mode 100644
index 0000000..292ec25
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"b23617412b30d0d7b5ef1a9002b0bf805f6fe4303c54289b55906ec333ddc265aafd06c605806f2fa95675254334b9c19a93c6f05c3e8e6f575c35c7180b1e03"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"b23617412b30d0d7b5ef1a9002b0bf805f6fe4303c54289b55906ec333ddc265aafd06c605806f2fa95675254334b9c19a93c6f05c3e8e6f575c35c7180b1e03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/18e3974c83679e350b11ba69a878d8cd0742cc1b0934f480e276d7baf30de7d60b3091a299b122cdb26b09b70f85512f700cc7ff437f9778182e18177142f896.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/18e3974c83679e350b11ba69a878d8cd0742cc1b0934f480e276d7baf30de7d60b3091a299b122cdb26b09b70f85512f700cc7ff437f9778182e18177142f896.snapshot.json
new file mode 100644
index 0000000..7a0c7b2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/18e3974c83679e350b11ba69a878d8cd0742cc1b0934f480e276d7baf30de7d60b3091a299b122cdb26b09b70f85512f700cc7ff437f9778182e18177142f896.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"2173ab9bee387c71e15a0fa5d1ab4d8564b3e116d8fc2cfda63202a6f9d4c706ac0409068025ff5a4a64965f8f5d0bda06f117d20a1416cfbdd10280eb7c11fc"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"0ec1ef739122eb6e71e8ba50e3c40674ff7983f7970fc4309e47a6b181b5abe731370665a60382bcb8cd43102cd1797b63dd2f277a723bf8342134894df4bbaf"},"length":1261,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"7d848da83913b0a03c5b632550db36464f3f6cbecdcb6ecdefdf21455d358d471fae5dab2d7041366e4e5e18d2d2b9d779c66eb48ad2a8aaefc52fedfd1eb108"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"7d848da83913b0a03c5b632550db36464f3f6cbecdcb6ecdefdf21455d358d471fae5dab2d7041366e4e5e18d2d2b9d779c66eb48ad2a8aaefc52fedfd1eb108"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/2.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/2.root.json
new file mode 100644
index 0000000..ac2e644
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"d0e52e000883f72634151fabf0c9811e6733a32b3d7592ba6c48251a2b74d728f3d0baed17292ac9495c84843e2125d8a77be2f3a91b8fa6d03d725bd4c41f04"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"d0e52e000883f72634151fabf0c9811e6733a32b3d7592ba6c48251a2b74d728f3d0baed17292ac9495c84843e2125d8a77be2f3a91b8fa6d03d725bd4c41f04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/2.snapshot.json
new file mode 100644
index 0000000..04652ec
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"ce39596f1e9c94bb41d7fffdaf036b66f0ba7ec462b62b67fa4abac454a8db0d167519c83ea9475b3f375457e309a4bd88b2bc507eb49dc61f826bbe7a15bf70"},"length":925,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"65cf3c47ea6b8a76cce714775d2f128f62e8d18bfd9706cdcdc6d1984ff35fb8211916d774c4275bf2fed513de6ff1d325cd62638dc9eb65593051589e827500"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"65cf3c47ea6b8a76cce714775d2f128f62e8d18bfd9706cdcdc6d1984ff35fb8211916d774c4275bf2fed513de6ff1d325cd62638dc9eb65593051589e827500"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/2.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/2.targets.json
new file mode 100644
index 0000000..23045c8
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/2.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"3abfaa99c1add4ca9f4576ae521bf6857c4c4e5fa9d9b806296b78b5945a845f3cb17be1066d22f0f6ea3908929230732ee01ebeeba6edf1d229d9db1ca34403"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"3abfaa99c1add4ca9f4576ae521bf6857c4c4e5fa9d9b806296b78b5945a845f3cb17be1066d22f0f6ea3908929230732ee01ebeeba6edf1d229d9db1ca34403"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/2173ab9bee387c71e15a0fa5d1ab4d8564b3e116d8fc2cfda63202a6f9d4c706ac0409068025ff5a4a64965f8f5d0bda06f117d20a1416cfbdd10280eb7c11fc.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/2173ab9bee387c71e15a0fa5d1ab4d8564b3e116d8fc2cfda63202a6f9d4c706ac0409068025ff5a4a64965f8f5d0bda06f117d20a1416cfbdd10280eb7c11fc.root.json
new file mode 100644
index 0000000..cdf4512
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/2173ab9bee387c71e15a0fa5d1ab4d8564b3e116d8fc2cfda63202a6f9d4c706ac0409068025ff5a4a64965f8f5d0bda06f117d20a1416cfbdd10280eb7c11fc.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9","338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"7b1c4561f0e7a9d7776609c49f8560668b70276a0c1df9cdfb1b75ed8535a6bdb0745f37bf0cd0c43cfd83cfa85b9ff933f1810d68d61a3c8b7c4489ad7d5300"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"7b1c4561f0e7a9d7776609c49f8560668b70276a0c1df9cdfb1b75ed8535a6bdb0745f37bf0cd0c43cfd83cfa85b9ff933f1810d68d61a3c8b7c4489ad7d5300"},{"keyid":"cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9","method":"ed25519","sig":"577579220df42d4fe111b8ba070b5a3994a52171aade65d075988b016117d658fe45d289ca5a3c8b9b4bdb2be572f3c853e76d59d9e7c69768bee516dd8d790d"},{"keyid":"338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c","method":"ed25519","sig":"577579220df42d4fe111b8ba070b5a3994a52171aade65d075988b016117d658fe45d289ca5a3c8b9b4bdb2be572f3c853e76d59d9e7c69768bee516dd8d790d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/3.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/3.root.json
new file mode 100644
index 0000000..cdf4512
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/3.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9","338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"7b1c4561f0e7a9d7776609c49f8560668b70276a0c1df9cdfb1b75ed8535a6bdb0745f37bf0cd0c43cfd83cfa85b9ff933f1810d68d61a3c8b7c4489ad7d5300"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"7b1c4561f0e7a9d7776609c49f8560668b70276a0c1df9cdfb1b75ed8535a6bdb0745f37bf0cd0c43cfd83cfa85b9ff933f1810d68d61a3c8b7c4489ad7d5300"},{"keyid":"cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9","method":"ed25519","sig":"577579220df42d4fe111b8ba070b5a3994a52171aade65d075988b016117d658fe45d289ca5a3c8b9b4bdb2be572f3c853e76d59d9e7c69768bee516dd8d790d"},{"keyid":"338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c","method":"ed25519","sig":"577579220df42d4fe111b8ba070b5a3994a52171aade65d075988b016117d658fe45d289ca5a3c8b9b4bdb2be572f3c853e76d59d9e7c69768bee516dd8d790d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/3.snapshot.json
new file mode 100644
index 0000000..993ed40
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"a5b514a9593d8208c992fe7473270ff4ba7fa761462d0e79bef120f5712fa427d235520f62752e7bbc65454c1313fea0ca65bc629d6193a717286046e31fd921"},"length":1093,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"f402239cf83d47b9d7e1ced705597c94ba489e1dfbb2e72e0fb9f200c9682da37b3b456e56259e98c631b6750ec63934609632e53ca89fa2c5ce550614366e00"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"f402239cf83d47b9d7e1ced705597c94ba489e1dfbb2e72e0fb9f200c9682da37b3b456e56259e98c631b6750ec63934609632e53ca89fa2c5ce550614366e00"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/3.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/3.targets.json
new file mode 100644
index 0000000..9da4ac2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/3.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"d375b9b74a28084c58216407ccdc9c4526fa204aba99700b58c97ee5975d2ce3c7a0a686fe302eefa768fec8c5d5db2c5ad5e3ec0877070634aa9bdf86b4c50c"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"d375b9b74a28084c58216407ccdc9c4526fa204aba99700b58c97ee5975d2ce3c7a0a686fe302eefa768fec8c5d5db2c5ad5e3ec0877070634aa9bdf86b4c50c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/4.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/4.root.json
new file mode 100644
index 0000000..e04ad63
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/4.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9","338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86"],"threshold":1}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9","method":"ed25519","sig":"f384d9400d04e1ec6c25f122831a7221c6874298003b863267bd2ed287aca8495ecd9b16732ed46e7164d0699fe0315eb8e852dfe4e6ad22debecfffd402fa03"},{"keyid":"338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c","method":"ed25519","sig":"f384d9400d04e1ec6c25f122831a7221c6874298003b863267bd2ed287aca8495ecd9b16732ed46e7164d0699fe0315eb8e852dfe4e6ad22debecfffd402fa03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/4.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/4.snapshot.json
new file mode 100644
index 0000000..7a0c7b2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/4.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"2173ab9bee387c71e15a0fa5d1ab4d8564b3e116d8fc2cfda63202a6f9d4c706ac0409068025ff5a4a64965f8f5d0bda06f117d20a1416cfbdd10280eb7c11fc"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"0ec1ef739122eb6e71e8ba50e3c40674ff7983f7970fc4309e47a6b181b5abe731370665a60382bcb8cd43102cd1797b63dd2f277a723bf8342134894df4bbaf"},"length":1261,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"7d848da83913b0a03c5b632550db36464f3f6cbecdcb6ecdefdf21455d358d471fae5dab2d7041366e4e5e18d2d2b9d779c66eb48ad2a8aaefc52fedfd1eb108"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"7d848da83913b0a03c5b632550db36464f3f6cbecdcb6ecdefdf21455d358d471fae5dab2d7041366e4e5e18d2d2b9d779c66eb48ad2a8aaefc52fedfd1eb108"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/4.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/4.targets.json
new file mode 100644
index 0000000..ba786b1
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/4.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"938490fdb35e433119022b66ef34034a6bf502599b4d5ed89b6bc09bcf14cd0c5f9fa68371eff7c74879e107b9a37a378ccac374772146c40f75f79ce1a1690a"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"938490fdb35e433119022b66ef34034a6bf502599b4d5ed89b6bc09bcf14cd0c5f9fa68371eff7c74879e107b9a37a378ccac374772146c40f75f79ce1a1690a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2.root.json
new file mode 100644
index 0000000..ac2e644
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"d0e52e000883f72634151fabf0c9811e6733a32b3d7592ba6c48251a2b74d728f3d0baed17292ac9495c84843e2125d8a77be2f3a91b8fa6d03d725bd4c41f04"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"d0e52e000883f72634151fabf0c9811e6733a32b3d7592ba6c48251a2b74d728f3d0baed17292ac9495c84843e2125d8a77be2f3a91b8fa6d03d725bd4c41f04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/5.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/5.snapshot.json
new file mode 100644
index 0000000..ff6ae0f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/5.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"738e4b137520989ce484e9478c223345f0262687a75d3fc673661430ea26685a66ad32307ea7613126712f08edd80429f2701aa30ee6762a2d8f05071e33d4f8"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"c39900fb506fab1338f738208dfe932917d9f9f06a350771eb55c236eb8fdf014f3fda7b1822f38796a819cccf8072bd6c06df3776fbf131774d7aaf65a299dd"},"length":1429,"version":5}},"spec_version":"0.9","version":5},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"f4ff6ff8461fca1fe98f962559cf7a5e9a8f573926c49237408c02eb1a7c0b1102c4718395b50458f09316528f8556a81a448141a73581d149d25dee25cc6105"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"f4ff6ff8461fca1fe98f962559cf7a5e9a8f573926c49237408c02eb1a7c0b1102c4718395b50458f09316528f8556a81a448141a73581d149d25dee25cc6105"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/5.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/5.targets.json
new file mode 100644
index 0000000..a189aa1
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/5.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"85e46cf68e988fe402dbfd9cf4d7de64ad408364cb4ee879b2c352d4cd097630f2318afa3fdb9ede63aaed18c5c3ecbeef42d2094fbb9bb8db4bdb9501ce8f08"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"85e46cf68e988fe402dbfd9cf4d7de64ad408364cb4ee879b2c352d4cd097630f2318afa3fdb9ede63aaed18c5c3ecbeef42d2094fbb9bb8db4bdb9501ce8f08"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/5e829cbefa45c725dc0a0c92186f04f3aaeeb1603dbd2295e148e22452f826764224b6ee4eea1d73f262e4e1e1c21753537d24a6e6a33e40a5015cea590e6f9a.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/5e829cbefa45c725dc0a0c92186f04f3aaeeb1603dbd2295e148e22452f826764224b6ee4eea1d73f262e4e1e1c21753537d24a6e6a33e40a5015cea590e6f9a.snapshot.json
new file mode 100644
index 0000000..993ed40
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/5e829cbefa45c725dc0a0c92186f04f3aaeeb1603dbd2295e148e22452f826764224b6ee4eea1d73f262e4e1e1c21753537d24a6e6a33e40a5015cea590e6f9a.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"a5b514a9593d8208c992fe7473270ff4ba7fa761462d0e79bef120f5712fa427d235520f62752e7bbc65454c1313fea0ca65bc629d6193a717286046e31fd921"},"length":1093,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"f402239cf83d47b9d7e1ced705597c94ba489e1dfbb2e72e0fb9f200c9682da37b3b456e56259e98c631b6750ec63934609632e53ca89fa2c5ce550614366e00"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"f402239cf83d47b9d7e1ced705597c94ba489e1dfbb2e72e0fb9f200c9682da37b3b456e56259e98c631b6750ec63934609632e53ca89fa2c5ce550614366e00"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/738e4b137520989ce484e9478c223345f0262687a75d3fc673661430ea26685a66ad32307ea7613126712f08edd80429f2701aa30ee6762a2d8f05071e33d4f8.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/738e4b137520989ce484e9478c223345f0262687a75d3fc673661430ea26685a66ad32307ea7613126712f08edd80429f2701aa30ee6762a2d8f05071e33d4f8.root.json
new file mode 100644
index 0000000..e04ad63
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/738e4b137520989ce484e9478c223345f0262687a75d3fc673661430ea26685a66ad32307ea7613126712f08edd80429f2701aa30ee6762a2d8f05071e33d4f8.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9","338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86"],"threshold":1}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9","method":"ed25519","sig":"f384d9400d04e1ec6c25f122831a7221c6874298003b863267bd2ed287aca8495ecd9b16732ed46e7164d0699fe0315eb8e852dfe4e6ad22debecfffd402fa03"},{"keyid":"338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c","method":"ed25519","sig":"f384d9400d04e1ec6c25f122831a7221c6874298003b863267bd2ed287aca8495ecd9b16732ed46e7164d0699fe0315eb8e852dfe4e6ad22debecfffd402fa03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10.root.json
new file mode 100644
index 0000000..a9bdcc2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7308153832f8e3c418f7be211722c6ef45e3974e7cfda2828f0006750624e169":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"},"scheme":"ed25519"},"744e1dd9d9fdfe7d8b3322e2dcf567c5c1f9b8910976006155d6204697566597":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["7308153832f8e3c418f7be211722c6ef45e3974e7cfda2828f0006750624e169","744e1dd9d9fdfe7d8b3322e2dcf567c5c1f9b8910976006155d6204697566597"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"c98c86e7b57a5c446fce0f7b305b52817211cb809a9ef03c955a471814358f47339c6ea53cc912c86a81f3b3752f9647ff5915c2ec8d85b61fe13567e250aa0a"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"c98c86e7b57a5c446fce0f7b305b52817211cb809a9ef03c955a471814358f47339c6ea53cc912c86a81f3b3752f9647ff5915c2ec8d85b61fe13567e250aa0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/a5b514a9593d8208c992fe7473270ff4ba7fa761462d0e79bef120f5712fa427d235520f62752e7bbc65454c1313fea0ca65bc629d6193a717286046e31fd921.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/a5b514a9593d8208c992fe7473270ff4ba7fa761462d0e79bef120f5712fa427d235520f62752e7bbc65454c1313fea0ca65bc629d6193a717286046e31fd921.targets.json
new file mode 100644
index 0000000..9da4ac2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/a5b514a9593d8208c992fe7473270ff4ba7fa761462d0e79bef120f5712fa427d235520f62752e7bbc65454c1313fea0ca65bc629d6193a717286046e31fd921.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"d375b9b74a28084c58216407ccdc9c4526fa204aba99700b58c97ee5975d2ce3c7a0a686fe302eefa768fec8c5d5db2c5ad5e3ec0877070634aa9bdf86b4c50c"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"d375b9b74a28084c58216407ccdc9c4526fa204aba99700b58c97ee5975d2ce3c7a0a686fe302eefa768fec8c5d5db2c5ad5e3ec0877070634aa9bdf86b4c50c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/ab808b0bcb5305c516f3c9e4ec0f4c47f46f44c1341759496a824f73d63e7822720e0750030819373c490b6cdf03ef60ee3f0bc03de3020624b7a975c6ff025c.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/ab808b0bcb5305c516f3c9e4ec0f4c47f46f44c1341759496a824f73d63e7822720e0750030819373c490b6cdf03ef60ee3f0bc03de3020624b7a975c6ff025c.snapshot.json
new file mode 100644
index 0000000..04652ec
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/ab808b0bcb5305c516f3c9e4ec0f4c47f46f44c1341759496a824f73d63e7822720e0750030819373c490b6cdf03ef60ee3f0bc03de3020624b7a975c6ff025c.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"ce39596f1e9c94bb41d7fffdaf036b66f0ba7ec462b62b67fa4abac454a8db0d167519c83ea9475b3f375457e309a4bd88b2bc507eb49dc61f826bbe7a15bf70"},"length":925,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"65cf3c47ea6b8a76cce714775d2f128f62e8d18bfd9706cdcdc6d1984ff35fb8211916d774c4275bf2fed513de6ff1d325cd62638dc9eb65593051589e827500"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"65cf3c47ea6b8a76cce714775d2f128f62e8d18bfd9706cdcdc6d1984ff35fb8211916d774c4275bf2fed513de6ff1d325cd62638dc9eb65593051589e827500"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/c39900fb506fab1338f738208dfe932917d9f9f06a350771eb55c236eb8fdf014f3fda7b1822f38796a819cccf8072bd6c06df3776fbf131774d7aaf65a299dd.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/c39900fb506fab1338f738208dfe932917d9f9f06a350771eb55c236eb8fdf014f3fda7b1822f38796a819cccf8072bd6c06df3776fbf131774d7aaf65a299dd.targets.json
new file mode 100644
index 0000000..a189aa1
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/c39900fb506fab1338f738208dfe932917d9f9f06a350771eb55c236eb8fdf014f3fda7b1822f38796a819cccf8072bd6c06df3776fbf131774d7aaf65a299dd.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"85e46cf68e988fe402dbfd9cf4d7de64ad408364cb4ee879b2c352d4cd097630f2318afa3fdb9ede63aaed18c5c3ecbeef42d2094fbb9bb8db4bdb9501ce8f08"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"85e46cf68e988fe402dbfd9cf4d7de64ad408364cb4ee879b2c352d4cd097630f2318afa3fdb9ede63aaed18c5c3ecbeef42d2094fbb9bb8db4bdb9501ce8f08"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/ce39596f1e9c94bb41d7fffdaf036b66f0ba7ec462b62b67fa4abac454a8db0d167519c83ea9475b3f375457e309a4bd88b2bc507eb49dc61f826bbe7a15bf70.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/ce39596f1e9c94bb41d7fffdaf036b66f0ba7ec462b62b67fa4abac454a8db0d167519c83ea9475b3f375457e309a4bd88b2bc507eb49dc61f826bbe7a15bf70.targets.json
new file mode 100644
index 0000000..23045c8
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/ce39596f1e9c94bb41d7fffdaf036b66f0ba7ec462b62b67fa4abac454a8db0d167519c83ea9475b3f375457e309a4bd88b2bc507eb49dc61f826bbe7a15bf70.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"3abfaa99c1add4ca9f4576ae521bf6857c4c4e5fa9d9b806296b78b5945a845f3cb17be1066d22f0f6ea3908929230732ee01ebeeba6edf1d229d9db1ca34403"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"3abfaa99c1add4ca9f4576ae521bf6857c4c4e5fa9d9b806296b78b5945a845f3cb17be1066d22f0f6ea3908929230732ee01ebeeba6edf1d229d9db1ca34403"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98.targets.json
new file mode 100644
index 0000000..292ec25
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"b23617412b30d0d7b5ef1a9002b0bf805f6fe4303c54289b55906ec333ddc265aafd06c605806f2fa95675254334b9c19a93c6f05c3e8e6f575c35c7180b1e03"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"b23617412b30d0d7b5ef1a9002b0bf805f6fe4303c54289b55906ec333ddc265aafd06c605806f2fa95675254334b9c19a93c6f05c3e8e6f575c35c7180b1e03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/f8db89127357df9e92122c0b0b64fa533d6d2d607386f2674a3a294bc7fd651d64263272597925ca8a4c6c4adf82b7c2022b1fb790adcf823ced37d068053195.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/f8db89127357df9e92122c0b0b64fa533d6d2d607386f2674a3a294bc7fd651d64263272597925ca8a4c6c4adf82b7c2022b1fb790adcf823ced37d068053195.snapshot.json
new file mode 100644
index 0000000..5c0ca32
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/f8db89127357df9e92122c0b0b64fa533d6d2d607386f2674a3a294bc7fd651d64263272597925ca8a4c6c4adf82b7c2022b1fb790adcf823ced37d068053195.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98"},"length":757,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"f4f5e45a9dfcb45afc52f5e2b39189f7d83f565999dd73a3db576352b87eb8844076774656da2a78b5017723b79fd7d9e254b4c04a45f2f298bf889df00ae00f"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"f4f5e45a9dfcb45afc52f5e2b39189f7d83f565999dd73a3db576352b87eb8844076774656da2a78b5017723b79fd7d9e254b4c04a45f2f298bf889df00ae00f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/root.json
new file mode 100644
index 0000000..e04ad63
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9","338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86"],"threshold":1}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9","method":"ed25519","sig":"f384d9400d04e1ec6c25f122831a7221c6874298003b863267bd2ed287aca8495ecd9b16732ed46e7164d0699fe0315eb8e852dfe4e6ad22debecfffd402fa03"},{"keyid":"338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c","method":"ed25519","sig":"f384d9400d04e1ec6c25f122831a7221c6874298003b863267bd2ed287aca8495ecd9b16732ed46e7164d0699fe0315eb8e852dfe4e6ad22debecfffd402fa03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/snapshot.json
new file mode 100644
index 0000000..ff6ae0f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"738e4b137520989ce484e9478c223345f0262687a75d3fc673661430ea26685a66ad32307ea7613126712f08edd80429f2701aa30ee6762a2d8f05071e33d4f8"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"c39900fb506fab1338f738208dfe932917d9f9f06a350771eb55c236eb8fdf014f3fda7b1822f38796a819cccf8072bd6c06df3776fbf131774d7aaf65a299dd"},"length":1429,"version":5}},"spec_version":"0.9","version":5},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"f4ff6ff8461fca1fe98f962559cf7a5e9a8f573926c49237408c02eb1a7c0b1102c4718395b50458f09316528f8556a81a448141a73581d149d25dee25cc6105"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"f4ff6ff8461fca1fe98f962559cf7a5e9a8f573926c49237408c02eb1a7c0b1102c4718395b50458f09316528f8556a81a448141a73581d149d25dee25cc6105"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets.json
new file mode 100644
index 0000000..a189aa1
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"85e46cf68e988fe402dbfd9cf4d7de64ad408364cb4ee879b2c352d4cd097630f2318afa3fdb9ede63aaed18c5c3ecbeef42d2094fbb9bb8db4bdb9501ce8f08"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"85e46cf68e988fe402dbfd9cf4d7de64ad408364cb4ee879b2c352d4cd097630f2318afa3fdb9ede63aaed18c5c3ecbeef42d2094fbb9bb8db4bdb9501ce8f08"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/0.0 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/0.1 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/0.2 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/0.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/0.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/0.3 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/0.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/0.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/0.4 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/0.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/0.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/timestamp.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/timestamp.json
new file mode 100644
index 0000000..96e3821
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/4/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"04f5bfc178649ed16e16f665e9b5ba613fa92646fca7f097526bebb5323286f4c1a349b42a5ff5d7a53db8be44782bcbdfac7bd194ea9a9b920873a82e5028d3"},"length":972,"version":5}},"spec_version":"0.9","version":5},"signatures":[{"keyid":"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","method":"ed25519","sig":"60e5bd6e74173d4143f3b6bbd8ef8523dbd7d58bdfac63d78cac4ed2dbf7838ac45234df8dcad1fc8954e60105b51841d4dd9577d06036344fa7bbad9d4d5403"},{"keyid":"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86","method":"ed25519","sig":"60e5bd6e74173d4143f3b6bbd8ef8523dbd7d58bdfac63d78cac4ed2dbf7838ac45234df8dcad1fc8954e60105b51841d4dd9577d06036344fa7bbad9d4d5403"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/keys/root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/keys/root.json
new file mode 100644
index 0000000..9bd5fc9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/keys/root.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6","private":"a26631ff1f825fef9b1db24884b23781967467169d34273ca42b88e3756e4c338f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/keys/snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/keys/snapshot.json
new file mode 100644
index 0000000..db43233
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/keys/snapshot.json
@@ -0,0 +1,27 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b",
+				"private": "f4ee327862ce91e6b356800d08431c0efce31868d8b0f834412881608c47fd23019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "36add11324eed2f4ebeb3aa20b1f47fd6172f62eb3982cc002c8a9fcbe194bbf",
+				"private": "a5841265c1f714a7991b8780de944ea94d2ad5701819d49023a03822586cc6ad36add11324eed2f4ebeb3aa20b1f47fd6172f62eb3982cc002c8a9fcbe194bbf"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/keys/targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/keys/targets.json
new file mode 100644
index 0000000..cdd224d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303",
+				"private": "1def3d784ee8972a19e925e05ea7f6e5ea085adb39843e82fc5f3c76568197d3ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/keys/timestamp.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/keys/timestamp.json
new file mode 100644
index 0000000..697e7db
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9","private":"cbe74fdca225bf802177d183390d26dcdf2e5d0234cf5bec6aff43cec2066e37ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/04f5bfc178649ed16e16f665e9b5ba613fa92646fca7f097526bebb5323286f4c1a349b42a5ff5d7a53db8be44782bcbdfac7bd194ea9a9b920873a82e5028d3.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/04f5bfc178649ed16e16f665e9b5ba613fa92646fca7f097526bebb5323286f4c1a349b42a5ff5d7a53db8be44782bcbdfac7bd194ea9a9b920873a82e5028d3.snapshot.json
new file mode 100644
index 0000000..ff6ae0f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/04f5bfc178649ed16e16f665e9b5ba613fa92646fca7f097526bebb5323286f4c1a349b42a5ff5d7a53db8be44782bcbdfac7bd194ea9a9b920873a82e5028d3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"738e4b137520989ce484e9478c223345f0262687a75d3fc673661430ea26685a66ad32307ea7613126712f08edd80429f2701aa30ee6762a2d8f05071e33d4f8"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"c39900fb506fab1338f738208dfe932917d9f9f06a350771eb55c236eb8fdf014f3fda7b1822f38796a819cccf8072bd6c06df3776fbf131774d7aaf65a299dd"},"length":1429,"version":5}},"spec_version":"0.9","version":5},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"f4ff6ff8461fca1fe98f962559cf7a5e9a8f573926c49237408c02eb1a7c0b1102c4718395b50458f09316528f8556a81a448141a73581d149d25dee25cc6105"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"f4ff6ff8461fca1fe98f962559cf7a5e9a8f573926c49237408c02eb1a7c0b1102c4718395b50458f09316528f8556a81a448141a73581d149d25dee25cc6105"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/0ec1ef739122eb6e71e8ba50e3c40674ff7983f7970fc4309e47a6b181b5abe731370665a60382bcb8cd43102cd1797b63dd2f277a723bf8342134894df4bbaf.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/0ec1ef739122eb6e71e8ba50e3c40674ff7983f7970fc4309e47a6b181b5abe731370665a60382bcb8cd43102cd1797b63dd2f277a723bf8342134894df4bbaf.targets.json
new file mode 100644
index 0000000..ba786b1
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/0ec1ef739122eb6e71e8ba50e3c40674ff7983f7970fc4309e47a6b181b5abe731370665a60382bcb8cd43102cd1797b63dd2f277a723bf8342134894df4bbaf.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"938490fdb35e433119022b66ef34034a6bf502599b4d5ed89b6bc09bcf14cd0c5f9fa68371eff7c74879e107b9a37a378ccac374772146c40f75f79ce1a1690a"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"938490fdb35e433119022b66ef34034a6bf502599b4d5ed89b6bc09bcf14cd0c5f9fa68371eff7c74879e107b9a37a378ccac374772146c40f75f79ce1a1690a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/1.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/1.root.json
new file mode 100644
index 0000000..a9bdcc2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7308153832f8e3c418f7be211722c6ef45e3974e7cfda2828f0006750624e169":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"},"scheme":"ed25519"},"744e1dd9d9fdfe7d8b3322e2dcf567c5c1f9b8910976006155d6204697566597":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["7308153832f8e3c418f7be211722c6ef45e3974e7cfda2828f0006750624e169","744e1dd9d9fdfe7d8b3322e2dcf567c5c1f9b8910976006155d6204697566597"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"c98c86e7b57a5c446fce0f7b305b52817211cb809a9ef03c955a471814358f47339c6ea53cc912c86a81f3b3752f9647ff5915c2ec8d85b61fe13567e250aa0a"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"c98c86e7b57a5c446fce0f7b305b52817211cb809a9ef03c955a471814358f47339c6ea53cc912c86a81f3b3752f9647ff5915c2ec8d85b61fe13567e250aa0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/1.snapshot.json
new file mode 100644
index 0000000..5c0ca32
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98"},"length":757,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"f4f5e45a9dfcb45afc52f5e2b39189f7d83f565999dd73a3db576352b87eb8844076774656da2a78b5017723b79fd7d9e254b4c04a45f2f298bf889df00ae00f"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"f4f5e45a9dfcb45afc52f5e2b39189f7d83f565999dd73a3db576352b87eb8844076774656da2a78b5017723b79fd7d9e254b4c04a45f2f298bf889df00ae00f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/1.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/1.targets.json
new file mode 100644
index 0000000..292ec25
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"b23617412b30d0d7b5ef1a9002b0bf805f6fe4303c54289b55906ec333ddc265aafd06c605806f2fa95675254334b9c19a93c6f05c3e8e6f575c35c7180b1e03"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"b23617412b30d0d7b5ef1a9002b0bf805f6fe4303c54289b55906ec333ddc265aafd06c605806f2fa95675254334b9c19a93c6f05c3e8e6f575c35c7180b1e03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/18e3974c83679e350b11ba69a878d8cd0742cc1b0934f480e276d7baf30de7d60b3091a299b122cdb26b09b70f85512f700cc7ff437f9778182e18177142f896.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/18e3974c83679e350b11ba69a878d8cd0742cc1b0934f480e276d7baf30de7d60b3091a299b122cdb26b09b70f85512f700cc7ff437f9778182e18177142f896.snapshot.json
new file mode 100644
index 0000000..7a0c7b2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/18e3974c83679e350b11ba69a878d8cd0742cc1b0934f480e276d7baf30de7d60b3091a299b122cdb26b09b70f85512f700cc7ff437f9778182e18177142f896.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"2173ab9bee387c71e15a0fa5d1ab4d8564b3e116d8fc2cfda63202a6f9d4c706ac0409068025ff5a4a64965f8f5d0bda06f117d20a1416cfbdd10280eb7c11fc"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"0ec1ef739122eb6e71e8ba50e3c40674ff7983f7970fc4309e47a6b181b5abe731370665a60382bcb8cd43102cd1797b63dd2f277a723bf8342134894df4bbaf"},"length":1261,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"7d848da83913b0a03c5b632550db36464f3f6cbecdcb6ecdefdf21455d358d471fae5dab2d7041366e4e5e18d2d2b9d779c66eb48ad2a8aaefc52fedfd1eb108"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"7d848da83913b0a03c5b632550db36464f3f6cbecdcb6ecdefdf21455d358d471fae5dab2d7041366e4e5e18d2d2b9d779c66eb48ad2a8aaefc52fedfd1eb108"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/2.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/2.root.json
new file mode 100644
index 0000000..ac2e644
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"d0e52e000883f72634151fabf0c9811e6733a32b3d7592ba6c48251a2b74d728f3d0baed17292ac9495c84843e2125d8a77be2f3a91b8fa6d03d725bd4c41f04"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"d0e52e000883f72634151fabf0c9811e6733a32b3d7592ba6c48251a2b74d728f3d0baed17292ac9495c84843e2125d8a77be2f3a91b8fa6d03d725bd4c41f04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/2.snapshot.json
new file mode 100644
index 0000000..04652ec
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"ce39596f1e9c94bb41d7fffdaf036b66f0ba7ec462b62b67fa4abac454a8db0d167519c83ea9475b3f375457e309a4bd88b2bc507eb49dc61f826bbe7a15bf70"},"length":925,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"65cf3c47ea6b8a76cce714775d2f128f62e8d18bfd9706cdcdc6d1984ff35fb8211916d774c4275bf2fed513de6ff1d325cd62638dc9eb65593051589e827500"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"65cf3c47ea6b8a76cce714775d2f128f62e8d18bfd9706cdcdc6d1984ff35fb8211916d774c4275bf2fed513de6ff1d325cd62638dc9eb65593051589e827500"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/2.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/2.targets.json
new file mode 100644
index 0000000..23045c8
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/2.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"3abfaa99c1add4ca9f4576ae521bf6857c4c4e5fa9d9b806296b78b5945a845f3cb17be1066d22f0f6ea3908929230732ee01ebeeba6edf1d229d9db1ca34403"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"3abfaa99c1add4ca9f4576ae521bf6857c4c4e5fa9d9b806296b78b5945a845f3cb17be1066d22f0f6ea3908929230732ee01ebeeba6edf1d229d9db1ca34403"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/2173ab9bee387c71e15a0fa5d1ab4d8564b3e116d8fc2cfda63202a6f9d4c706ac0409068025ff5a4a64965f8f5d0bda06f117d20a1416cfbdd10280eb7c11fc.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/2173ab9bee387c71e15a0fa5d1ab4d8564b3e116d8fc2cfda63202a6f9d4c706ac0409068025ff5a4a64965f8f5d0bda06f117d20a1416cfbdd10280eb7c11fc.root.json
new file mode 100644
index 0000000..cdf4512
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/2173ab9bee387c71e15a0fa5d1ab4d8564b3e116d8fc2cfda63202a6f9d4c706ac0409068025ff5a4a64965f8f5d0bda06f117d20a1416cfbdd10280eb7c11fc.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9","338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"7b1c4561f0e7a9d7776609c49f8560668b70276a0c1df9cdfb1b75ed8535a6bdb0745f37bf0cd0c43cfd83cfa85b9ff933f1810d68d61a3c8b7c4489ad7d5300"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"7b1c4561f0e7a9d7776609c49f8560668b70276a0c1df9cdfb1b75ed8535a6bdb0745f37bf0cd0c43cfd83cfa85b9ff933f1810d68d61a3c8b7c4489ad7d5300"},{"keyid":"cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9","method":"ed25519","sig":"577579220df42d4fe111b8ba070b5a3994a52171aade65d075988b016117d658fe45d289ca5a3c8b9b4bdb2be572f3c853e76d59d9e7c69768bee516dd8d790d"},{"keyid":"338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c","method":"ed25519","sig":"577579220df42d4fe111b8ba070b5a3994a52171aade65d075988b016117d658fe45d289ca5a3c8b9b4bdb2be572f3c853e76d59d9e7c69768bee516dd8d790d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/3.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/3.root.json
new file mode 100644
index 0000000..cdf4512
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/3.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9","338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86"],"threshold":1}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"7b1c4561f0e7a9d7776609c49f8560668b70276a0c1df9cdfb1b75ed8535a6bdb0745f37bf0cd0c43cfd83cfa85b9ff933f1810d68d61a3c8b7c4489ad7d5300"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"7b1c4561f0e7a9d7776609c49f8560668b70276a0c1df9cdfb1b75ed8535a6bdb0745f37bf0cd0c43cfd83cfa85b9ff933f1810d68d61a3c8b7c4489ad7d5300"},{"keyid":"cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9","method":"ed25519","sig":"577579220df42d4fe111b8ba070b5a3994a52171aade65d075988b016117d658fe45d289ca5a3c8b9b4bdb2be572f3c853e76d59d9e7c69768bee516dd8d790d"},{"keyid":"338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c","method":"ed25519","sig":"577579220df42d4fe111b8ba070b5a3994a52171aade65d075988b016117d658fe45d289ca5a3c8b9b4bdb2be572f3c853e76d59d9e7c69768bee516dd8d790d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/3.snapshot.json
new file mode 100644
index 0000000..993ed40
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"a5b514a9593d8208c992fe7473270ff4ba7fa761462d0e79bef120f5712fa427d235520f62752e7bbc65454c1313fea0ca65bc629d6193a717286046e31fd921"},"length":1093,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"f402239cf83d47b9d7e1ced705597c94ba489e1dfbb2e72e0fb9f200c9682da37b3b456e56259e98c631b6750ec63934609632e53ca89fa2c5ce550614366e00"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"f402239cf83d47b9d7e1ced705597c94ba489e1dfbb2e72e0fb9f200c9682da37b3b456e56259e98c631b6750ec63934609632e53ca89fa2c5ce550614366e00"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/3.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/3.targets.json
new file mode 100644
index 0000000..9da4ac2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/3.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"d375b9b74a28084c58216407ccdc9c4526fa204aba99700b58c97ee5975d2ce3c7a0a686fe302eefa768fec8c5d5db2c5ad5e3ec0877070634aa9bdf86b4c50c"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"d375b9b74a28084c58216407ccdc9c4526fa204aba99700b58c97ee5975d2ce3c7a0a686fe302eefa768fec8c5d5db2c5ad5e3ec0877070634aa9bdf86b4c50c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/3c051536db7db70464dc0f29da9eb40d912f4542f550e0e6e50e7ec274d5aa9528060e491c779b002161d7442871330ea2119085a9c02efc313ab5e89bae72f3.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/3c051536db7db70464dc0f29da9eb40d912f4542f550e0e6e50e7ec274d5aa9528060e491c779b002161d7442871330ea2119085a9c02efc313ab5e89bae72f3.targets.json
new file mode 100644
index 0000000..beb1e30
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/3c051536db7db70464dc0f29da9eb40d912f4542f550e0e6e50e7ec274d5aa9528060e491c779b002161d7442871330ea2119085a9c02efc313ab5e89bae72f3.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"d105c6e6ee1da91c95c15a00d870f97b1c131965ab8f6ebc146eaf8d66048152c2aac23cc2fde3ca1d72b810ca0f7f6bbad5a528a55c9ae2e624ec2985f4e10f"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"d105c6e6ee1da91c95c15a00d870f97b1c131965ab8f6ebc146eaf8d66048152c2aac23cc2fde3ca1d72b810ca0f7f6bbad5a528a55c9ae2e624ec2985f4e10f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/4.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/4.root.json
new file mode 100644
index 0000000..e04ad63
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/4.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9","338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86"],"threshold":1}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9","method":"ed25519","sig":"f384d9400d04e1ec6c25f122831a7221c6874298003b863267bd2ed287aca8495ecd9b16732ed46e7164d0699fe0315eb8e852dfe4e6ad22debecfffd402fa03"},{"keyid":"338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c","method":"ed25519","sig":"f384d9400d04e1ec6c25f122831a7221c6874298003b863267bd2ed287aca8495ecd9b16732ed46e7164d0699fe0315eb8e852dfe4e6ad22debecfffd402fa03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/4.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/4.snapshot.json
new file mode 100644
index 0000000..7a0c7b2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/4.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"2173ab9bee387c71e15a0fa5d1ab4d8564b3e116d8fc2cfda63202a6f9d4c706ac0409068025ff5a4a64965f8f5d0bda06f117d20a1416cfbdd10280eb7c11fc"},"length":3610,"version":3},"targets.json":{"hashes":{"sha512":"0ec1ef739122eb6e71e8ba50e3c40674ff7983f7970fc4309e47a6b181b5abe731370665a60382bcb8cd43102cd1797b63dd2f277a723bf8342134894df4bbaf"},"length":1261,"version":4}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"7d848da83913b0a03c5b632550db36464f3f6cbecdcb6ecdefdf21455d358d471fae5dab2d7041366e4e5e18d2d2b9d779c66eb48ad2a8aaefc52fedfd1eb108"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"7d848da83913b0a03c5b632550db36464f3f6cbecdcb6ecdefdf21455d358d471fae5dab2d7041366e4e5e18d2d2b9d779c66eb48ad2a8aaefc52fedfd1eb108"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/4.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/4.targets.json
new file mode 100644
index 0000000..ba786b1
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/4.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"938490fdb35e433119022b66ef34034a6bf502599b4d5ed89b6bc09bcf14cd0c5f9fa68371eff7c74879e107b9a37a378ccac374772146c40f75f79ce1a1690a"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"938490fdb35e433119022b66ef34034a6bf502599b4d5ed89b6bc09bcf14cd0c5f9fa68371eff7c74879e107b9a37a378ccac374772146c40f75f79ce1a1690a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2.root.json
new file mode 100644
index 0000000..ac2e644
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86"],"threshold":1}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"d0e52e000883f72634151fabf0c9811e6733a32b3d7592ba6c48251a2b74d728f3d0baed17292ac9495c84843e2125d8a77be2f3a91b8fa6d03d725bd4c41f04"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"d0e52e000883f72634151fabf0c9811e6733a32b3d7592ba6c48251a2b74d728f3d0baed17292ac9495c84843e2125d8a77be2f3a91b8fa6d03d725bd4c41f04"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/5.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/5.snapshot.json
new file mode 100644
index 0000000..ff6ae0f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/5.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"738e4b137520989ce484e9478c223345f0262687a75d3fc673661430ea26685a66ad32307ea7613126712f08edd80429f2701aa30ee6762a2d8f05071e33d4f8"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"c39900fb506fab1338f738208dfe932917d9f9f06a350771eb55c236eb8fdf014f3fda7b1822f38796a819cccf8072bd6c06df3776fbf131774d7aaf65a299dd"},"length":1429,"version":5}},"spec_version":"0.9","version":5},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"f4ff6ff8461fca1fe98f962559cf7a5e9a8f573926c49237408c02eb1a7c0b1102c4718395b50458f09316528f8556a81a448141a73581d149d25dee25cc6105"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"f4ff6ff8461fca1fe98f962559cf7a5e9a8f573926c49237408c02eb1a7c0b1102c4718395b50458f09316528f8556a81a448141a73581d149d25dee25cc6105"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/5.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/5.targets.json
new file mode 100644
index 0000000..a189aa1
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/5.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"85e46cf68e988fe402dbfd9cf4d7de64ad408364cb4ee879b2c352d4cd097630f2318afa3fdb9ede63aaed18c5c3ecbeef42d2094fbb9bb8db4bdb9501ce8f08"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"85e46cf68e988fe402dbfd9cf4d7de64ad408364cb4ee879b2c352d4cd097630f2318afa3fdb9ede63aaed18c5c3ecbeef42d2094fbb9bb8db4bdb9501ce8f08"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/5e829cbefa45c725dc0a0c92186f04f3aaeeb1603dbd2295e148e22452f826764224b6ee4eea1d73f262e4e1e1c21753537d24a6e6a33e40a5015cea590e6f9a.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/5e829cbefa45c725dc0a0c92186f04f3aaeeb1603dbd2295e148e22452f826764224b6ee4eea1d73f262e4e1e1c21753537d24a6e6a33e40a5015cea590e6f9a.snapshot.json
new file mode 100644
index 0000000..993ed40
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/5e829cbefa45c725dc0a0c92186f04f3aaeeb1603dbd2295e148e22452f826764224b6ee4eea1d73f262e4e1e1c21753537d24a6e6a33e40a5015cea590e6f9a.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"a5b514a9593d8208c992fe7473270ff4ba7fa761462d0e79bef120f5712fa427d235520f62752e7bbc65454c1313fea0ca65bc629d6193a717286046e31fd921"},"length":1093,"version":3}},"spec_version":"0.9","version":3},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"f402239cf83d47b9d7e1ced705597c94ba489e1dfbb2e72e0fb9f200c9682da37b3b456e56259e98c631b6750ec63934609632e53ca89fa2c5ce550614366e00"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"f402239cf83d47b9d7e1ced705597c94ba489e1dfbb2e72e0fb9f200c9682da37b3b456e56259e98c631b6750ec63934609632e53ca89fa2c5ce550614366e00"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/6.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/6.snapshot.json
new file mode 100644
index 0000000..ececef4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/6.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"738e4b137520989ce484e9478c223345f0262687a75d3fc673661430ea26685a66ad32307ea7613126712f08edd80429f2701aa30ee6762a2d8f05071e33d4f8"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"3c051536db7db70464dc0f29da9eb40d912f4542f550e0e6e50e7ec274d5aa9528060e491c779b002161d7442871330ea2119085a9c02efc313ab5e89bae72f3"},"length":1597,"version":6}},"spec_version":"0.9","version":6},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"94827d629310994841ffe341f165d4a32e54d0882c4110ee1476c1e700dedc6076b6a9252e08323bd75763a0b593921b5a78d9307365e6f1745a339f763d7303"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"94827d629310994841ffe341f165d4a32e54d0882c4110ee1476c1e700dedc6076b6a9252e08323bd75763a0b593921b5a78d9307365e6f1745a339f763d7303"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/6.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/6.targets.json
new file mode 100644
index 0000000..beb1e30
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/6.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"d105c6e6ee1da91c95c15a00d870f97b1c131965ab8f6ebc146eaf8d66048152c2aac23cc2fde3ca1d72b810ca0f7f6bbad5a528a55c9ae2e624ec2985f4e10f"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"d105c6e6ee1da91c95c15a00d870f97b1c131965ab8f6ebc146eaf8d66048152c2aac23cc2fde3ca1d72b810ca0f7f6bbad5a528a55c9ae2e624ec2985f4e10f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/738e4b137520989ce484e9478c223345f0262687a75d3fc673661430ea26685a66ad32307ea7613126712f08edd80429f2701aa30ee6762a2d8f05071e33d4f8.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/738e4b137520989ce484e9478c223345f0262687a75d3fc673661430ea26685a66ad32307ea7613126712f08edd80429f2701aa30ee6762a2d8f05071e33d4f8.root.json
new file mode 100644
index 0000000..e04ad63
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/738e4b137520989ce484e9478c223345f0262687a75d3fc673661430ea26685a66ad32307ea7613126712f08edd80429f2701aa30ee6762a2d8f05071e33d4f8.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9","338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86"],"threshold":1}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9","method":"ed25519","sig":"f384d9400d04e1ec6c25f122831a7221c6874298003b863267bd2ed287aca8495ecd9b16732ed46e7164d0699fe0315eb8e852dfe4e6ad22debecfffd402fa03"},{"keyid":"338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c","method":"ed25519","sig":"f384d9400d04e1ec6c25f122831a7221c6874298003b863267bd2ed287aca8495ecd9b16732ed46e7164d0699fe0315eb8e852dfe4e6ad22debecfffd402fa03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/7d57ca42c98df6e7dc051b65445eb5edd105db28a93026da771f41dd888a18b78c6d7e5e77434f2729f661ae920467030315676322fc12788e7710b8dd064136.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/7d57ca42c98df6e7dc051b65445eb5edd105db28a93026da771f41dd888a18b78c6d7e5e77434f2729f661ae920467030315676322fc12788e7710b8dd064136.snapshot.json
new file mode 100644
index 0000000..ececef4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/7d57ca42c98df6e7dc051b65445eb5edd105db28a93026da771f41dd888a18b78c6d7e5e77434f2729f661ae920467030315676322fc12788e7710b8dd064136.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"738e4b137520989ce484e9478c223345f0262687a75d3fc673661430ea26685a66ad32307ea7613126712f08edd80429f2701aa30ee6762a2d8f05071e33d4f8"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"3c051536db7db70464dc0f29da9eb40d912f4542f550e0e6e50e7ec274d5aa9528060e491c779b002161d7442871330ea2119085a9c02efc313ab5e89bae72f3"},"length":1597,"version":6}},"spec_version":"0.9","version":6},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"94827d629310994841ffe341f165d4a32e54d0882c4110ee1476c1e700dedc6076b6a9252e08323bd75763a0b593921b5a78d9307365e6f1745a339f763d7303"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"94827d629310994841ffe341f165d4a32e54d0882c4110ee1476c1e700dedc6076b6a9252e08323bd75763a0b593921b5a78d9307365e6f1745a339f763d7303"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10.root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10.root.json
new file mode 100644
index 0000000..a9bdcc2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"db18fbc34e5c3649d2fbd2ef317b1b5012b4edb623c43093e354946fd466d5aa"},"scheme":"ed25519"},"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7308153832f8e3c418f7be211722c6ef45e3974e7cfda2828f0006750624e169":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"},"scheme":"ed25519"},"744e1dd9d9fdfe7d8b3322e2dcf567c5c1f9b8910976006155d6204697566597":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"c4eeb0ef4c6c6e584d1da045ac7a01b48d4e805272f229d757b4384621cc4a22"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["7308153832f8e3c418f7be211722c6ef45e3974e7cfda2828f0006750624e169","744e1dd9d9fdfe7d8b3322e2dcf567c5c1f9b8910976006155d6204697566597"],"threshold":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"059ba6cb1a566c46842cb19994dc567506327e4ce0c09d79ccf7b25fab94cb67","method":"ed25519","sig":"c98c86e7b57a5c446fce0f7b305b52817211cb809a9ef03c955a471814358f47339c6ea53cc912c86a81f3b3752f9647ff5915c2ec8d85b61fe13567e250aa0a"},{"keyid":"06af1e294d6cc073a6f4eb05b4976d0c6b7df761a24ba46a06f181581673c2a1","method":"ed25519","sig":"c98c86e7b57a5c446fce0f7b305b52817211cb809a9ef03c955a471814358f47339c6ea53cc912c86a81f3b3752f9647ff5915c2ec8d85b61fe13567e250aa0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/a5b514a9593d8208c992fe7473270ff4ba7fa761462d0e79bef120f5712fa427d235520f62752e7bbc65454c1313fea0ca65bc629d6193a717286046e31fd921.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/a5b514a9593d8208c992fe7473270ff4ba7fa761462d0e79bef120f5712fa427d235520f62752e7bbc65454c1313fea0ca65bc629d6193a717286046e31fd921.targets.json
new file mode 100644
index 0000000..9da4ac2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/a5b514a9593d8208c992fe7473270ff4ba7fa761462d0e79bef120f5712fa427d235520f62752e7bbc65454c1313fea0ca65bc629d6193a717286046e31fd921.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1},"2":{"hashes":{"sha512":"40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114"},"length":1}},"version":3},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"d375b9b74a28084c58216407ccdc9c4526fa204aba99700b58c97ee5975d2ce3c7a0a686fe302eefa768fec8c5d5db2c5ad5e3ec0877070634aa9bdf86b4c50c"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"d375b9b74a28084c58216407ccdc9c4526fa204aba99700b58c97ee5975d2ce3c7a0a686fe302eefa768fec8c5d5db2c5ad5e3ec0877070634aa9bdf86b4c50c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/ab808b0bcb5305c516f3c9e4ec0f4c47f46f44c1341759496a824f73d63e7822720e0750030819373c490b6cdf03ef60ee3f0bc03de3020624b7a975c6ff025c.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/ab808b0bcb5305c516f3c9e4ec0f4c47f46f44c1341759496a824f73d63e7822720e0750030819373c490b6cdf03ef60ee3f0bc03de3020624b7a975c6ff025c.snapshot.json
new file mode 100644
index 0000000..04652ec
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/ab808b0bcb5305c516f3c9e4ec0f4c47f46f44c1341759496a824f73d63e7822720e0750030819373c490b6cdf03ef60ee3f0bc03de3020624b7a975c6ff025c.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"43188973ebc00bee04e2ed1467c1c7199e3af0bf9f0e0fd50b783226106ba293261c1fbd0e94e35ffca8559b24e9ca1f696a456bd99a6b66dec4f2dc0cfd3ec2"},"length":3144,"version":2},"targets.json":{"hashes":{"sha512":"ce39596f1e9c94bb41d7fffdaf036b66f0ba7ec462b62b67fa4abac454a8db0d167519c83ea9475b3f375457e309a4bd88b2bc507eb49dc61f826bbe7a15bf70"},"length":925,"version":2}},"spec_version":"0.9","version":2},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"65cf3c47ea6b8a76cce714775d2f128f62e8d18bfd9706cdcdc6d1984ff35fb8211916d774c4275bf2fed513de6ff1d325cd62638dc9eb65593051589e827500"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"65cf3c47ea6b8a76cce714775d2f128f62e8d18bfd9706cdcdc6d1984ff35fb8211916d774c4275bf2fed513de6ff1d325cd62638dc9eb65593051589e827500"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/c39900fb506fab1338f738208dfe932917d9f9f06a350771eb55c236eb8fdf014f3fda7b1822f38796a819cccf8072bd6c06df3776fbf131774d7aaf65a299dd.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/c39900fb506fab1338f738208dfe932917d9f9f06a350771eb55c236eb8fdf014f3fda7b1822f38796a819cccf8072bd6c06df3776fbf131774d7aaf65a299dd.targets.json
new file mode 100644
index 0000000..a189aa1
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/c39900fb506fab1338f738208dfe932917d9f9f06a350771eb55c236eb8fdf014f3fda7b1822f38796a819cccf8072bd6c06df3776fbf131774d7aaf65a299dd.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"85e46cf68e988fe402dbfd9cf4d7de64ad408364cb4ee879b2c352d4cd097630f2318afa3fdb9ede63aaed18c5c3ecbeef42d2094fbb9bb8db4bdb9501ce8f08"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"85e46cf68e988fe402dbfd9cf4d7de64ad408364cb4ee879b2c352d4cd097630f2318afa3fdb9ede63aaed18c5c3ecbeef42d2094fbb9bb8db4bdb9501ce8f08"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/ce39596f1e9c94bb41d7fffdaf036b66f0ba7ec462b62b67fa4abac454a8db0d167519c83ea9475b3f375457e309a4bd88b2bc507eb49dc61f826bbe7a15bf70.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/ce39596f1e9c94bb41d7fffdaf036b66f0ba7ec462b62b67fa4abac454a8db0d167519c83ea9475b3f375457e309a4bd88b2bc507eb49dc61f826bbe7a15bf70.targets.json
new file mode 100644
index 0000000..23045c8
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/ce39596f1e9c94bb41d7fffdaf036b66f0ba7ec462b62b67fa4abac454a8db0d167519c83ea9475b3f375457e309a4bd88b2bc507eb49dc61f826bbe7a15bf70.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1},"1":{"hashes":{"sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a"},"length":1}},"version":2},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"3abfaa99c1add4ca9f4576ae521bf6857c4c4e5fa9d9b806296b78b5945a845f3cb17be1066d22f0f6ea3908929230732ee01ebeeba6edf1d229d9db1ca34403"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"3abfaa99c1add4ca9f4576ae521bf6857c4c4e5fa9d9b806296b78b5945a845f3cb17be1066d22f0f6ea3908929230732ee01ebeeba6edf1d229d9db1ca34403"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98.targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98.targets.json
new file mode 100644
index 0000000..292ec25
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"b23617412b30d0d7b5ef1a9002b0bf805f6fe4303c54289b55906ec333ddc265aafd06c605806f2fa95675254334b9c19a93c6f05c3e8e6f575c35c7180b1e03"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"b23617412b30d0d7b5ef1a9002b0bf805f6fe4303c54289b55906ec333ddc265aafd06c605806f2fa95675254334b9c19a93c6f05c3e8e6f575c35c7180b1e03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/f8db89127357df9e92122c0b0b64fa533d6d2d607386f2674a3a294bc7fd651d64263272597925ca8a4c6c4adf82b7c2022b1fb790adcf823ced37d068053195.snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/f8db89127357df9e92122c0b0b64fa533d6d2d607386f2674a3a294bc7fd651d64263272597925ca8a4c6c4adf82b7c2022b1fb790adcf823ced37d068053195.snapshot.json
new file mode 100644
index 0000000..5c0ca32
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/f8db89127357df9e92122c0b0b64fa533d6d2d607386f2674a3a294bc7fd651d64263272597925ca8a4c6c4adf82b7c2022b1fb790adcf823ced37d068053195.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"953369ce3e0f9ac39d6eb9377886a88aa6c7e12391b728bf1067702c1d43bdf8d88989a72aaba0408db6abc015009f5afe7c164ed44bc83c323f7ac332e7ba10"},"length":3144,"version":1},"targets.json":{"hashes":{"sha512":"e0b27ae97d43acbc5601d25314ea7cf698ff42aff2f38ef1065734721d2d96811a0fde45481ae4a17516fc04ed83defba9d1ee89329d5a560b4ffb07f71e7a98"},"length":757,"version":1}},"spec_version":"0.9","version":1},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"f4f5e45a9dfcb45afc52f5e2b39189f7d83f565999dd73a3db576352b87eb8844076774656da2a78b5017723b79fd7d9e254b4c04a45f2f298bf889df00ae00f"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"f4f5e45a9dfcb45afc52f5e2b39189f7d83f565999dd73a3db576352b87eb8844076774656da2a78b5017723b79fd7d9e254b4c04a45f2f298bf889df00ae00f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/root.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/root.json
new file mode 100644
index 0000000..e04ad63
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"},"scheme":"ed25519"},"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ea5a77667d2ad94194dd8be61735238ff4e323db81fa378da78e93f83d460303"},"scheme":"ed25519"},"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"019020d4a89f20add285e1e21fa1afa5b01567d010e8222e3c4152c43925527b"},"scheme":"ed25519"},"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"ee994136573712f0a030b32310f4f96d8109f0a96a7605fd1e9bc4e539e782f9"},"scheme":"ed25519"},"cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"8f724fc2070d5339a00e27e9594fa5cb7d16a3c7f0db89e0637e5c9b0e8c74c6"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9","338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c"],"threshold":1},"snapshot":{"keyids":["190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088"],"threshold":1},"targets":{"keyids":["39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc"],"threshold":1},"timestamp":{"keyids":["8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86"],"threshold":1}},"spec_version":"0.9","version":4},"signatures":[{"keyid":"cdf066f44c0a8aec78e6b1d99e413dd71231b6d9d1f49d469e6cb088ad9d6df9","method":"ed25519","sig":"f384d9400d04e1ec6c25f122831a7221c6874298003b863267bd2ed287aca8495ecd9b16732ed46e7164d0699fe0315eb8e852dfe4e6ad22debecfffd402fa03"},{"keyid":"338aa84f0901cba87551c17acbe7b0368d540fc61208f6b421033e60078a766c","method":"ed25519","sig":"f384d9400d04e1ec6c25f122831a7221c6874298003b863267bd2ed287aca8495ecd9b16732ed46e7164d0699fe0315eb8e852dfe4e6ad22debecfffd402fa03"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/snapshot.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/snapshot.json
new file mode 100644
index 0000000..ececef4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"738e4b137520989ce484e9478c223345f0262687a75d3fc673661430ea26685a66ad32307ea7613126712f08edd80429f2701aa30ee6762a2d8f05071e33d4f8"},"length":3144,"version":4},"targets.json":{"hashes":{"sha512":"3c051536db7db70464dc0f29da9eb40d912f4542f550e0e6e50e7ec274d5aa9528060e491c779b002161d7442871330ea2119085a9c02efc313ab5e89bae72f3"},"length":1597,"version":6}},"spec_version":"0.9","version":6},"signatures":[{"keyid":"190adea14f3cf9a1139d0cd111e216cb0f4b87f505fed13a0aacfd926e3972d8","method":"ed25519","sig":"94827d629310994841ffe341f165d4a32e54d0882c4110ee1476c1e700dedc6076b6a9252e08323bd75763a0b593921b5a78d9307365e6f1745a339f763d7303"},{"keyid":"8d39df185b2fb12b0cd970722ce07940f523dc1eb34112c621b0696cdad18088","method":"ed25519","sig":"94827d629310994841ffe341f165d4a32e54d0882c4110ee1476c1e700dedc6076b6a9252e08323bd75763a0b593921b5a78d9307365e6f1745a339f763d7303"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets.json
new file mode 100644
index 0000000..beb1e30
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Targets","expires":"2100-01-01T00:00:00Z","spec_version":"0.9","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":"39a046bad1d82eec53fa39bb8cc1186ddd7f5594e7b32db18b85151da64dbbb8","method":"ed25519","sig":"d105c6e6ee1da91c95c15a00d870f97b1c131965ab8f6ebc146eaf8d66048152c2aac23cc2fde3ca1d72b810ca0f7f6bbad5a528a55c9ae2e624ec2985f4e10f"},{"keyid":"6e099a9b9e7ce5172baa17995c1cff686a9824996313c0e7b913d1d744dd31dc","method":"ed25519","sig":"d105c6e6ee1da91c95c15a00d870f97b1c131965ab8f6ebc146eaf8d66048152c2aac23cc2fde3ca1d72b810ca0f7f6bbad5a528a55c9ae2e624ec2985f4e10f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/0.0 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/0.1 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/0.2 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/0.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/0.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/0.3 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/0.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/0.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/0.4 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/0.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/0.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/0.5 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/0.5
new file mode 100644
index 0000000..7813681
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/0.5
@@ -0,0 +1 @@
+5
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5
new file mode 100644
index 0000000..7813681
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5
@@ -0,0 +1 @@
+5
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4 b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/timestamp.json b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/timestamp.json
new file mode 100644
index 0000000..cc84120
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/consistent-snapshot-true/5/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"Timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"7d57ca42c98df6e7dc051b65445eb5edd105db28a93026da771f41dd888a18b78c6d7e5e77434f2729f661ae920467030315676322fc12788e7710b8dd064136"},"length":972,"version":6}},"spec_version":"0.9","version":6},"signatures":[{"keyid":"8de0e593bec6368f25e3b9d43e00c1570528e791f6287e360014d18330c9ca9e","method":"ed25519","sig":"8e4429392650f8bc430660f91c1f60a8c6c8e170d63fab9db52f4061576c62d71a9588bf8168e1aef000dccf59e2942cec621b0020c6917c4c293b88fed8310d"},{"keyid":"7caf344216c0c1d26fff6569233aeddc6a3fbfe9af918cd4e71736aded126b86","method":"ed25519","sig":"8e4429392650f8bc430660f91c1f60a8c6c8e170d63fab9db52f4061576c62d71a9588bf8168e1aef000dccf59e2942cec621b0020c6917c4c293b88fed8310d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M2/generate.go b/client/testdata/go-tuf-transition-M2/generate.go
new file mode 100644
index 0000000..146988f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M2/generate.go
@@ -0,0 +1,171 @@
+package main
+
+import (
+	"encoding/json"
+	"fmt"
+	"io/ioutil"
+	"log"
+	"os"
+	"os/exec"
+	"path/filepath"
+	"time"
+
+	tuf "github.com/flynn/go-tuf"
+	"github.com/flynn/go-tuf/sign"
+)
+
+var expirationDate = time.Date(2100, time.January, 1, 0, 0, 0, 0, time.UTC)
+
+type persistedKeys struct {
+	Encrypted bool               `json:"encrypted"`
+	Data      []*sign.PrivateKey `json:"data"`
+}
+
+func assertNotNil(err error) {
+	if err != nil {
+		panic(fmt.Sprintf("assertion failed: %s", err))
+	}
+}
+
+func copyRepo(src string, dst string) {
+	cmd := exec.Command("cp", "-r", src, dst)
+	assertNotNil(cmd.Run())
+}
+
+func newRepo(dir string) *tuf.Repo {
+	repo, err := tuf.NewRepo(tuf.FileSystemStore(dir, nil))
+	assertNotNil(err)
+
+	return repo
+}
+
+func commit(repo *tuf.Repo) {
+	assertNotNil(repo.SnapshotWithExpires(tuf.CompressionTypeNone, expirationDate))
+	assertNotNil(repo.TimestampWithExpires(expirationDate))
+	assertNotNil(repo.Commit())
+}
+
+func genKeys(repo *tuf.Repo, roles []string) map[string][]string {
+	ids := make(map[string][]string)
+
+	for _, role := range roles {
+		id, err := repo.GenKeyWithExpires(role, expirationDate)
+		assertNotNil(err)
+		ids[role] = id
+	}
+
+	return ids
+}
+
+func addTargets(repo *tuf.Repo, dir string, files map[string][]byte) {
+	paths := []string{}
+	for file, data := range files {
+		path := filepath.Join(dir, "staged", "targets", file)
+		assertNotNil(os.MkdirAll(filepath.Dir(path), 0755))
+		assertNotNil(ioutil.WriteFile(path, data, 0644))
+		paths = append(paths, file)
+	}
+	assertNotNil(repo.AddTargetsWithExpires(paths, nil, expirationDate))
+}
+
+func revokeKey(repo *tuf.Repo, role string, ids []string) {
+	assertNotNil(repo.RevokeKeyWithExpires(role, ids[0], expirationDate))
+}
+
+// repoFilteredKeys filters out a key to make sure we can't sign with it. This
+// is to make sure key rotation worked.
+func filterKeys(dir string, role string, ids []string) {
+	path := filepath.Join(dir, "keys", fmt.Sprintf("%s.json", role))
+	b, err := ioutil.ReadFile(path)
+	assertNotNil(err)
+
+	keys := &persistedKeys{}
+	assertNotNil(json.Unmarshal(b, keys))
+
+	newKeys := []*sign.PrivateKey{}
+	for _, key := range keys.Data {
+		found := false
+		for _, id := range ids {
+			if key.PublicData().ContainsID(id) {
+				found = true
+				break
+			}
+		}
+		if !found {
+			newKeys = append(newKeys, key)
+		}
+	}
+	keys.Data = newKeys
+
+	b, err = json.Marshal(keys)
+	assertNotNil(err)
+
+	err = ioutil.WriteFile(path, b, 0644)
+	assertNotNil(err)
+}
+
+func generateRepos(dir string) {
+	// Create the initial repo.
+	dir0 := filepath.Join(dir, "0")
+	repo0 := newRepo(dir0)
+	ids := genKeys(repo0, []string{"root", "snapshot", "targets", "timestamp"})
+	addTargets(repo0, dir0, map[string][]byte{"0": []byte("0")})
+	commit(repo0)
+
+	// Rotate the timestamp keys.
+	dir1 := filepath.Join(dir, "1")
+	copyRepo(dir0, dir1)
+	repo1 := newRepo(dir1)
+	revokeKey(repo1, "timestamp", ids["timestamp"])
+	genKeys(repo1, []string{"timestamp"})
+	addTargets(repo1, dir1, map[string][]byte{"1": []byte("1")})
+	commit(repo1)
+
+	// Filter out the old timestamp key to make sure we can't use it.
+	dir2 := filepath.Join(dir, "2")
+	copyRepo(dir1, dir2)
+	filterKeys(dir2, "timestamp", ids["timestamp"])
+	repo2 := newRepo(dir2)
+	addTargets(repo2, dir2, map[string][]byte{"2": []byte("2")})
+	commit(repo2)
+
+	// Now, actually rotate the root keys.
+	dir3 := filepath.Join(dir, "3")
+	copyRepo(dir2, dir3)
+	repo3 := newRepo(dir3)
+	revokeKey(repo3, "root", ids["root"])
+	genKeys(repo3, []string{"root"})
+	addTargets(repo3, dir3, map[string][]byte{"3": []byte("3")})
+	commit(repo3)
+
+	// Filter out the old root key to make sure we can't use it.
+	dir4 := filepath.Join(dir, "4")
+	copyRepo(dir3, dir4)
+	filterKeys(dir4, "root", ids["root"])
+	// The only way to force go-tuf to re-sign the root.json is to generate
+	// or revoke a key. So why not do both?
+	repo4 := newRepo(dir4)
+	ids = genKeys(repo4, []string{"snapshot"})
+	revokeKey(repo4, "snapshot", ids["snapshot"])
+	addTargets(repo4, dir4, map[string][]byte{"4": []byte("4")})
+	commit(repo4)
+
+	// Add another target file to make sure the workflow worked.
+	dir5 := filepath.Join(dir, "5")
+	copyRepo(dir4, dir5)
+	repo5 := newRepo(dir5)
+	addTargets(repo5, dir5, map[string][]byte{"5": []byte("5")})
+	commit(repo5)
+}
+
+func main() {
+	cwd, err := os.Getwd()
+	assertNotNil(err)
+
+	for _, consistentSnapshot := range []bool{false, true} {
+		name := fmt.Sprintf("consistent-snapshot-%t", consistentSnapshot)
+		log.Printf("generating %s", name)
+		generateRepos(filepath.Join(cwd, name))
+	}
+
+}
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
new file mode 100644
index 0000000..f834374
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/keys/root.json
@@ -0,0 +1,16 @@
+{
+	"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/0/keys/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/keys/snapshot.json
new file mode 100644
index 0000000..d97cf15
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/keys/snapshot.json
@@ -0,0 +1,16 @@
+{
+	"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/0/keys/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/keys/targets.json
new file mode 100644
index 0000000..dca8d29
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"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/0/keys/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/keys/timestamp.json
new file mode 100644
index 0000000..9f38cad
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/keys/timestamp.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9",
+				"private": "ff7607566ae178dafbb9e285c96f29c1d0569fe0160dd022208261e4a81722e1596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"
+			}
+		}
+	]
+}
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
new file mode 100644
index 0000000..214e321
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..214e321
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/1.root.json
@@ -0,0 +1 @@
+{"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.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/1.snapshot.json
new file mode 100644
index 0000000..ba42c25
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..4e9da28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/1.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..4e9da28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..ba42c25
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/5870f50685abc42fa6fd4d215f177e5da7743fb1a5df85e3e7d8333f414aaf911ae97b9fbd61b33331e392affd57fb4c12f997d07530e928e5806f28853a461b.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..214e321
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/root.json
@@ -0,0 +1 @@
+{"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/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/snapshot.json
new file mode 100644
index 0000000..ba42c25
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/snapshot.json
@@ -0,0 +1 @@
+{"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/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/targets.json
new file mode 100644
index 0000000..4e9da28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/targets.json
@@ -0,0 +1 @@
+{"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/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
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
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..19089a4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/0/repository/timestamp.json
@@ -0,0 +1 @@
+{"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
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 100644
index 0000000..f834374
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/root.json
@@ -0,0 +1,16 @@
+{
+	"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/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/snapshot.json
new file mode 100644
index 0000000..d97cf15
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/snapshot.json
@@ -0,0 +1,16 @@
+{
+	"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/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/targets.json
new file mode 100644
index 0000000..dca8d29
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"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/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/timestamp.json
new file mode 100644
index 0000000..12bbe03
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/keys/timestamp.json
@@ -0,0 +1,27 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9",
+				"private": "ff7607566ae178dafbb9e285c96f29c1d0569fe0160dd022208261e4a81722e1596b9c2929932df6f4d36cbc11b53e597fd606553e9951bee00dfaff47b902e9"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f",
+				"private": "cb1c93ffd3ab645ea65aad1a100d3491976beb921e04df9de680965a4a0f1861f1e41e6e253255dc11f225c06efacbbf34b912aaa1691e7a2d4cf8972381886f"
+			}
+		}
+	]
+}
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
new file mode 100644
index 0000000..214e321
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json
@@ -0,0 +1 @@
+{"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 100644
index 0000000..214e321
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/1.root.json
@@ -0,0 +1 @@
+{"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.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/1.snapshot.json
new file mode 100644
index 0000000..ba42c25
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..4e9da28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/1.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..20d1800
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/2.root.json
@@ -0,0 +1 @@
+{"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/2.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/2.snapshot.json
new file mode 100644
index 0000000..081ff93
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..da25f77
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/2.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..4e9da28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..ba42c25
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/5870f50685abc42fa6fd4d215f177e5da7743fb1a5df85e3e7d8333f414aaf911ae97b9fbd61b33331e392affd57fb4c12f997d07530e928e5806f28853a461b.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..da25f77
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..081ff93
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/6eb5dce516520d9f9331679ea70bb38f4e9f41c6b6db5579df6954a48bed75f6435779cc8045e5f8e57c7ee7cdd077da5c4fa660b13b1fa31785e71626e4408d.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..20d1800
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c.root.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..20d1800
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/root.json
@@ -0,0 +1 @@
+{"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/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/snapshot.json
new file mode 100644
index 0000000..081ff93
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/snapshot.json
@@ -0,0 +1 @@
+{"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/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/targets.json
new file mode 100644
index 0000000..da25f77
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/targets.json
@@ -0,0 +1 @@
+{"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/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/targets/0.0
@@ -0,0 +1 @@
+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/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
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
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..4658b75
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/1/repository/timestamp.json
@@ -0,0 +1 @@
+{"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
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 100644
index 0000000..f834374
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/root.json
@@ -0,0 +1,16 @@
+{
+	"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/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/snapshot.json
new file mode 100644
index 0000000..d97cf15
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/snapshot.json
@@ -0,0 +1,16 @@
+{
+	"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/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/targets.json
new file mode 100644
index 0000000..dca8d29
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"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/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/timestamp.json
new file mode 100644
index 0000000..62f04c4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/keys/timestamp.json
@@ -0,0 +1 @@
+{"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/2/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json
new file mode 100644
index 0000000..214e321
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json
@@ -0,0 +1 @@
+{"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 100644
index 0000000..214e321
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/1.root.json
@@ -0,0 +1 @@
+{"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.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/1.snapshot.json
new file mode 100644
index 0000000..ba42c25
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..4e9da28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/1.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..20d1800
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/2.root.json
@@ -0,0 +1 @@
+{"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.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/2.snapshot.json
new file mode 100644
index 0000000..081ff93
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..da25f77
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/2.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..4e9da28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..2601186
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..eb3ff57
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/3.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..ba42c25
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/5870f50685abc42fa6fd4d215f177e5da7743fb1a5df85e3e7d8333f414aaf911ae97b9fbd61b33331e392affd57fb4c12f997d07530e928e5806f28853a461b.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..da25f77
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..081ff93
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/6eb5dce516520d9f9331679ea70bb38f4e9f41c6b6db5579df6954a48bed75f6435779cc8045e5f8e57c7ee7cdd077da5c4fa660b13b1fa31785e71626e4408d.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..2601186
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/89f006bd229b975982f6527ec6b52b5f4f6fe9d7dda8809d87b1b7f7cf134faef3806513675c9e004638cbc6a8d1e94d00fe86cc83f75c038c03028b129e967d.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..20d1800
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c.root.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..eb3ff57
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/eda055b819c624817f6a87f5e5b545044c93200fc4f3e06f51b417e7b7da94eb61dd94d3aae2fbd7461d12430222b795f3758ce7eb135197a0a554b21c621350.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..20d1800
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/root.json
@@ -0,0 +1 @@
+{"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/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/snapshot.json
new file mode 100644
index 0000000..2601186
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/snapshot.json
@@ -0,0 +1 @@
+{"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/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets.json
new file mode 100644
index 0000000..eb3ff57
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets.json
@@ -0,0 +1 @@
+{"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/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/0.0
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/0.1
@@ -0,0 +1 @@
+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/0.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/0.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
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
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..ca45fc6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/2/repository/timestamp.json
@@ -0,0 +1 @@
+{"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
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
new file mode 100644
index 0000000..623098a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/root.json
@@ -0,0 +1,27 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d",
+				"private": "c0f453fb5e3e9de707aec81da45dd0c0d8d34f426f0bffab1a492b252101493b424686697b02a56596e5f74408422d5de25e344ea46f646cd37420f78cadb12d"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "69c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5",
+				"private": "bf5543ea50e330a71c0166f10fa5dcdd6359ca50f585c36bbf5060ea072f60a269c9faa5804debb2768ef17b9f7fe1aed540fffaeff758f234e4a45cd1f335d5"
+			}
+		}
+	]
+}
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 100644
index 0000000..d97cf15
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/snapshot.json
@@ -0,0 +1,16 @@
+{
+	"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/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/targets.json
new file mode 100644
index 0000000..dca8d29
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"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/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/timestamp.json
new file mode 100644
index 0000000..62f04c4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/keys/timestamp.json
@@ -0,0 +1 @@
+{"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/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json
new file mode 100644
index 0000000..214e321
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json
@@ -0,0 +1 @@
+{"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 100644
index 0000000..214e321
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/1.root.json
@@ -0,0 +1 @@
+{"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.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/1.snapshot.json
new file mode 100644
index 0000000..ba42c25
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..4e9da28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/1.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..20d1800
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/2.root.json
@@ -0,0 +1 @@
+{"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.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/2.snapshot.json
new file mode 100644
index 0000000..081ff93
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..da25f77
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/2.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..4e9da28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..6a8b3c9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/3.root.json
@@ -0,0 +1 @@
+{"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/3.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/3.snapshot.json
new file mode 100644
index 0000000..2601186
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..eb3ff57
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/3.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..fd7fd01
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/4.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..2cf2e47
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/4.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..2cf2e47
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/529cca3c67703b94db2634619ed4d6844ffa4abef298ab4519263adde628523bd90b4f979972b44d798d8852ce986b8b9a9eeb744a7f3ad2ff834e6413760afc.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..ba42c25
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/5870f50685abc42fa6fd4d215f177e5da7743fb1a5df85e3e7d8333f414aaf911ae97b9fbd61b33331e392affd57fb4c12f997d07530e928e5806f28853a461b.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..6a8b3c9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/6cca8a2a26445076e2f3089dbd7845623f5b070122599ac3ca9bf83a211b599c45f2c0812b7be0a7f6bf26d61f025f160f1d8cb7453cf111a5684bed5a94dab7.root.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..da25f77
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..081ff93
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/6eb5dce516520d9f9331679ea70bb38f4e9f41c6b6db5579df6954a48bed75f6435779cc8045e5f8e57c7ee7cdd077da5c4fa660b13b1fa31785e71626e4408d.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..fd7fd01
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/7ad15e8b1d342260bb7426eb390f50308a349ecc7cd2ba265ba6428d84eb9f4e04ebe41698e91efc0981075904092b4ec14622309876788c1d358ea3dcc269d5.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..2601186
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/89f006bd229b975982f6527ec6b52b5f4f6fe9d7dda8809d87b1b7f7cf134faef3806513675c9e004638cbc6a8d1e94d00fe86cc83f75c038c03028b129e967d.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..20d1800
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c.root.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..eb3ff57
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/eda055b819c624817f6a87f5e5b545044c93200fc4f3e06f51b417e7b7da94eb61dd94d3aae2fbd7461d12430222b795f3758ce7eb135197a0a554b21c621350.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..6a8b3c9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/root.json
@@ -0,0 +1 @@
+{"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/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/snapshot.json
new file mode 100644
index 0000000..fd7fd01
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/snapshot.json
@@ -0,0 +1 @@
+{"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/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets.json
new file mode 100644
index 0000000..2cf2e47
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets.json
@@ -0,0 +1 @@
+{"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/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/0.0
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/0.1
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/0.2
@@ -0,0 +1 @@
+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/0.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/0.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
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
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..f8aa681
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/3/repository/timestamp.json
@@ -0,0 +1 @@
+{"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
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
new file mode 100644
index 0000000..c950ae1
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/keys/root.json
@@ -0,0 +1 @@
+{"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/4/keys/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/keys/snapshot.json
new file mode 100644
index 0000000..714769d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/keys/snapshot.json
@@ -0,0 +1,27 @@
+{
+	"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/4/keys/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/keys/targets.json
new file mode 100644
index 0000000..dca8d29
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"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/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/keys/timestamp.json
new file mode 100644
index 0000000..62f04c4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/keys/timestamp.json
@@ -0,0 +1 @@
+{"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/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json
new file mode 100644
index 0000000..214e321
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json
@@ -0,0 +1 @@
+{"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 100644
index 0000000..214e321
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/1.root.json
@@ -0,0 +1 @@
+{"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.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/1.snapshot.json
new file mode 100644
index 0000000..ba42c25
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..4e9da28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/1.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..705c9c9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/127f9850bc4cfd284b49dc9bac443cd936785790f7c553eac1012af2e76839cda7abced76b2e734bd762cc9081ab0cb666569d8a099dc82d00620990e495bed0.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..20d1800
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/2.root.json
@@ -0,0 +1 @@
+{"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.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/2.snapshot.json
new file mode 100644
index 0000000..081ff93
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..da25f77
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/2.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..4e9da28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..6a8b3c9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/3.root.json
@@ -0,0 +1 @@
+{"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.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/3.snapshot.json
new file mode 100644
index 0000000..2601186
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..eb3ff57
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/3.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..b31f0ad
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/4.root.json
@@ -0,0 +1 @@
+{"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/4.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/4.snapshot.json
new file mode 100644
index 0000000..fd7fd01
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/4.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..2cf2e47
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/4.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..9b59478
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/5.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..705c9c9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/5.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..2cf2e47
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/529cca3c67703b94db2634619ed4d6844ffa4abef298ab4519263adde628523bd90b4f979972b44d798d8852ce986b8b9a9eeb744a7f3ad2ff834e6413760afc.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..ba42c25
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/5870f50685abc42fa6fd4d215f177e5da7743fb1a5df85e3e7d8333f414aaf911ae97b9fbd61b33331e392affd57fb4c12f997d07530e928e5806f28853a461b.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..6a8b3c9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/6cca8a2a26445076e2f3089dbd7845623f5b070122599ac3ca9bf83a211b599c45f2c0812b7be0a7f6bf26d61f025f160f1d8cb7453cf111a5684bed5a94dab7.root.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..da25f77
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..081ff93
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/6eb5dce516520d9f9331679ea70bb38f4e9f41c6b6db5579df6954a48bed75f6435779cc8045e5f8e57c7ee7cdd077da5c4fa660b13b1fa31785e71626e4408d.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..fd7fd01
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/7ad15e8b1d342260bb7426eb390f50308a349ecc7cd2ba265ba6428d84eb9f4e04ebe41698e91efc0981075904092b4ec14622309876788c1d358ea3dcc269d5.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..2601186
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/89f006bd229b975982f6527ec6b52b5f4f6fe9d7dda8809d87b1b7f7cf134faef3806513675c9e004638cbc6a8d1e94d00fe86cc83f75c038c03028b129e967d.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..b31f0ad
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/ad825a9c0dd87c31e43e0e780c11ce2d2083ed2b2d0f4bf519a7687d4d6921f48540e9e53e609a7a6fb28f2e0cf8f438db8a3be7959afd3d923a6bec7601b46b.root.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..9b59478
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/cf7757c4d3d4806ba695546adee0a48faf77a41a20684ee3fce9b097b3d7f841a7d2bc7bc05346b09631f8ac74824c09eb559bce2f2892d2928531d1f6926bb0.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..20d1800
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c.root.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..eb3ff57
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/eda055b819c624817f6a87f5e5b545044c93200fc4f3e06f51b417e7b7da94eb61dd94d3aae2fbd7461d12430222b795f3758ce7eb135197a0a554b21c621350.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..b31f0ad
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/root.json
@@ -0,0 +1 @@
+{"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/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/snapshot.json
new file mode 100644
index 0000000..9b59478
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/snapshot.json
@@ -0,0 +1 @@
+{"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/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets.json
new file mode 100644
index 0000000..705c9c9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets.json
@@ -0,0 +1 @@
+{"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/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/0.0
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/0.1
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/0.2
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/0.3
@@ -0,0 +1 @@
+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/0.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/0.4
@@ -0,0 +1 @@
+4
\ 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
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
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
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..2815249
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/4/repository/timestamp.json
@@ -0,0 +1 @@
+{"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
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 100644
index 0000000..c950ae1
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/root.json
@@ -0,0 +1 @@
+{"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/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/snapshot.json
new file mode 100644
index 0000000..714769d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/snapshot.json
@@ -0,0 +1,27 @@
+{
+	"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/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/targets.json
new file mode 100644
index 0000000..dca8d29
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"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/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/timestamp.json
new file mode 100644
index 0000000..62f04c4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/keys/timestamp.json
@@ -0,0 +1 @@
+{"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/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json
new file mode 100644
index 0000000..214e321
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/009d4d9cd378a6175e0f01f83a072c1ed5203c2ec704baca0267d8c586514c4ac4fe4c59000a2392b087f7085ce6f1247886273ba80952f553df7cb24bb56b16.root.json
@@ -0,0 +1 @@
+{"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 100644
index 0000000..214e321
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/1.root.json
@@ -0,0 +1 @@
+{"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.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/1.snapshot.json
new file mode 100644
index 0000000..ba42c25
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..4e9da28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/1.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..705c9c9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/127f9850bc4cfd284b49dc9bac443cd936785790f7c553eac1012af2e76839cda7abced76b2e734bd762cc9081ab0cb666569d8a099dc82d00620990e495bed0.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..20d1800
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/2.root.json
@@ -0,0 +1 @@
+{"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.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/2.snapshot.json
new file mode 100644
index 0000000..081ff93
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..da25f77
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/2.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..4e9da28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/24e382f03318f928c1180f02c3817d421f0f547e8d6656be5ae3a5048869a8f67c11db23c6ce71faf68a14846c2084a011930acec48f76e9b882d665a49168df.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..d5b9cbc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/2adc85f0a43e959da0dcf6e40be05b378b80f52489807dfbf80057acf2481385ca0eac594a8e1b1aca6379ac256d26a812e79c5c4e244040ec721fb887e3bfaa.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..6a8b3c9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/3.root.json
@@ -0,0 +1 @@
+{"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.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/3.snapshot.json
new file mode 100644
index 0000000..2601186
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..eb3ff57
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/3.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..b31f0ad
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/4.root.json
@@ -0,0 +1 @@
+{"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.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/4.snapshot.json
new file mode 100644
index 0000000..fd7fd01
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/4.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..2cf2e47
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/4.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..9b59478
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/5.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..705c9c9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/5.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..2cf2e47
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/529cca3c67703b94db2634619ed4d6844ffa4abef298ab4519263adde628523bd90b4f979972b44d798d8852ce986b8b9a9eeb744a7f3ad2ff834e6413760afc.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..ba42c25
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/5870f50685abc42fa6fd4d215f177e5da7743fb1a5df85e3e7d8333f414aaf911ae97b9fbd61b33331e392affd57fb4c12f997d07530e928e5806f28853a461b.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..9a20217
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/6.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..d5b9cbc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/6.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..6a8b3c9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/6cca8a2a26445076e2f3089dbd7845623f5b070122599ac3ca9bf83a211b599c45f2c0812b7be0a7f6bf26d61f025f160f1d8cb7453cf111a5684bed5a94dab7.root.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..da25f77
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/6da455f4db1c1363454c1c1b247dc8618340f5743a09aea0bb21db2573d0a07d3817a11f90aaf9368deb34a2f983addb493a1637f73b4caa8dd4c9f63fd99f68.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..081ff93
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/6eb5dce516520d9f9331679ea70bb38f4e9f41c6b6db5579df6954a48bed75f6435779cc8045e5f8e57c7ee7cdd077da5c4fa660b13b1fa31785e71626e4408d.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..fd7fd01
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/7ad15e8b1d342260bb7426eb390f50308a349ecc7cd2ba265ba6428d84eb9f4e04ebe41698e91efc0981075904092b4ec14622309876788c1d358ea3dcc269d5.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..2601186
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/89f006bd229b975982f6527ec6b52b5f4f6fe9d7dda8809d87b1b7f7cf134faef3806513675c9e004638cbc6a8d1e94d00fe86cc83f75c038c03028b129e967d.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..b31f0ad
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/ad825a9c0dd87c31e43e0e780c11ce2d2083ed2b2d0f4bf519a7687d4d6921f48540e9e53e609a7a6fb28f2e0cf8f438db8a3be7959afd3d923a6bec7601b46b.root.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..9b59478
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/cf7757c4d3d4806ba695546adee0a48faf77a41a20684ee3fce9b097b3d7f841a7d2bc7bc05346b09631f8ac74824c09eb559bce2f2892d2928531d1f6926bb0.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..20d1800
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/d52b157dc837e867047e261d40a9a71b82739d5a13ee21f09b6b8a31bfae3c11e30832eaf3bfb388e60e3e4c7f353b1cf7f4d31eb2cc467d60404634daa6066c.root.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..9a20217
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/d97ce215c27e7845bf1dbb4aac2672e8586576bb4473031583c1a2ccec2306cea7b24b4c7754844619ea90ae24be3b2660eda7d7001179f4ee217d66c65a9363.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..eb3ff57
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/eda055b819c624817f6a87f5e5b545044c93200fc4f3e06f51b417e7b7da94eb61dd94d3aae2fbd7461d12430222b795f3758ce7eb135197a0a554b21c621350.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..b31f0ad
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/root.json
@@ -0,0 +1 @@
+{"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/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/snapshot.json
new file mode 100644
index 0000000..9a20217
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/snapshot.json
@@ -0,0 +1 @@
+{"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/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets.json
new file mode 100644
index 0000000..d5b9cbc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets.json
@@ -0,0 +1 @@
+{"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/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/0.0
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/0.1
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/0.2
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/0.3
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/0.4
@@ -0,0 +1 @@
+4
\ 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/0.5
new file mode 100644
index 0000000..7813681
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/0.5
@@ -0,0 +1 @@
+5
\ 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
new file mode 100644
index 0000000..7813681
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5
@@ -0,0 +1 @@
+5
\ 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
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+3
\ 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
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
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
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..dbe74fd
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-false/5/repository/timestamp.json
@@ -0,0 +1 @@
+{"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
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
new file mode 100644
index 0000000..af8add2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/keys/root.json
@@ -0,0 +1,16 @@
+{
+	"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/0/keys/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/keys/snapshot.json
new file mode 100644
index 0000000..63867bf
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/keys/snapshot.json
@@ -0,0 +1,16 @@
+{
+	"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/0/keys/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/keys/targets.json
new file mode 100644
index 0000000..04b647b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"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/0/keys/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/keys/timestamp.json
new file mode 100644
index 0000000..8fc8926
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/keys/timestamp.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7",
+				"private": "32b3fc0fbfca0d6c40560804020a50042c1385604b826c41575afb6dbf124f390c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"
+			}
+		}
+	]
+}
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
new file mode 100644
index 0000000..5c62584
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/1.root.json
@@ -0,0 +1 @@
+{"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/1.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/1.snapshot.json
new file mode 100644
index 0000000..5423a69
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"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/1.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/1.targets.json
new file mode 100644
index 0000000..ec4336b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/1.targets.json
@@ -0,0 +1 @@
+{"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/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json
new file mode 100644
index 0000000..5c62584
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..ec4336b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json
@@ -0,0 +1 @@
+{"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/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json
new file mode 100644
index 0000000..5423a69
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..5c62584
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/root.json
@@ -0,0 +1 @@
+{"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/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/snapshot.json
new file mode 100644
index 0000000..5423a69
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/snapshot.json
@@ -0,0 +1 @@
+{"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/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/targets.json
new file mode 100644
index 0000000..ec4336b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/targets.json
@@ -0,0 +1 @@
+{"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/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ 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
new file mode 100644
index 0000000..2d93956
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/0/repository/timestamp.json
@@ -0,0 +1 @@
+{"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
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 100644
index 0000000..af8add2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/root.json
@@ -0,0 +1,16 @@
+{
+	"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/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/snapshot.json
new file mode 100644
index 0000000..63867bf
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/snapshot.json
@@ -0,0 +1,16 @@
+{
+	"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/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/targets.json
new file mode 100644
index 0000000..04b647b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"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/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/timestamp.json
new file mode 100644
index 0000000..4c3c304
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/keys/timestamp.json
@@ -0,0 +1,27 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "0c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7",
+				"private": "32b3fc0fbfca0d6c40560804020a50042c1385604b826c41575afb6dbf124f390c51d5c6d8462226c7edc7a6a95860e8fc5a89ba1cf6e196d7a3b067b9e40bc7"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b",
+				"private": "b55b6f61ca3d2a77b5d2331787a77e430cd287d9eae4350292df8fc2fc0707f6cca34ef923fdcf9055b7d479219baf8979fbfe2f9ef046176d505927fef3531b"
+			}
+		}
+	]
+}
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 100644
index 0000000..5c62584
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1.root.json
@@ -0,0 +1 @@
+{"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.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1.snapshot.json
new file mode 100644
index 0000000..5423a69
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"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.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1.targets.json
new file mode 100644
index 0000000..ec4336b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1.targets.json
@@ -0,0 +1 @@
+{"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/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json
new file mode 100644
index 0000000..5c62584
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json
@@ -0,0 +1 @@
+{"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/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json
new file mode 100644
index 0000000..ec4336b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json
@@ -0,0 +1 @@
+{"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/2.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/2.root.json
new file mode 100644
index 0000000..c88a251
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/2.root.json
@@ -0,0 +1 @@
+{"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/2.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/2.snapshot.json
new file mode 100644
index 0000000..2f81d28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"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/2.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/2.targets.json
new file mode 100644
index 0000000..b11f3de
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/2.targets.json
@@ -0,0 +1 @@
+{"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/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json
new file mode 100644
index 0000000..2f81d28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..c88a251
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626.root.json
@@ -0,0 +1 @@
+{"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/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json
new file mode 100644
index 0000000..b11f3de
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json
@@ -0,0 +1 @@
+{"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/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json
new file mode 100644
index 0000000..5423a69
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..c88a251
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/root.json
@@ -0,0 +1 @@
+{"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/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/snapshot.json
new file mode 100644
index 0000000..2f81d28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/snapshot.json
@@ -0,0 +1 @@
+{"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/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/targets.json
new file mode 100644
index 0000000..b11f3de
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/targets.json
@@ -0,0 +1 @@
+{"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/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/targets/0.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ 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 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ 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
new file mode 100644
index 0000000..a6f85eb
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/1/repository/timestamp.json
@@ -0,0 +1 @@
+{"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
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 100644
index 0000000..af8add2
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/root.json
@@ -0,0 +1,16 @@
+{
+	"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/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/snapshot.json
new file mode 100644
index 0000000..63867bf
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/snapshot.json
@@ -0,0 +1,16 @@
+{
+	"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/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/targets.json
new file mode 100644
index 0000000..04b647b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"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/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/timestamp.json
new file mode 100644
index 0000000..1e8b0d5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/keys/timestamp.json
@@ -0,0 +1 @@
+{"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/2/repository/1.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1.root.json
new file mode 100644
index 0000000..5c62584
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1.root.json
@@ -0,0 +1 @@
+{"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.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1.snapshot.json
new file mode 100644
index 0000000..5423a69
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"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.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1.targets.json
new file mode 100644
index 0000000..ec4336b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1.targets.json
@@ -0,0 +1 @@
+{"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/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json
new file mode 100644
index 0000000..5c62584
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json
@@ -0,0 +1 @@
+{"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/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json
new file mode 100644
index 0000000..ec4336b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json
@@ -0,0 +1 @@
+{"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/2.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2.root.json
new file mode 100644
index 0000000..c88a251
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2.root.json
@@ -0,0 +1 @@
+{"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.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2.snapshot.json
new file mode 100644
index 0000000..2f81d28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"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.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2.targets.json
new file mode 100644
index 0000000..b11f3de
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2.targets.json
@@ -0,0 +1 @@
+{"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/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json
new file mode 100644
index 0000000..2f81d28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..c88a251
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626.root.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..00e1c43
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"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/3.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/3.targets.json
new file mode 100644
index 0000000..68d4266
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/3.targets.json
@@ -0,0 +1 @@
+{"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/6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730.targets.json
new file mode 100644
index 0000000..68d4266
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730.targets.json
@@ -0,0 +1 @@
+{"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/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json
new file mode 100644
index 0000000..b11f3de
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..00e1c43
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/8f58f3f272b5e33f1b2c7545dbef1ba0dddfba4f8b6c742164d9b89c8648cde4ecace9f392365426a688bc5d11a207d0fe248712f05927573f7f5c709ba457e8.snapshot.json
@@ -0,0 +1 @@
+{"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/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json
new file mode 100644
index 0000000..5423a69
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..c88a251
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/root.json
@@ -0,0 +1 @@
+{"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/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/snapshot.json
new file mode 100644
index 0000000..00e1c43
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/snapshot.json
@@ -0,0 +1 @@
+{"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/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets.json
new file mode 100644
index 0000000..68d4266
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets.json
@@ -0,0 +1 @@
+{"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/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/0.0
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/0.2 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/0.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/0.2
@@ -0,0 +1 @@
+2
\ 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 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ 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 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..ad2de4b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/2/repository/timestamp.json
@@ -0,0 +1 @@
+{"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
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
new file mode 100644
index 0000000..2e15ab3
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/root.json
@@ -0,0 +1,27 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2",
+				"private": "03805d15a81784855af1d957ad6db22dd8fe2c94781a068c9d65b895f87aa1b1c0c7d39b5701c3c3d0f156e985c6a4c1d3a110240cdf3f42f04b0e486ba1b0d2"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "fe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c",
+				"private": "e36f5f08db141807c3e2e715c92f60001e9f4b98cda9981cbcb05019c452ed3ffe9f9db83562c603a78de9a6f0556eed5c4e27bf95635b5bae8efe2cb22d040c"
+			}
+		}
+	]
+}
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 100644
index 0000000..63867bf
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/snapshot.json
@@ -0,0 +1,16 @@
+{
+	"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/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/targets.json
new file mode 100644
index 0000000..04b647b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"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/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/timestamp.json
new file mode 100644
index 0000000..1e8b0d5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/keys/timestamp.json
@@ -0,0 +1 @@
+{"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/repository/1.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1.root.json
new file mode 100644
index 0000000..5c62584
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1.root.json
@@ -0,0 +1 @@
+{"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.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1.snapshot.json
new file mode 100644
index 0000000..5423a69
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"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.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1.targets.json
new file mode 100644
index 0000000..ec4336b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1.targets.json
@@ -0,0 +1 @@
+{"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/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json
new file mode 100644
index 0000000..5c62584
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json
@@ -0,0 +1 @@
+{"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/12203374023883bb7ffba3156974a45fe25f55201ff8ca5e182adba37875f05dde21c887b7bf5fabc653370fa88c193a895ce4f445bb9b8d966eccd08dc740fa.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/12203374023883bb7ffba3156974a45fe25f55201ff8ca5e182adba37875f05dde21c887b7bf5fabc653370fa88c193a895ce4f445bb9b8d966eccd08dc740fa.root.json
new file mode 100644
index 0000000..d765d03
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/12203374023883bb7ffba3156974a45fe25f55201ff8ca5e182adba37875f05dde21c887b7bf5fabc653370fa88c193a895ce4f445bb9b8d966eccd08dc740fa.root.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..ec4336b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json
@@ -0,0 +1 @@
+{"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/2.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2.root.json
new file mode 100644
index 0000000..c88a251
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2.root.json
@@ -0,0 +1 @@
+{"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.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2.snapshot.json
new file mode 100644
index 0000000..2f81d28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"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.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2.targets.json
new file mode 100644
index 0000000..b11f3de
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2.targets.json
@@ -0,0 +1 @@
+{"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/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json
new file mode 100644
index 0000000..2f81d28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..c88a251
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626.root.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..d765d03
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/3.root.json
@@ -0,0 +1 @@
+{"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/3.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/3.snapshot.json
new file mode 100644
index 0000000..00e1c43
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"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.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/3.targets.json
new file mode 100644
index 0000000..68d4266
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/3.targets.json
@@ -0,0 +1 @@
+{"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/4.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/4.snapshot.json
new file mode 100644
index 0000000..367619b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/4.snapshot.json
@@ -0,0 +1 @@
+{"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/4.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/4.targets.json
new file mode 100644
index 0000000..0435b8f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/4.targets.json
@@ -0,0 +1 @@
+{"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/6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730.targets.json
new file mode 100644
index 0000000..68d4266
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730.targets.json
@@ -0,0 +1 @@
+{"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/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json
new file mode 100644
index 0000000..b11f3de
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json
@@ -0,0 +1 @@
+{"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/8f58f3f272b5e33f1b2c7545dbef1ba0dddfba4f8b6c742164d9b89c8648cde4ecace9f392365426a688bc5d11a207d0fe248712f05927573f7f5c709ba457e8.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/8f58f3f272b5e33f1b2c7545dbef1ba0dddfba4f8b6c742164d9b89c8648cde4ecace9f392365426a688bc5d11a207d0fe248712f05927573f7f5c709ba457e8.snapshot.json
new file mode 100644
index 0000000..00e1c43
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/8f58f3f272b5e33f1b2c7545dbef1ba0dddfba4f8b6c742164d9b89c8648cde4ecace9f392365426a688bc5d11a207d0fe248712f05927573f7f5c709ba457e8.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..0435b8f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/95144e44f804d137a00f2f3f8e4907456c62c5d3b8dc0d1d2374c8b16d1c14357f68d96c26f1045014de7cc8f38cee3eed407afdd8247f394ee0209f72fcbebe.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..367619b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/9bac7b1442cb8cbfb6df5ded15fd59e95065aff7cdf68af248a4873300038111a31138d65a0d847c48d6479e12e01e0f167aec6a7a5724c11ee0ff2405cd6151.snapshot.json
@@ -0,0 +1 @@
+{"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/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json
new file mode 100644
index 0000000..5423a69
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..d765d03
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/root.json
@@ -0,0 +1 @@
+{"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/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/snapshot.json
new file mode 100644
index 0000000..367619b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/snapshot.json
@@ -0,0 +1 @@
+{"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/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets.json
new file mode 100644
index 0000000..0435b8f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets.json
@@ -0,0 +1 @@
+{"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/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/0.0
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/0.1
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/0.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/0.3 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/0.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/0.3
@@ -0,0 +1 @@
+3
\ 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 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+3
\ 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 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..de2e772
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/3/repository/timestamp.json
@@ -0,0 +1 @@
+{"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
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
new file mode 100644
index 0000000..d85423b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/keys/root.json
@@ -0,0 +1 @@
+{"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/4/keys/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/keys/snapshot.json
new file mode 100644
index 0000000..0d9d8de
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/keys/snapshot.json
@@ -0,0 +1,27 @@
+{
+	"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/4/keys/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/keys/targets.json
new file mode 100644
index 0000000..04b647b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"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/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/keys/timestamp.json
new file mode 100644
index 0000000..1e8b0d5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/keys/timestamp.json
@@ -0,0 +1 @@
+{"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/repository/1.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1.root.json
new file mode 100644
index 0000000..5c62584
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1.root.json
@@ -0,0 +1 @@
+{"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.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1.snapshot.json
new file mode 100644
index 0000000..5423a69
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"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.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1.targets.json
new file mode 100644
index 0000000..ec4336b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1.targets.json
@@ -0,0 +1 @@
+{"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/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json
new file mode 100644
index 0000000..5c62584
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json
@@ -0,0 +1 @@
+{"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/12203374023883bb7ffba3156974a45fe25f55201ff8ca5e182adba37875f05dde21c887b7bf5fabc653370fa88c193a895ce4f445bb9b8d966eccd08dc740fa.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/12203374023883bb7ffba3156974a45fe25f55201ff8ca5e182adba37875f05dde21c887b7bf5fabc653370fa88c193a895ce4f445bb9b8d966eccd08dc740fa.root.json
new file mode 100644
index 0000000..d765d03
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/12203374023883bb7ffba3156974a45fe25f55201ff8ca5e182adba37875f05dde21c887b7bf5fabc653370fa88c193a895ce4f445bb9b8d966eccd08dc740fa.root.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..ec4336b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json
@@ -0,0 +1 @@
+{"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/2.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2.root.json
new file mode 100644
index 0000000..c88a251
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2.root.json
@@ -0,0 +1 @@
+{"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.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2.snapshot.json
new file mode 100644
index 0000000..2f81d28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"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.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2.targets.json
new file mode 100644
index 0000000..b11f3de
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2.targets.json
@@ -0,0 +1 @@
+{"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/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json
new file mode 100644
index 0000000..2f81d28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..c88a251
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626.root.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..d765d03
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/3.root.json
@@ -0,0 +1 @@
+{"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.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/3.snapshot.json
new file mode 100644
index 0000000..00e1c43
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"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.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/3.targets.json
new file mode 100644
index 0000000..68d4266
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/3.targets.json
@@ -0,0 +1 @@
+{"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/4.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/4.root.json
new file mode 100644
index 0000000..86d176c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/4.root.json
@@ -0,0 +1 @@
+{"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/4.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/4.snapshot.json
new file mode 100644
index 0000000..367619b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/4.snapshot.json
@@ -0,0 +1 @@
+{"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.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/4.targets.json
new file mode 100644
index 0000000..0435b8f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/4.targets.json
@@ -0,0 +1 @@
+{"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/5.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/5.snapshot.json
new file mode 100644
index 0000000..7e509f9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/5.snapshot.json
@@ -0,0 +1 @@
+{"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/5.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/5.targets.json
new file mode 100644
index 0000000..c16c1f7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/5.targets.json
@@ -0,0 +1 @@
+{"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/64e2a6ca1d3806852888c7f86ad4edbe0663dd0f41b219a74098b1bec2bd8c399aaf444e614133f1713b9b7604152f2587f9b80406eab3cfae66bb99fbf94b91.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/64e2a6ca1d3806852888c7f86ad4edbe0663dd0f41b219a74098b1bec2bd8c399aaf444e614133f1713b9b7604152f2587f9b80406eab3cfae66bb99fbf94b91.root.json
new file mode 100644
index 0000000..86d176c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/64e2a6ca1d3806852888c7f86ad4edbe0663dd0f41b219a74098b1bec2bd8c399aaf444e614133f1713b9b7604152f2587f9b80406eab3cfae66bb99fbf94b91.root.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..68d4266
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730.targets.json
@@ -0,0 +1 @@
+{"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/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json
new file mode 100644
index 0000000..b11f3de
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json
@@ -0,0 +1 @@
+{"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/8f58f3f272b5e33f1b2c7545dbef1ba0dddfba4f8b6c742164d9b89c8648cde4ecace9f392365426a688bc5d11a207d0fe248712f05927573f7f5c709ba457e8.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/8f58f3f272b5e33f1b2c7545dbef1ba0dddfba4f8b6c742164d9b89c8648cde4ecace9f392365426a688bc5d11a207d0fe248712f05927573f7f5c709ba457e8.snapshot.json
new file mode 100644
index 0000000..00e1c43
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/8f58f3f272b5e33f1b2c7545dbef1ba0dddfba4f8b6c742164d9b89c8648cde4ecace9f392365426a688bc5d11a207d0fe248712f05927573f7f5c709ba457e8.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..0435b8f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/95144e44f804d137a00f2f3f8e4907456c62c5d3b8dc0d1d2374c8b16d1c14357f68d96c26f1045014de7cc8f38cee3eed407afdd8247f394ee0209f72fcbebe.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..367619b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/9bac7b1442cb8cbfb6df5ded15fd59e95065aff7cdf68af248a4873300038111a31138d65a0d847c48d6479e12e01e0f167aec6a7a5724c11ee0ff2405cd6151.snapshot.json
@@ -0,0 +1 @@
+{"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/bcb5768b6fc725dd9b35c52a1a3a5bdf1b978a21600133d31603db435c4dc6a4ad7a765ad9703450e2a34ccb7c99391214b325f0d8541af2b7149f370afeea0d.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/bcb5768b6fc725dd9b35c52a1a3a5bdf1b978a21600133d31603db435c4dc6a4ad7a765ad9703450e2a34ccb7c99391214b325f0d8541af2b7149f370afeea0d.targets.json
new file mode 100644
index 0000000..c16c1f7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/bcb5768b6fc725dd9b35c52a1a3a5bdf1b978a21600133d31603db435c4dc6a4ad7a765ad9703450e2a34ccb7c99391214b325f0d8541af2b7149f370afeea0d.targets.json
@@ -0,0 +1 @@
+{"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/d18f05bb9f365bbc89af0ee4f10599b5cd903f8619eaf1d047237462fcb925307b0068700a4a753c81be6ea27d4819cc264e1216c77b52a93e02b4aa9a057000.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/d18f05bb9f365bbc89af0ee4f10599b5cd903f8619eaf1d047237462fcb925307b0068700a4a753c81be6ea27d4819cc264e1216c77b52a93e02b4aa9a057000.snapshot.json
new file mode 100644
index 0000000..7e509f9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/d18f05bb9f365bbc89af0ee4f10599b5cd903f8619eaf1d047237462fcb925307b0068700a4a753c81be6ea27d4819cc264e1216c77b52a93e02b4aa9a057000.snapshot.json
@@ -0,0 +1 @@
+{"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/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json
new file mode 100644
index 0000000..5423a69
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..86d176c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/root.json
@@ -0,0 +1 @@
+{"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/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/snapshot.json
new file mode 100644
index 0000000..7e509f9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/snapshot.json
@@ -0,0 +1 @@
+{"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/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets.json
new file mode 100644
index 0000000..c16c1f7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets.json
@@ -0,0 +1 @@
+{"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/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.0
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.1
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.2
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.4 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/0.4
@@ -0,0 +1 @@
+4
\ 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 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
@@ -0,0 +1 @@
+4
\ 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
new file mode 100644
index 0000000..b86551e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/4/repository/timestamp.json
@@ -0,0 +1 @@
+{"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
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 100644
index 0000000..d85423b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/root.json
@@ -0,0 +1 @@
+{"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/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/snapshot.json
new file mode 100644
index 0000000..0d9d8de
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/snapshot.json
@@ -0,0 +1,27 @@
+{
+	"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/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/targets.json
new file mode 100644
index 0000000..04b647b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"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/timestamp.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/timestamp.json
new file mode 100644
index 0000000..1e8b0d5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/keys/timestamp.json
@@ -0,0 +1 @@
+{"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/repository/04dd52d614a882241314ba9a3a30f52067f360b151687b92e7ec3682966dee331975cd04e71e004f1556f7a82677beaf65e3c34b79387ff9559da000a519bd0b.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/04dd52d614a882241314ba9a3a30f52067f360b151687b92e7ec3682966dee331975cd04e71e004f1556f7a82677beaf65e3c34b79387ff9559da000a519bd0b.snapshot.json
new file mode 100644
index 0000000..cd7a807
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/04dd52d614a882241314ba9a3a30f52067f360b151687b92e7ec3682966dee331975cd04e71e004f1556f7a82677beaf65e3c34b79387ff9559da000a519bd0b.snapshot.json
@@ -0,0 +1 @@
+{"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/1.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1.root.json
new file mode 100644
index 0000000..5c62584
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1.root.json
@@ -0,0 +1 @@
+{"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.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1.snapshot.json
new file mode 100644
index 0000000..5423a69
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"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.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1.targets.json
new file mode 100644
index 0000000..ec4336b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1.targets.json
@@ -0,0 +1 @@
+{"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/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json
new file mode 100644
index 0000000..5c62584
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/102ee9bd863b275fdb7056b52bd6cc75c1b75fed00aad28827f649e923fe8bad15963cd12f35288f302ccc199ae154a291c613e14ce5578fe52783398f3e7da3.root.json
@@ -0,0 +1 @@
+{"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/12203374023883bb7ffba3156974a45fe25f55201ff8ca5e182adba37875f05dde21c887b7bf5fabc653370fa88c193a895ce4f445bb9b8d966eccd08dc740fa.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/12203374023883bb7ffba3156974a45fe25f55201ff8ca5e182adba37875f05dde21c887b7bf5fabc653370fa88c193a895ce4f445bb9b8d966eccd08dc740fa.root.json
new file mode 100644
index 0000000..d765d03
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/12203374023883bb7ffba3156974a45fe25f55201ff8ca5e182adba37875f05dde21c887b7bf5fabc653370fa88c193a895ce4f445bb9b8d966eccd08dc740fa.root.json
@@ -0,0 +1 @@
+{"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/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json
new file mode 100644
index 0000000..ec4336b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/1c18c93b8628620cd677a82ec427c9ff28b9c602070feccef4d44e264d9516f09a9712581c87c2a3496c61a591a7fb1153bad538305a7f516beafb8e7fa24624.targets.json
@@ -0,0 +1 @@
+{"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/2.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2.root.json
new file mode 100644
index 0000000..c88a251
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2.root.json
@@ -0,0 +1 @@
+{"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.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2.snapshot.json
new file mode 100644
index 0000000..2f81d28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"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.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2.targets.json
new file mode 100644
index 0000000..b11f3de
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2.targets.json
@@ -0,0 +1 @@
+{"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/26d3ec0a2f15a89261b935d4111c4cd86b1322ec63a147b31c4baea78e84890559f23e5a60e0cd9e3119f0c771ab9502c3b8dd7f65abf029515d98f605a7e752.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/26d3ec0a2f15a89261b935d4111c4cd86b1322ec63a147b31c4baea78e84890559f23e5a60e0cd9e3119f0c771ab9502c3b8dd7f65abf029515d98f605a7e752.targets.json
new file mode 100644
index 0000000..17ab048
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/26d3ec0a2f15a89261b935d4111c4cd86b1322ec63a147b31c4baea78e84890559f23e5a60e0cd9e3119f0c771ab9502c3b8dd7f65abf029515d98f605a7e752.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..2f81d28
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2cae62e15287a80f58e6f495771786ace7ca5c6096ad6e7bf71551e9025e83bb2c805fbdab2f299cab1ba7bd2df2f3b61c5c1a4e5b97811fda9dedadd7dd232a.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..c88a251
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/2d8f5b58d81972d935708c999dc6ce9c54979fe0ee7f8b0473eed4fc952d3ae83ab3ecb9aed8651d8126bd24e2b3f4a9753d0813c5597f8f3f146e3b16c16626.root.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..d765d03
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/3.root.json
@@ -0,0 +1 @@
+{"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.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/3.snapshot.json
new file mode 100644
index 0000000..00e1c43
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"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.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/3.targets.json
new file mode 100644
index 0000000..68d4266
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/3.targets.json
@@ -0,0 +1 @@
+{"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/4.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/4.root.json
new file mode 100644
index 0000000..86d176c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/4.root.json
@@ -0,0 +1 @@
+{"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.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/4.snapshot.json
new file mode 100644
index 0000000..367619b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/4.snapshot.json
@@ -0,0 +1 @@
+{"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.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/4.targets.json
new file mode 100644
index 0000000..0435b8f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/4.targets.json
@@ -0,0 +1 @@
+{"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/5.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/5.snapshot.json
new file mode 100644
index 0000000..7e509f9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/5.snapshot.json
@@ -0,0 +1 @@
+{"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.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/5.targets.json
new file mode 100644
index 0000000..c16c1f7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/5.targets.json
@@ -0,0 +1 @@
+{"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/6.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/6.snapshot.json
new file mode 100644
index 0000000..cd7a807
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/6.snapshot.json
@@ -0,0 +1 @@
+{"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/6.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/6.targets.json
new file mode 100644
index 0000000..17ab048
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/6.targets.json
@@ -0,0 +1 @@
+{"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/64e2a6ca1d3806852888c7f86ad4edbe0663dd0f41b219a74098b1bec2bd8c399aaf444e614133f1713b9b7604152f2587f9b80406eab3cfae66bb99fbf94b91.root.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/64e2a6ca1d3806852888c7f86ad4edbe0663dd0f41b219a74098b1bec2bd8c399aaf444e614133f1713b9b7604152f2587f9b80406eab3cfae66bb99fbf94b91.root.json
new file mode 100644
index 0000000..86d176c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/64e2a6ca1d3806852888c7f86ad4edbe0663dd0f41b219a74098b1bec2bd8c399aaf444e614133f1713b9b7604152f2587f9b80406eab3cfae66bb99fbf94b91.root.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..68d4266
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/6b0fa9a46e1596f6a6f6a5b2ae09e193ba85163effe5c529ea29b05fb7d2bd493d27b32a85a123267451e42e453432d81765f355a00e552d6c92b155db90d730.targets.json
@@ -0,0 +1 @@
+{"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/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json
new file mode 100644
index 0000000..b11f3de
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/76f3d6efaf063ef70197517ef7af122a7fe6bc7999b5d4210f7fa7f9bd31844cc12feaa22078d782cc60b02c5701e0f689057fafe88ceaed628da4330d731695.targets.json
@@ -0,0 +1 @@
+{"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/8f58f3f272b5e33f1b2c7545dbef1ba0dddfba4f8b6c742164d9b89c8648cde4ecace9f392365426a688bc5d11a207d0fe248712f05927573f7f5c709ba457e8.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/8f58f3f272b5e33f1b2c7545dbef1ba0dddfba4f8b6c742164d9b89c8648cde4ecace9f392365426a688bc5d11a207d0fe248712f05927573f7f5c709ba457e8.snapshot.json
new file mode 100644
index 0000000..00e1c43
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/8f58f3f272b5e33f1b2c7545dbef1ba0dddfba4f8b6c742164d9b89c8648cde4ecace9f392365426a688bc5d11a207d0fe248712f05927573f7f5c709ba457e8.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..0435b8f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/95144e44f804d137a00f2f3f8e4907456c62c5d3b8dc0d1d2374c8b16d1c14357f68d96c26f1045014de7cc8f38cee3eed407afdd8247f394ee0209f72fcbebe.targets.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..367619b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/9bac7b1442cb8cbfb6df5ded15fd59e95065aff7cdf68af248a4873300038111a31138d65a0d847c48d6479e12e01e0f167aec6a7a5724c11ee0ff2405cd6151.snapshot.json
@@ -0,0 +1 @@
+{"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/bcb5768b6fc725dd9b35c52a1a3a5bdf1b978a21600133d31603db435c4dc6a4ad7a765ad9703450e2a34ccb7c99391214b325f0d8541af2b7149f370afeea0d.targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/bcb5768b6fc725dd9b35c52a1a3a5bdf1b978a21600133d31603db435c4dc6a4ad7a765ad9703450e2a34ccb7c99391214b325f0d8541af2b7149f370afeea0d.targets.json
new file mode 100644
index 0000000..c16c1f7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/bcb5768b6fc725dd9b35c52a1a3a5bdf1b978a21600133d31603db435c4dc6a4ad7a765ad9703450e2a34ccb7c99391214b325f0d8541af2b7149f370afeea0d.targets.json
@@ -0,0 +1 @@
+{"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/d18f05bb9f365bbc89af0ee4f10599b5cd903f8619eaf1d047237462fcb925307b0068700a4a753c81be6ea27d4819cc264e1216c77b52a93e02b4aa9a057000.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/d18f05bb9f365bbc89af0ee4f10599b5cd903f8619eaf1d047237462fcb925307b0068700a4a753c81be6ea27d4819cc264e1216c77b52a93e02b4aa9a057000.snapshot.json
new file mode 100644
index 0000000..7e509f9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/d18f05bb9f365bbc89af0ee4f10599b5cd903f8619eaf1d047237462fcb925307b0068700a4a753c81be6ea27d4819cc264e1216c77b52a93e02b4aa9a057000.snapshot.json
@@ -0,0 +1 @@
+{"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/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json
new file mode 100644
index 0000000..5423a69
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/eda406496d5df86f6d4a3b02bfd7104fc9577a96ab9f17960ccb9a9789b2d5bc6082374eb0271f87a91fb7b756c2bc20a6c8cc2c19b56103f9b3ff3afcc1de67.snapshot.json
@@ -0,0 +1 @@
+{"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
new file mode 100644
index 0000000..86d176c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/root.json
@@ -0,0 +1 @@
+{"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/snapshot.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/snapshot.json
new file mode 100644
index 0000000..cd7a807
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/snapshot.json
@@ -0,0 +1 @@
+{"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/targets.json b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets.json
new file mode 100644
index 0000000..17ab048
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets.json
@@ -0,0 +1 @@
+{"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/targets/0.0 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.0
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.1
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.2
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.3
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.5 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.5
new file mode 100644
index 0000000..7813681
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/0.5
@@ -0,0 +1 @@
+5
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5 b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5
new file mode 100644
index 0000000..7813681
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5
@@ -0,0 +1 @@
+5
\ 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 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
@@ -0,0 +1 @@
+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
new file mode 100644
index 0000000..d3fdbbe
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/consistent-snapshot-true/5/repository/timestamp.json
@@ -0,0 +1 @@
+{"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
diff --git a/client/testdata/go-tuf-transition-M3/generate.go b/client/testdata/go-tuf-transition-M3/generate.go
new file mode 100644
index 0000000..146988f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M3/generate.go
@@ -0,0 +1,171 @@
+package main
+
+import (
+	"encoding/json"
+	"fmt"
+	"io/ioutil"
+	"log"
+	"os"
+	"os/exec"
+	"path/filepath"
+	"time"
+
+	tuf "github.com/flynn/go-tuf"
+	"github.com/flynn/go-tuf/sign"
+)
+
+var expirationDate = time.Date(2100, time.January, 1, 0, 0, 0, 0, time.UTC)
+
+type persistedKeys struct {
+	Encrypted bool               `json:"encrypted"`
+	Data      []*sign.PrivateKey `json:"data"`
+}
+
+func assertNotNil(err error) {
+	if err != nil {
+		panic(fmt.Sprintf("assertion failed: %s", err))
+	}
+}
+
+func copyRepo(src string, dst string) {
+	cmd := exec.Command("cp", "-r", src, dst)
+	assertNotNil(cmd.Run())
+}
+
+func newRepo(dir string) *tuf.Repo {
+	repo, err := tuf.NewRepo(tuf.FileSystemStore(dir, nil))
+	assertNotNil(err)
+
+	return repo
+}
+
+func commit(repo *tuf.Repo) {
+	assertNotNil(repo.SnapshotWithExpires(tuf.CompressionTypeNone, expirationDate))
+	assertNotNil(repo.TimestampWithExpires(expirationDate))
+	assertNotNil(repo.Commit())
+}
+
+func genKeys(repo *tuf.Repo, roles []string) map[string][]string {
+	ids := make(map[string][]string)
+
+	for _, role := range roles {
+		id, err := repo.GenKeyWithExpires(role, expirationDate)
+		assertNotNil(err)
+		ids[role] = id
+	}
+
+	return ids
+}
+
+func addTargets(repo *tuf.Repo, dir string, files map[string][]byte) {
+	paths := []string{}
+	for file, data := range files {
+		path := filepath.Join(dir, "staged", "targets", file)
+		assertNotNil(os.MkdirAll(filepath.Dir(path), 0755))
+		assertNotNil(ioutil.WriteFile(path, data, 0644))
+		paths = append(paths, file)
+	}
+	assertNotNil(repo.AddTargetsWithExpires(paths, nil, expirationDate))
+}
+
+func revokeKey(repo *tuf.Repo, role string, ids []string) {
+	assertNotNil(repo.RevokeKeyWithExpires(role, ids[0], expirationDate))
+}
+
+// repoFilteredKeys filters out a key to make sure we can't sign with it. This
+// is to make sure key rotation worked.
+func filterKeys(dir string, role string, ids []string) {
+	path := filepath.Join(dir, "keys", fmt.Sprintf("%s.json", role))
+	b, err := ioutil.ReadFile(path)
+	assertNotNil(err)
+
+	keys := &persistedKeys{}
+	assertNotNil(json.Unmarshal(b, keys))
+
+	newKeys := []*sign.PrivateKey{}
+	for _, key := range keys.Data {
+		found := false
+		for _, id := range ids {
+			if key.PublicData().ContainsID(id) {
+				found = true
+				break
+			}
+		}
+		if !found {
+			newKeys = append(newKeys, key)
+		}
+	}
+	keys.Data = newKeys
+
+	b, err = json.Marshal(keys)
+	assertNotNil(err)
+
+	err = ioutil.WriteFile(path, b, 0644)
+	assertNotNil(err)
+}
+
+func generateRepos(dir string) {
+	// Create the initial repo.
+	dir0 := filepath.Join(dir, "0")
+	repo0 := newRepo(dir0)
+	ids := genKeys(repo0, []string{"root", "snapshot", "targets", "timestamp"})
+	addTargets(repo0, dir0, map[string][]byte{"0": []byte("0")})
+	commit(repo0)
+
+	// Rotate the timestamp keys.
+	dir1 := filepath.Join(dir, "1")
+	copyRepo(dir0, dir1)
+	repo1 := newRepo(dir1)
+	revokeKey(repo1, "timestamp", ids["timestamp"])
+	genKeys(repo1, []string{"timestamp"})
+	addTargets(repo1, dir1, map[string][]byte{"1": []byte("1")})
+	commit(repo1)
+
+	// Filter out the old timestamp key to make sure we can't use it.
+	dir2 := filepath.Join(dir, "2")
+	copyRepo(dir1, dir2)
+	filterKeys(dir2, "timestamp", ids["timestamp"])
+	repo2 := newRepo(dir2)
+	addTargets(repo2, dir2, map[string][]byte{"2": []byte("2")})
+	commit(repo2)
+
+	// Now, actually rotate the root keys.
+	dir3 := filepath.Join(dir, "3")
+	copyRepo(dir2, dir3)
+	repo3 := newRepo(dir3)
+	revokeKey(repo3, "root", ids["root"])
+	genKeys(repo3, []string{"root"})
+	addTargets(repo3, dir3, map[string][]byte{"3": []byte("3")})
+	commit(repo3)
+
+	// Filter out the old root key to make sure we can't use it.
+	dir4 := filepath.Join(dir, "4")
+	copyRepo(dir3, dir4)
+	filterKeys(dir4, "root", ids["root"])
+	// The only way to force go-tuf to re-sign the root.json is to generate
+	// or revoke a key. So why not do both?
+	repo4 := newRepo(dir4)
+	ids = genKeys(repo4, []string{"snapshot"})
+	revokeKey(repo4, "snapshot", ids["snapshot"])
+	addTargets(repo4, dir4, map[string][]byte{"4": []byte("4")})
+	commit(repo4)
+
+	// Add another target file to make sure the workflow worked.
+	dir5 := filepath.Join(dir, "5")
+	copyRepo(dir4, dir5)
+	repo5 := newRepo(dir5)
+	addTargets(repo5, dir5, map[string][]byte{"5": []byte("5")})
+	commit(repo5)
+}
+
+func main() {
+	cwd, err := os.Getwd()
+	assertNotNil(err)
+
+	for _, consistentSnapshot := range []bool{false, true} {
+		name := fmt.Sprintf("consistent-snapshot-%t", consistentSnapshot)
+		log.Printf("generating %s", name)
+		generateRepos(filepath.Join(cwd, name))
+	}
+
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/keys/root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/keys/root.json
new file mode 100644
index 0000000..5ad0b04
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/keys/root.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680",
+				"private": "32fc6316916958d56498d557c855bc2d012ea847175ffe03807d06ad401602da0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/keys/snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/keys/snapshot.json
new file mode 100644
index 0000000..f0c7638
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/keys/snapshot.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518",
+				"private": "6a96f1a4d2193a181511ac4ba1b3ae8e92de8b9f14d76ed10139d705d2d57e5b9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/keys/targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/keys/targets.json
new file mode 100644
index 0000000..ea04176
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef",
+				"private": "30d93aa3b83a5672dabfe4e8a0175491ae5051d02d6e049952c065169fe04b6c03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/keys/timestamp.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/keys/timestamp.json
new file mode 100644
index 0000000..5e42d1c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/keys/timestamp.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "bca92195f8fb4fe781e59614f819ee983d7398deea249cb93e4517e5a7b285f7",
+				"private": "55c510bcbe6892eb536e6ac632317f6b0651452e9a2519472a28fa2dc4d8dfdbbca92195f8fb4fe781e59614f819ee983d7398deea249cb93e4517e5a7b285f7"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094.targets.json
new file mode 100644
index 0000000..54af415
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"4fbdc8c6e31f63ed182694ae82081e52a68ea563d8e6339e7c247531538af6cfa3e19f7cbcf9d790c6daa57460a60ea74b75eacd1b320d86193be7d36dae3a07"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/1.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/1.root.json
new file mode 100644
index 0000000..faa92c6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"4f6cbf068b19f3f876f0919eafb43f65e4899504fc18b822c6e6078b798c986b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"bca92195f8fb4fe781e59614f819ee983d7398deea249cb93e4517e5a7b285f7"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["4f6cbf068b19f3f876f0919eafb43f65e4899504fc18b822c6e6078b798c986b"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"83803c5ce5acb02df6bd8287b16f356b9139f0c9e2696731875361ab422849d7683a0543ba83e55eea15ed77a84f654196e68337c6d2db31ec95d6a8ac7aa10f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/1.snapshot.json
new file mode 100644
index 0000000..ca3b1f0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84"},"length":1704,"version":1},"targets.json":{"hashes":{"sha512":"077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094"},"length":505,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"8a8d8f27a7b46a41a50c8fb5f9f9a355f1dd9538e29505f2b13c4ae2598084b4d87d1600485eeca23237e70a6ff5f6df1cee42542c929cd3129a00df0f6fc409"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/1.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/1.targets.json
new file mode 100644
index 0000000..54af415
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"4fbdc8c6e31f63ed182694ae82081e52a68ea563d8e6339e7c247531538af6cfa3e19f7cbcf9d790c6daa57460a60ea74b75eacd1b320d86193be7d36dae3a07"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84.root.json
new file mode 100644
index 0000000..faa92c6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"4f6cbf068b19f3f876f0919eafb43f65e4899504fc18b822c6e6078b798c986b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"bca92195f8fb4fe781e59614f819ee983d7398deea249cb93e4517e5a7b285f7"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["4f6cbf068b19f3f876f0919eafb43f65e4899504fc18b822c6e6078b798c986b"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"83803c5ce5acb02df6bd8287b16f356b9139f0c9e2696731875361ab422849d7683a0543ba83e55eea15ed77a84f654196e68337c6d2db31ec95d6a8ac7aa10f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/e92754ae7309051b870ced601ab9bb9817b457a7c48f010f6060d32aba60afaa88ac4d79a78bf79a2fe4602c74831fe1d402ddf109314793964486d4017fadee.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/e92754ae7309051b870ced601ab9bb9817b457a7c48f010f6060d32aba60afaa88ac4d79a78bf79a2fe4602c74831fe1d402ddf109314793964486d4017fadee.snapshot.json
new file mode 100644
index 0000000..ca3b1f0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/e92754ae7309051b870ced601ab9bb9817b457a7c48f010f6060d32aba60afaa88ac4d79a78bf79a2fe4602c74831fe1d402ddf109314793964486d4017fadee.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84"},"length":1704,"version":1},"targets.json":{"hashes":{"sha512":"077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094"},"length":505,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"8a8d8f27a7b46a41a50c8fb5f9f9a355f1dd9538e29505f2b13c4ae2598084b4d87d1600485eeca23237e70a6ff5f6df1cee42542c929cd3129a00df0f6fc409"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/root.json
new file mode 100644
index 0000000..faa92c6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"4f6cbf068b19f3f876f0919eafb43f65e4899504fc18b822c6e6078b798c986b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"bca92195f8fb4fe781e59614f819ee983d7398deea249cb93e4517e5a7b285f7"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["4f6cbf068b19f3f876f0919eafb43f65e4899504fc18b822c6e6078b798c986b"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"83803c5ce5acb02df6bd8287b16f356b9139f0c9e2696731875361ab422849d7683a0543ba83e55eea15ed77a84f654196e68337c6d2db31ec95d6a8ac7aa10f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/snapshot.json
new file mode 100644
index 0000000..ca3b1f0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84"},"length":1704,"version":1},"targets.json":{"hashes":{"sha512":"077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094"},"length":505,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"8a8d8f27a7b46a41a50c8fb5f9f9a355f1dd9538e29505f2b13c4ae2598084b4d87d1600485eeca23237e70a6ff5f6df1cee42542c929cd3129a00df0f6fc409"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/targets.json
new file mode 100644
index 0000000..54af415
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"4fbdc8c6e31f63ed182694ae82081e52a68ea563d8e6339e7c247531538af6cfa3e19f7cbcf9d790c6daa57460a60ea74b75eacd1b320d86193be7d36dae3a07"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/targets/0.0 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/timestamp.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/timestamp.json
new file mode 100644
index 0000000..33faea5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/0/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"e92754ae7309051b870ced601ab9bb9817b457a7c48f010f6060d32aba60afaa88ac4d79a78bf79a2fe4602c74831fe1d402ddf109314793964486d4017fadee"},"length":719,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"4f6cbf068b19f3f876f0919eafb43f65e4899504fc18b822c6e6078b798c986b","sig":"af902cb1fb440577037ed550f708dd45ea368636a58b92cbe30cc8922c4791054e7d2fb375e09d297de6f35364e83a49da80189324adcf5842d23a1910278a05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/keys/root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/keys/root.json
new file mode 100644
index 0000000..5ad0b04
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/keys/root.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680",
+				"private": "32fc6316916958d56498d557c855bc2d012ea847175ffe03807d06ad401602da0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/keys/snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/keys/snapshot.json
new file mode 100644
index 0000000..f0c7638
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/keys/snapshot.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518",
+				"private": "6a96f1a4d2193a181511ac4ba1b3ae8e92de8b9f14d76ed10139d705d2d57e5b9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/keys/targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/keys/targets.json
new file mode 100644
index 0000000..ea04176
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef",
+				"private": "30d93aa3b83a5672dabfe4e8a0175491ae5051d02d6e049952c065169fe04b6c03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/keys/timestamp.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/keys/timestamp.json
new file mode 100644
index 0000000..c6e5326
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/keys/timestamp.json
@@ -0,0 +1,27 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "bca92195f8fb4fe781e59614f819ee983d7398deea249cb93e4517e5a7b285f7",
+				"private": "55c510bcbe6892eb536e6ac632317f6b0651452e9a2519472a28fa2dc4d8dfdbbca92195f8fb4fe781e59614f819ee983d7398deea249cb93e4517e5a7b285f7"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61",
+				"private": "58b4c4368feeaa3c217caa454deee36f44edaf44f92fa15c22ed8156edc9bd29814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094.targets.json
new file mode 100644
index 0000000..54af415
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"4fbdc8c6e31f63ed182694ae82081e52a68ea563d8e6339e7c247531538af6cfa3e19f7cbcf9d790c6daa57460a60ea74b75eacd1b320d86193be7d36dae3a07"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/1.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/1.root.json
new file mode 100644
index 0000000..faa92c6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"4f6cbf068b19f3f876f0919eafb43f65e4899504fc18b822c6e6078b798c986b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"bca92195f8fb4fe781e59614f819ee983d7398deea249cb93e4517e5a7b285f7"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["4f6cbf068b19f3f876f0919eafb43f65e4899504fc18b822c6e6078b798c986b"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"83803c5ce5acb02df6bd8287b16f356b9139f0c9e2696731875361ab422849d7683a0543ba83e55eea15ed77a84f654196e68337c6d2db31ec95d6a8ac7aa10f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/1.snapshot.json
new file mode 100644
index 0000000..ca3b1f0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84"},"length":1704,"version":1},"targets.json":{"hashes":{"sha512":"077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094"},"length":505,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"8a8d8f27a7b46a41a50c8fb5f9f9a355f1dd9538e29505f2b13c4ae2598084b4d87d1600485eeca23237e70a6ff5f6df1cee42542c929cd3129a00df0f6fc409"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/1.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/1.targets.json
new file mode 100644
index 0000000..54af415
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"4fbdc8c6e31f63ed182694ae82081e52a68ea563d8e6339e7c247531538af6cfa3e19f7cbcf9d790c6daa57460a60ea74b75eacd1b320d86193be7d36dae3a07"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/17957fb35719cdf1b42f9a82e53981433c76be22ceefe0c1f27c23345d99491daecc0b3979bb963c716aaeb6c52502f5e4d5bd63a3406352a0d39f2b1fe90472.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/17957fb35719cdf1b42f9a82e53981433c76be22ceefe0c1f27c23345d99491daecc0b3979bb963c716aaeb6c52502f5e4d5bd63a3406352a0d39f2b1fe90472.snapshot.json
new file mode 100644
index 0000000..453e1ac
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/17957fb35719cdf1b42f9a82e53981433c76be22ceefe0c1f27c23345d99491daecc0b3979bb963c716aaeb6c52502f5e4d5bd63a3406352a0d39f2b1fe90472.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"c944d09e8c5efda309e1a4498277af737b97dc8823a659ed3a60c4d011dcdc729797fd1a6f6d963b93bc2a30414be3f88481837c2b17d14f072b39f2191866a2"},"length":673,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"f6e31e7bb5789f7c18fcaadbe6cca65c9b874fe67255291bcf56641a11a7b764939602b31aa928b2e02a87fcefbc8ef91d8de19ebd61007818eebafa76c6b701"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/2.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/2.root.json
new file mode 100644
index 0000000..f2c637d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"},"scheme":"ed25519"},"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"55463ef12660d470109117b2873e1c018aaf606b9b7918ec6362929db5312665a8697c83510212bac5ef236284342922a96a4ce88122470851a7b7cb7536a107"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/2.snapshot.json
new file mode 100644
index 0000000..453e1ac
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"c944d09e8c5efda309e1a4498277af737b97dc8823a659ed3a60c4d011dcdc729797fd1a6f6d963b93bc2a30414be3f88481837c2b17d14f072b39f2191866a2"},"length":673,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"f6e31e7bb5789f7c18fcaadbe6cca65c9b874fe67255291bcf56641a11a7b764939602b31aa928b2e02a87fcefbc8ef91d8de19ebd61007818eebafa76c6b701"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/2.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/2.targets.json
new file mode 100644
index 0000000..e82b814
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/2.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"e50e81453ed9416a8877fa83a7e8dcc8d2ce73b38808986d420fc940ba6fa43c60b53d1a00caba2ae5a06ff8421472c9c4a09efee56cbe63a683b01f15f4e10a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84.root.json
new file mode 100644
index 0000000..faa92c6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"4f6cbf068b19f3f876f0919eafb43f65e4899504fc18b822c6e6078b798c986b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"bca92195f8fb4fe781e59614f819ee983d7398deea249cb93e4517e5a7b285f7"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["4f6cbf068b19f3f876f0919eafb43f65e4899504fc18b822c6e6078b798c986b"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"83803c5ce5acb02df6bd8287b16f356b9139f0c9e2696731875361ab422849d7683a0543ba83e55eea15ed77a84f654196e68337c6d2db31ec95d6a8ac7aa10f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c.root.json
new file mode 100644
index 0000000..f2c637d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"},"scheme":"ed25519"},"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"55463ef12660d470109117b2873e1c018aaf606b9b7918ec6362929db5312665a8697c83510212bac5ef236284342922a96a4ce88122470851a7b7cb7536a107"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/c944d09e8c5efda309e1a4498277af737b97dc8823a659ed3a60c4d011dcdc729797fd1a6f6d963b93bc2a30414be3f88481837c2b17d14f072b39f2191866a2.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/c944d09e8c5efda309e1a4498277af737b97dc8823a659ed3a60c4d011dcdc729797fd1a6f6d963b93bc2a30414be3f88481837c2b17d14f072b39f2191866a2.targets.json
new file mode 100644
index 0000000..e82b814
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/c944d09e8c5efda309e1a4498277af737b97dc8823a659ed3a60c4d011dcdc729797fd1a6f6d963b93bc2a30414be3f88481837c2b17d14f072b39f2191866a2.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"e50e81453ed9416a8877fa83a7e8dcc8d2ce73b38808986d420fc940ba6fa43c60b53d1a00caba2ae5a06ff8421472c9c4a09efee56cbe63a683b01f15f4e10a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/e92754ae7309051b870ced601ab9bb9817b457a7c48f010f6060d32aba60afaa88ac4d79a78bf79a2fe4602c74831fe1d402ddf109314793964486d4017fadee.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/e92754ae7309051b870ced601ab9bb9817b457a7c48f010f6060d32aba60afaa88ac4d79a78bf79a2fe4602c74831fe1d402ddf109314793964486d4017fadee.snapshot.json
new file mode 100644
index 0000000..ca3b1f0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/e92754ae7309051b870ced601ab9bb9817b457a7c48f010f6060d32aba60afaa88ac4d79a78bf79a2fe4602c74831fe1d402ddf109314793964486d4017fadee.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84"},"length":1704,"version":1},"targets.json":{"hashes":{"sha512":"077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094"},"length":505,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"8a8d8f27a7b46a41a50c8fb5f9f9a355f1dd9538e29505f2b13c4ae2598084b4d87d1600485eeca23237e70a6ff5f6df1cee42542c929cd3129a00df0f6fc409"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/root.json
new file mode 100644
index 0000000..f2c637d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"},"scheme":"ed25519"},"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"55463ef12660d470109117b2873e1c018aaf606b9b7918ec6362929db5312665a8697c83510212bac5ef236284342922a96a4ce88122470851a7b7cb7536a107"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/snapshot.json
new file mode 100644
index 0000000..453e1ac
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"c944d09e8c5efda309e1a4498277af737b97dc8823a659ed3a60c4d011dcdc729797fd1a6f6d963b93bc2a30414be3f88481837c2b17d14f072b39f2191866a2"},"length":673,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"f6e31e7bb5789f7c18fcaadbe6cca65c9b874fe67255291bcf56641a11a7b764939602b31aa928b2e02a87fcefbc8ef91d8de19ebd61007818eebafa76c6b701"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/targets.json
new file mode 100644
index 0000000..e82b814
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"e50e81453ed9416a8877fa83a7e8dcc8d2ce73b38808986d420fc940ba6fa43c60b53d1a00caba2ae5a06ff8421472c9c4a09efee56cbe63a683b01f15f4e10a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/targets/0.0 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/targets/0.1 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/timestamp.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/timestamp.json
new file mode 100644
index 0000000..30ed1ba
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/1/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"17957fb35719cdf1b42f9a82e53981433c76be22ceefe0c1f27c23345d99491daecc0b3979bb963c716aaeb6c52502f5e4d5bd63a3406352a0d39f2b1fe90472"},"length":719,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47","sig":"245186eb1568ca8122f54b8a5e020b5ff364127ee43016b388624cfa6d8bda123713fc32e062a68ab82041b0554690c06b1460e0cd462cdb249b75d14f557805"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/keys/root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/keys/root.json
new file mode 100644
index 0000000..5ad0b04
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/keys/root.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680",
+				"private": "32fc6316916958d56498d557c855bc2d012ea847175ffe03807d06ad401602da0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/keys/snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/keys/snapshot.json
new file mode 100644
index 0000000..f0c7638
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/keys/snapshot.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518",
+				"private": "6a96f1a4d2193a181511ac4ba1b3ae8e92de8b9f14d76ed10139d705d2d57e5b9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/keys/targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/keys/targets.json
new file mode 100644
index 0000000..ea04176
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef",
+				"private": "30d93aa3b83a5672dabfe4e8a0175491ae5051d02d6e049952c065169fe04b6c03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/keys/timestamp.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/keys/timestamp.json
new file mode 100644
index 0000000..339e796
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61","private":"58b4c4368feeaa3c217caa454deee36f44edaf44f92fa15c22ed8156edc9bd29814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094.targets.json
new file mode 100644
index 0000000..54af415
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"4fbdc8c6e31f63ed182694ae82081e52a68ea563d8e6339e7c247531538af6cfa3e19f7cbcf9d790c6daa57460a60ea74b75eacd1b320d86193be7d36dae3a07"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/1.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/1.root.json
new file mode 100644
index 0000000..faa92c6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"4f6cbf068b19f3f876f0919eafb43f65e4899504fc18b822c6e6078b798c986b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"bca92195f8fb4fe781e59614f819ee983d7398deea249cb93e4517e5a7b285f7"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["4f6cbf068b19f3f876f0919eafb43f65e4899504fc18b822c6e6078b798c986b"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"83803c5ce5acb02df6bd8287b16f356b9139f0c9e2696731875361ab422849d7683a0543ba83e55eea15ed77a84f654196e68337c6d2db31ec95d6a8ac7aa10f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/1.snapshot.json
new file mode 100644
index 0000000..ca3b1f0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84"},"length":1704,"version":1},"targets.json":{"hashes":{"sha512":"077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094"},"length":505,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"8a8d8f27a7b46a41a50c8fb5f9f9a355f1dd9538e29505f2b13c4ae2598084b4d87d1600485eeca23237e70a6ff5f6df1cee42542c929cd3129a00df0f6fc409"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/1.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/1.targets.json
new file mode 100644
index 0000000..54af415
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"4fbdc8c6e31f63ed182694ae82081e52a68ea563d8e6339e7c247531538af6cfa3e19f7cbcf9d790c6daa57460a60ea74b75eacd1b320d86193be7d36dae3a07"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/17957fb35719cdf1b42f9a82e53981433c76be22ceefe0c1f27c23345d99491daecc0b3979bb963c716aaeb6c52502f5e4d5bd63a3406352a0d39f2b1fe90472.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/17957fb35719cdf1b42f9a82e53981433c76be22ceefe0c1f27c23345d99491daecc0b3979bb963c716aaeb6c52502f5e4d5bd63a3406352a0d39f2b1fe90472.snapshot.json
new file mode 100644
index 0000000..453e1ac
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/17957fb35719cdf1b42f9a82e53981433c76be22ceefe0c1f27c23345d99491daecc0b3979bb963c716aaeb6c52502f5e4d5bd63a3406352a0d39f2b1fe90472.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"c944d09e8c5efda309e1a4498277af737b97dc8823a659ed3a60c4d011dcdc729797fd1a6f6d963b93bc2a30414be3f88481837c2b17d14f072b39f2191866a2"},"length":673,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"f6e31e7bb5789f7c18fcaadbe6cca65c9b874fe67255291bcf56641a11a7b764939602b31aa928b2e02a87fcefbc8ef91d8de19ebd61007818eebafa76c6b701"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/2.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/2.root.json
new file mode 100644
index 0000000..f2c637d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"},"scheme":"ed25519"},"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"55463ef12660d470109117b2873e1c018aaf606b9b7918ec6362929db5312665a8697c83510212bac5ef236284342922a96a4ce88122470851a7b7cb7536a107"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/2.snapshot.json
new file mode 100644
index 0000000..453e1ac
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"c944d09e8c5efda309e1a4498277af737b97dc8823a659ed3a60c4d011dcdc729797fd1a6f6d963b93bc2a30414be3f88481837c2b17d14f072b39f2191866a2"},"length":673,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"f6e31e7bb5789f7c18fcaadbe6cca65c9b874fe67255291bcf56641a11a7b764939602b31aa928b2e02a87fcefbc8ef91d8de19ebd61007818eebafa76c6b701"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/2.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/2.targets.json
new file mode 100644
index 0000000..e82b814
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/2.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"e50e81453ed9416a8877fa83a7e8dcc8d2ce73b38808986d420fc940ba6fa43c60b53d1a00caba2ae5a06ff8421472c9c4a09efee56cbe63a683b01f15f4e10a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/28c33847af0916c8bd7231f6610911bf977b677bbcc2904dd86c6d294fb807b837146a8e9b36ea563f9cf95261e7ba261f6337b2925f595ba8b46baa9ca58699.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/28c33847af0916c8bd7231f6610911bf977b677bbcc2904dd86c6d294fb807b837146a8e9b36ea563f9cf95261e7ba261f6337b2925f595ba8b46baa9ca58699.snapshot.json
new file mode 100644
index 0000000..0a49263
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/28c33847af0916c8bd7231f6610911bf977b677bbcc2904dd86c6d294fb807b837146a8e9b36ea563f9cf95261e7ba261f6337b2925f595ba8b46baa9ca58699.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"544d56373898163c901da99746d89fc84b03ba37691cc37b14c6f3e6372510ea5a63023eb16e42151ee188cd5b1da589ecc323f2dca49b554479595d19595bb7"},"length":841,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"b47e6d8d242a8c8965d3a3e0aaf1787ccd3e4c99b10648c2573241915d35dfa130170ee729503a57c543b5828d029626e4f7caa5414c971b4c35c443e0ed6d05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/3.snapshot.json
new file mode 100644
index 0000000..0a49263
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"544d56373898163c901da99746d89fc84b03ba37691cc37b14c6f3e6372510ea5a63023eb16e42151ee188cd5b1da589ecc323f2dca49b554479595d19595bb7"},"length":841,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"b47e6d8d242a8c8965d3a3e0aaf1787ccd3e4c99b10648c2573241915d35dfa130170ee729503a57c543b5828d029626e4f7caa5414c971b4c35c443e0ed6d05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/3.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/3.targets.json
new file mode 100644
index 0000000..4ec4a91
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/3.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"c899a41e9dd4ec3d5c68d86924b535bcfce246448c4ad0f4622a0c0eb2ebde0704916e949357e4e256c3628ab7d31ae2133ab340ba68f5d91a7a03faed0d3906"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84.root.json
new file mode 100644
index 0000000..faa92c6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"4f6cbf068b19f3f876f0919eafb43f65e4899504fc18b822c6e6078b798c986b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"bca92195f8fb4fe781e59614f819ee983d7398deea249cb93e4517e5a7b285f7"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["4f6cbf068b19f3f876f0919eafb43f65e4899504fc18b822c6e6078b798c986b"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"83803c5ce5acb02df6bd8287b16f356b9139f0c9e2696731875361ab422849d7683a0543ba83e55eea15ed77a84f654196e68337c6d2db31ec95d6a8ac7aa10f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/544d56373898163c901da99746d89fc84b03ba37691cc37b14c6f3e6372510ea5a63023eb16e42151ee188cd5b1da589ecc323f2dca49b554479595d19595bb7.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/544d56373898163c901da99746d89fc84b03ba37691cc37b14c6f3e6372510ea5a63023eb16e42151ee188cd5b1da589ecc323f2dca49b554479595d19595bb7.targets.json
new file mode 100644
index 0000000..4ec4a91
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/544d56373898163c901da99746d89fc84b03ba37691cc37b14c6f3e6372510ea5a63023eb16e42151ee188cd5b1da589ecc323f2dca49b554479595d19595bb7.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"c899a41e9dd4ec3d5c68d86924b535bcfce246448c4ad0f4622a0c0eb2ebde0704916e949357e4e256c3628ab7d31ae2133ab340ba68f5d91a7a03faed0d3906"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c.root.json
new file mode 100644
index 0000000..f2c637d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"},"scheme":"ed25519"},"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"55463ef12660d470109117b2873e1c018aaf606b9b7918ec6362929db5312665a8697c83510212bac5ef236284342922a96a4ce88122470851a7b7cb7536a107"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/c944d09e8c5efda309e1a4498277af737b97dc8823a659ed3a60c4d011dcdc729797fd1a6f6d963b93bc2a30414be3f88481837c2b17d14f072b39f2191866a2.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/c944d09e8c5efda309e1a4498277af737b97dc8823a659ed3a60c4d011dcdc729797fd1a6f6d963b93bc2a30414be3f88481837c2b17d14f072b39f2191866a2.targets.json
new file mode 100644
index 0000000..e82b814
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/c944d09e8c5efda309e1a4498277af737b97dc8823a659ed3a60c4d011dcdc729797fd1a6f6d963b93bc2a30414be3f88481837c2b17d14f072b39f2191866a2.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"e50e81453ed9416a8877fa83a7e8dcc8d2ce73b38808986d420fc940ba6fa43c60b53d1a00caba2ae5a06ff8421472c9c4a09efee56cbe63a683b01f15f4e10a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/e92754ae7309051b870ced601ab9bb9817b457a7c48f010f6060d32aba60afaa88ac4d79a78bf79a2fe4602c74831fe1d402ddf109314793964486d4017fadee.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/e92754ae7309051b870ced601ab9bb9817b457a7c48f010f6060d32aba60afaa88ac4d79a78bf79a2fe4602c74831fe1d402ddf109314793964486d4017fadee.snapshot.json
new file mode 100644
index 0000000..ca3b1f0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/e92754ae7309051b870ced601ab9bb9817b457a7c48f010f6060d32aba60afaa88ac4d79a78bf79a2fe4602c74831fe1d402ddf109314793964486d4017fadee.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84"},"length":1704,"version":1},"targets.json":{"hashes":{"sha512":"077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094"},"length":505,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"8a8d8f27a7b46a41a50c8fb5f9f9a355f1dd9538e29505f2b13c4ae2598084b4d87d1600485eeca23237e70a6ff5f6df1cee42542c929cd3129a00df0f6fc409"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/root.json
new file mode 100644
index 0000000..f2c637d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"},"scheme":"ed25519"},"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"55463ef12660d470109117b2873e1c018aaf606b9b7918ec6362929db5312665a8697c83510212bac5ef236284342922a96a4ce88122470851a7b7cb7536a107"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/snapshot.json
new file mode 100644
index 0000000..0a49263
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"544d56373898163c901da99746d89fc84b03ba37691cc37b14c6f3e6372510ea5a63023eb16e42151ee188cd5b1da589ecc323f2dca49b554479595d19595bb7"},"length":841,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"b47e6d8d242a8c8965d3a3e0aaf1787ccd3e4c99b10648c2573241915d35dfa130170ee729503a57c543b5828d029626e4f7caa5414c971b4c35c443e0ed6d05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/targets.json
new file mode 100644
index 0000000..4ec4a91
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"c899a41e9dd4ec3d5c68d86924b535bcfce246448c4ad0f4622a0c0eb2ebde0704916e949357e4e256c3628ab7d31ae2133ab340ba68f5d91a7a03faed0d3906"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/targets/0.0 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/targets/0.1 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/targets/0.2 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/targets/0.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/targets/0.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/timestamp.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/timestamp.json
new file mode 100644
index 0000000..f9dd8be
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/2/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"28c33847af0916c8bd7231f6610911bf977b677bbcc2904dd86c6d294fb807b837146a8e9b36ea563f9cf95261e7ba261f6337b2925f595ba8b46baa9ca58699"},"length":719,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47","sig":"2c2b2f776c5f186feb4911efd21629eda61d7b2a1c996b96cc1f3ea6681f5f40e2273b64b5bcc419b474b3013deb9ab882b96337711df47d604e39afa1917f0a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/keys/root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/keys/root.json
new file mode 100644
index 0000000..1290433
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/keys/root.json
@@ -0,0 +1,27 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680",
+				"private": "32fc6316916958d56498d557c855bc2d012ea847175ffe03807d06ad401602da0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "6ba18d6ace9ad74126872cde0a033c1c23eafaf0b02c1a0be02046304f66f0de",
+				"private": "56554ce58246be71054dcf6dee10d8bc8d72a771b28a514c5c13fb285f243ee76ba18d6ace9ad74126872cde0a033c1c23eafaf0b02c1a0be02046304f66f0de"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/keys/snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/keys/snapshot.json
new file mode 100644
index 0000000..f0c7638
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/keys/snapshot.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518",
+				"private": "6a96f1a4d2193a181511ac4ba1b3ae8e92de8b9f14d76ed10139d705d2d57e5b9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/keys/targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/keys/targets.json
new file mode 100644
index 0000000..ea04176
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef",
+				"private": "30d93aa3b83a5672dabfe4e8a0175491ae5051d02d6e049952c065169fe04b6c03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/keys/timestamp.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/keys/timestamp.json
new file mode 100644
index 0000000..339e796
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61","private":"58b4c4368feeaa3c217caa454deee36f44edaf44f92fa15c22ed8156edc9bd29814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094.targets.json
new file mode 100644
index 0000000..54af415
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"4fbdc8c6e31f63ed182694ae82081e52a68ea563d8e6339e7c247531538af6cfa3e19f7cbcf9d790c6daa57460a60ea74b75eacd1b320d86193be7d36dae3a07"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/1.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/1.root.json
new file mode 100644
index 0000000..faa92c6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"4f6cbf068b19f3f876f0919eafb43f65e4899504fc18b822c6e6078b798c986b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"bca92195f8fb4fe781e59614f819ee983d7398deea249cb93e4517e5a7b285f7"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["4f6cbf068b19f3f876f0919eafb43f65e4899504fc18b822c6e6078b798c986b"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"83803c5ce5acb02df6bd8287b16f356b9139f0c9e2696731875361ab422849d7683a0543ba83e55eea15ed77a84f654196e68337c6d2db31ec95d6a8ac7aa10f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/1.snapshot.json
new file mode 100644
index 0000000..ca3b1f0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84"},"length":1704,"version":1},"targets.json":{"hashes":{"sha512":"077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094"},"length":505,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"8a8d8f27a7b46a41a50c8fb5f9f9a355f1dd9538e29505f2b13c4ae2598084b4d87d1600485eeca23237e70a6ff5f6df1cee42542c929cd3129a00df0f6fc409"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/1.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/1.targets.json
new file mode 100644
index 0000000..54af415
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"4fbdc8c6e31f63ed182694ae82081e52a68ea563d8e6339e7c247531538af6cfa3e19f7cbcf9d790c6daa57460a60ea74b75eacd1b320d86193be7d36dae3a07"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/17957fb35719cdf1b42f9a82e53981433c76be22ceefe0c1f27c23345d99491daecc0b3979bb963c716aaeb6c52502f5e4d5bd63a3406352a0d39f2b1fe90472.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/17957fb35719cdf1b42f9a82e53981433c76be22ceefe0c1f27c23345d99491daecc0b3979bb963c716aaeb6c52502f5e4d5bd63a3406352a0d39f2b1fe90472.snapshot.json
new file mode 100644
index 0000000..453e1ac
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/17957fb35719cdf1b42f9a82e53981433c76be22ceefe0c1f27c23345d99491daecc0b3979bb963c716aaeb6c52502f5e4d5bd63a3406352a0d39f2b1fe90472.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"c944d09e8c5efda309e1a4498277af737b97dc8823a659ed3a60c4d011dcdc729797fd1a6f6d963b93bc2a30414be3f88481837c2b17d14f072b39f2191866a2"},"length":673,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"f6e31e7bb5789f7c18fcaadbe6cca65c9b874fe67255291bcf56641a11a7b764939602b31aa928b2e02a87fcefbc8ef91d8de19ebd61007818eebafa76c6b701"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/2.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/2.root.json
new file mode 100644
index 0000000..f2c637d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"},"scheme":"ed25519"},"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"55463ef12660d470109117b2873e1c018aaf606b9b7918ec6362929db5312665a8697c83510212bac5ef236284342922a96a4ce88122470851a7b7cb7536a107"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/2.snapshot.json
new file mode 100644
index 0000000..453e1ac
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"c944d09e8c5efda309e1a4498277af737b97dc8823a659ed3a60c4d011dcdc729797fd1a6f6d963b93bc2a30414be3f88481837c2b17d14f072b39f2191866a2"},"length":673,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"f6e31e7bb5789f7c18fcaadbe6cca65c9b874fe67255291bcf56641a11a7b764939602b31aa928b2e02a87fcefbc8ef91d8de19ebd61007818eebafa76c6b701"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/2.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/2.targets.json
new file mode 100644
index 0000000..e82b814
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/2.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"e50e81453ed9416a8877fa83a7e8dcc8d2ce73b38808986d420fc940ba6fa43c60b53d1a00caba2ae5a06ff8421472c9c4a09efee56cbe63a683b01f15f4e10a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/28c33847af0916c8bd7231f6610911bf977b677bbcc2904dd86c6d294fb807b837146a8e9b36ea563f9cf95261e7ba261f6337b2925f595ba8b46baa9ca58699.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/28c33847af0916c8bd7231f6610911bf977b677bbcc2904dd86c6d294fb807b837146a8e9b36ea563f9cf95261e7ba261f6337b2925f595ba8b46baa9ca58699.snapshot.json
new file mode 100644
index 0000000..0a49263
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/28c33847af0916c8bd7231f6610911bf977b677bbcc2904dd86c6d294fb807b837146a8e9b36ea563f9cf95261e7ba261f6337b2925f595ba8b46baa9ca58699.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"544d56373898163c901da99746d89fc84b03ba37691cc37b14c6f3e6372510ea5a63023eb16e42151ee188cd5b1da589ecc323f2dca49b554479595d19595bb7"},"length":841,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"b47e6d8d242a8c8965d3a3e0aaf1787ccd3e4c99b10648c2573241915d35dfa130170ee729503a57c543b5828d029626e4f7caa5414c971b4c35c443e0ed6d05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/3.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/3.root.json
new file mode 100644
index 0000000..1029d48
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/3.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6ba18d6ace9ad74126872cde0a033c1c23eafaf0b02c1a0be02046304f66f0de"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"bad607ef21e7cb5bf6edc24e2e0dbf584037a8aeb823ad10fdab88e972c151ed1733cb3f1675544750ff9dc84c0a254ed1f55c53016620939555ee1aa6f46707"},{"keyid":"99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a","sig":"56fdb408f68f6167e42d5f172c78d7354ff6b92329846242c528d3c17c55f43cf482fa61696efd0ced19fe047bbf82f9cabfc9c4ed5f759c9844ac018aa69b09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/3.snapshot.json
new file mode 100644
index 0000000..0a49263
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"544d56373898163c901da99746d89fc84b03ba37691cc37b14c6f3e6372510ea5a63023eb16e42151ee188cd5b1da589ecc323f2dca49b554479595d19595bb7"},"length":841,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"b47e6d8d242a8c8965d3a3e0aaf1787ccd3e4c99b10648c2573241915d35dfa130170ee729503a57c543b5828d029626e4f7caa5414c971b4c35c443e0ed6d05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/3.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/3.targets.json
new file mode 100644
index 0000000..4ec4a91
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/3.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"c899a41e9dd4ec3d5c68d86924b535bcfce246448c4ad0f4622a0c0eb2ebde0704916e949357e4e256c3628ab7d31ae2133ab340ba68f5d91a7a03faed0d3906"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84.root.json
new file mode 100644
index 0000000..faa92c6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"4f6cbf068b19f3f876f0919eafb43f65e4899504fc18b822c6e6078b798c986b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"bca92195f8fb4fe781e59614f819ee983d7398deea249cb93e4517e5a7b285f7"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["4f6cbf068b19f3f876f0919eafb43f65e4899504fc18b822c6e6078b798c986b"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"83803c5ce5acb02df6bd8287b16f356b9139f0c9e2696731875361ab422849d7683a0543ba83e55eea15ed77a84f654196e68337c6d2db31ec95d6a8ac7aa10f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/4.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/4.snapshot.json
new file mode 100644
index 0000000..6316dfe
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/4.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"58236babe5fae9454fb0f8d3150b10cbbe65fff7efc32850fafd2a203b52a00a21819b2bacec8b2aadac0a8a662da4259727544a0b01bbc76f534c4ce3048230"},"length":1918,"version":3},"targets.json":{"hashes":{"sha512":"71408991e0b5359d1a6f2ce0716b515f209821660a965f76d0c0df1cf6667aa7749518c45d4346de444f6a0a5b7864c1c11fae44010c7497d213392964847406"},"length":1009,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"fd9e7c74b682fd0010beb790632a56224dc6ae5030652f57a2bfe4b0ca0e4e7cc6ef30655bfdc76ce24bac6822a16a98db6689c6131dbb65f20d3ebea5aeb304"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/4.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/4.targets.json
new file mode 100644
index 0000000..0a2635d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/4.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"d6e0604d6aa9680fc11fd7bf9004e1d2203fa89af8dce1d0cd91fdfa0a56f24c4e990ce5f17b4f838edc50c1be3009115556417c5ce338be12be28ba67d48005"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/544d56373898163c901da99746d89fc84b03ba37691cc37b14c6f3e6372510ea5a63023eb16e42151ee188cd5b1da589ecc323f2dca49b554479595d19595bb7.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/544d56373898163c901da99746d89fc84b03ba37691cc37b14c6f3e6372510ea5a63023eb16e42151ee188cd5b1da589ecc323f2dca49b554479595d19595bb7.targets.json
new file mode 100644
index 0000000..4ec4a91
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/544d56373898163c901da99746d89fc84b03ba37691cc37b14c6f3e6372510ea5a63023eb16e42151ee188cd5b1da589ecc323f2dca49b554479595d19595bb7.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"c899a41e9dd4ec3d5c68d86924b535bcfce246448c4ad0f4622a0c0eb2ebde0704916e949357e4e256c3628ab7d31ae2133ab340ba68f5d91a7a03faed0d3906"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/58236babe5fae9454fb0f8d3150b10cbbe65fff7efc32850fafd2a203b52a00a21819b2bacec8b2aadac0a8a662da4259727544a0b01bbc76f534c4ce3048230.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/58236babe5fae9454fb0f8d3150b10cbbe65fff7efc32850fafd2a203b52a00a21819b2bacec8b2aadac0a8a662da4259727544a0b01bbc76f534c4ce3048230.root.json
new file mode 100644
index 0000000..1029d48
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/58236babe5fae9454fb0f8d3150b10cbbe65fff7efc32850fafd2a203b52a00a21819b2bacec8b2aadac0a8a662da4259727544a0b01bbc76f534c4ce3048230.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6ba18d6ace9ad74126872cde0a033c1c23eafaf0b02c1a0be02046304f66f0de"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"bad607ef21e7cb5bf6edc24e2e0dbf584037a8aeb823ad10fdab88e972c151ed1733cb3f1675544750ff9dc84c0a254ed1f55c53016620939555ee1aa6f46707"},{"keyid":"99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a","sig":"56fdb408f68f6167e42d5f172c78d7354ff6b92329846242c528d3c17c55f43cf482fa61696efd0ced19fe047bbf82f9cabfc9c4ed5f759c9844ac018aa69b09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/71408991e0b5359d1a6f2ce0716b515f209821660a965f76d0c0df1cf6667aa7749518c45d4346de444f6a0a5b7864c1c11fae44010c7497d213392964847406.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/71408991e0b5359d1a6f2ce0716b515f209821660a965f76d0c0df1cf6667aa7749518c45d4346de444f6a0a5b7864c1c11fae44010c7497d213392964847406.targets.json
new file mode 100644
index 0000000..0a2635d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/71408991e0b5359d1a6f2ce0716b515f209821660a965f76d0c0df1cf6667aa7749518c45d4346de444f6a0a5b7864c1c11fae44010c7497d213392964847406.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"d6e0604d6aa9680fc11fd7bf9004e1d2203fa89af8dce1d0cd91fdfa0a56f24c4e990ce5f17b4f838edc50c1be3009115556417c5ce338be12be28ba67d48005"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c.root.json
new file mode 100644
index 0000000..f2c637d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"},"scheme":"ed25519"},"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"55463ef12660d470109117b2873e1c018aaf606b9b7918ec6362929db5312665a8697c83510212bac5ef236284342922a96a4ce88122470851a7b7cb7536a107"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/c944d09e8c5efda309e1a4498277af737b97dc8823a659ed3a60c4d011dcdc729797fd1a6f6d963b93bc2a30414be3f88481837c2b17d14f072b39f2191866a2.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/c944d09e8c5efda309e1a4498277af737b97dc8823a659ed3a60c4d011dcdc729797fd1a6f6d963b93bc2a30414be3f88481837c2b17d14f072b39f2191866a2.targets.json
new file mode 100644
index 0000000..e82b814
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/c944d09e8c5efda309e1a4498277af737b97dc8823a659ed3a60c4d011dcdc729797fd1a6f6d963b93bc2a30414be3f88481837c2b17d14f072b39f2191866a2.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"e50e81453ed9416a8877fa83a7e8dcc8d2ce73b38808986d420fc940ba6fa43c60b53d1a00caba2ae5a06ff8421472c9c4a09efee56cbe63a683b01f15f4e10a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/cf876f96b3cf5a52a13628e981cb1118949b855c4d2e5a48149c1d588e134b389271065be52a1f861fd5e84ae025cb239b5110f5f25a3a983824d1e0a7633183.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/cf876f96b3cf5a52a13628e981cb1118949b855c4d2e5a48149c1d588e134b389271065be52a1f861fd5e84ae025cb239b5110f5f25a3a983824d1e0a7633183.snapshot.json
new file mode 100644
index 0000000..6316dfe
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/cf876f96b3cf5a52a13628e981cb1118949b855c4d2e5a48149c1d588e134b389271065be52a1f861fd5e84ae025cb239b5110f5f25a3a983824d1e0a7633183.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"58236babe5fae9454fb0f8d3150b10cbbe65fff7efc32850fafd2a203b52a00a21819b2bacec8b2aadac0a8a662da4259727544a0b01bbc76f534c4ce3048230"},"length":1918,"version":3},"targets.json":{"hashes":{"sha512":"71408991e0b5359d1a6f2ce0716b515f209821660a965f76d0c0df1cf6667aa7749518c45d4346de444f6a0a5b7864c1c11fae44010c7497d213392964847406"},"length":1009,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"fd9e7c74b682fd0010beb790632a56224dc6ae5030652f57a2bfe4b0ca0e4e7cc6ef30655bfdc76ce24bac6822a16a98db6689c6131dbb65f20d3ebea5aeb304"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/e92754ae7309051b870ced601ab9bb9817b457a7c48f010f6060d32aba60afaa88ac4d79a78bf79a2fe4602c74831fe1d402ddf109314793964486d4017fadee.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/e92754ae7309051b870ced601ab9bb9817b457a7c48f010f6060d32aba60afaa88ac4d79a78bf79a2fe4602c74831fe1d402ddf109314793964486d4017fadee.snapshot.json
new file mode 100644
index 0000000..ca3b1f0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/e92754ae7309051b870ced601ab9bb9817b457a7c48f010f6060d32aba60afaa88ac4d79a78bf79a2fe4602c74831fe1d402ddf109314793964486d4017fadee.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84"},"length":1704,"version":1},"targets.json":{"hashes":{"sha512":"077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094"},"length":505,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"8a8d8f27a7b46a41a50c8fb5f9f9a355f1dd9538e29505f2b13c4ae2598084b4d87d1600485eeca23237e70a6ff5f6df1cee42542c929cd3129a00df0f6fc409"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/root.json
new file mode 100644
index 0000000..1029d48
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6ba18d6ace9ad74126872cde0a033c1c23eafaf0b02c1a0be02046304f66f0de"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"bad607ef21e7cb5bf6edc24e2e0dbf584037a8aeb823ad10fdab88e972c151ed1733cb3f1675544750ff9dc84c0a254ed1f55c53016620939555ee1aa6f46707"},{"keyid":"99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a","sig":"56fdb408f68f6167e42d5f172c78d7354ff6b92329846242c528d3c17c55f43cf482fa61696efd0ced19fe047bbf82f9cabfc9c4ed5f759c9844ac018aa69b09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/snapshot.json
new file mode 100644
index 0000000..6316dfe
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"58236babe5fae9454fb0f8d3150b10cbbe65fff7efc32850fafd2a203b52a00a21819b2bacec8b2aadac0a8a662da4259727544a0b01bbc76f534c4ce3048230"},"length":1918,"version":3},"targets.json":{"hashes":{"sha512":"71408991e0b5359d1a6f2ce0716b515f209821660a965f76d0c0df1cf6667aa7749518c45d4346de444f6a0a5b7864c1c11fae44010c7497d213392964847406"},"length":1009,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"fd9e7c74b682fd0010beb790632a56224dc6ae5030652f57a2bfe4b0ca0e4e7cc6ef30655bfdc76ce24bac6822a16a98db6689c6131dbb65f20d3ebea5aeb304"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/targets.json
new file mode 100644
index 0000000..0a2635d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"d6e0604d6aa9680fc11fd7bf9004e1d2203fa89af8dce1d0cd91fdfa0a56f24c4e990ce5f17b4f838edc50c1be3009115556417c5ce338be12be28ba67d48005"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/targets/0.0 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/targets/0.1 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/targets/0.2 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/targets/0.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/targets/0.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/targets/0.3 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/targets/0.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/targets/0.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/timestamp.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/timestamp.json
new file mode 100644
index 0000000..00a80f4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/3/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"cf876f96b3cf5a52a13628e981cb1118949b855c4d2e5a48149c1d588e134b389271065be52a1f861fd5e84ae025cb239b5110f5f25a3a983824d1e0a7633183"},"length":720,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47","sig":"ee8ba3f97f104f1fc8bd9220a899a8b9f041802f9e1094860c36e7be04a0be2fe9e1f6e55e7be2d1b5a5f23448a51617b4b90c8f43d4305bb93b9190fd74510c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/keys/root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/keys/root.json
new file mode 100644
index 0000000..65d46fc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/keys/root.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"6ba18d6ace9ad74126872cde0a033c1c23eafaf0b02c1a0be02046304f66f0de","private":"56554ce58246be71054dcf6dee10d8bc8d72a771b28a514c5c13fb285f243ee76ba18d6ace9ad74126872cde0a033c1c23eafaf0b02c1a0be02046304f66f0de"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/keys/snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/keys/snapshot.json
new file mode 100644
index 0000000..26c0b06
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/keys/snapshot.json
@@ -0,0 +1,27 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518",
+				"private": "6a96f1a4d2193a181511ac4ba1b3ae8e92de8b9f14d76ed10139d705d2d57e5b9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "e4540436c0448f7f7200ef504b2f3f79abd21b670e2e91008ed85d07bb29a4f1",
+				"private": "29d98a556c5fc04036bb7abbc18d4fe7652f9023ebf2068ca199809120a5b0b1e4540436c0448f7f7200ef504b2f3f79abd21b670e2e91008ed85d07bb29a4f1"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/keys/targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/keys/targets.json
new file mode 100644
index 0000000..ea04176
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef",
+				"private": "30d93aa3b83a5672dabfe4e8a0175491ae5051d02d6e049952c065169fe04b6c03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/keys/timestamp.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/keys/timestamp.json
new file mode 100644
index 0000000..339e796
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61","private":"58b4c4368feeaa3c217caa454deee36f44edaf44f92fa15c22ed8156edc9bd29814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094.targets.json
new file mode 100644
index 0000000..54af415
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"4fbdc8c6e31f63ed182694ae82081e52a68ea563d8e6339e7c247531538af6cfa3e19f7cbcf9d790c6daa57460a60ea74b75eacd1b320d86193be7d36dae3a07"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/1.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/1.root.json
new file mode 100644
index 0000000..faa92c6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"4f6cbf068b19f3f876f0919eafb43f65e4899504fc18b822c6e6078b798c986b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"bca92195f8fb4fe781e59614f819ee983d7398deea249cb93e4517e5a7b285f7"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["4f6cbf068b19f3f876f0919eafb43f65e4899504fc18b822c6e6078b798c986b"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"83803c5ce5acb02df6bd8287b16f356b9139f0c9e2696731875361ab422849d7683a0543ba83e55eea15ed77a84f654196e68337c6d2db31ec95d6a8ac7aa10f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/1.snapshot.json
new file mode 100644
index 0000000..ca3b1f0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84"},"length":1704,"version":1},"targets.json":{"hashes":{"sha512":"077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094"},"length":505,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"8a8d8f27a7b46a41a50c8fb5f9f9a355f1dd9538e29505f2b13c4ae2598084b4d87d1600485eeca23237e70a6ff5f6df1cee42542c929cd3129a00df0f6fc409"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/1.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/1.targets.json
new file mode 100644
index 0000000..54af415
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"4fbdc8c6e31f63ed182694ae82081e52a68ea563d8e6339e7c247531538af6cfa3e19f7cbcf9d790c6daa57460a60ea74b75eacd1b320d86193be7d36dae3a07"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/17957fb35719cdf1b42f9a82e53981433c76be22ceefe0c1f27c23345d99491daecc0b3979bb963c716aaeb6c52502f5e4d5bd63a3406352a0d39f2b1fe90472.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/17957fb35719cdf1b42f9a82e53981433c76be22ceefe0c1f27c23345d99491daecc0b3979bb963c716aaeb6c52502f5e4d5bd63a3406352a0d39f2b1fe90472.snapshot.json
new file mode 100644
index 0000000..453e1ac
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/17957fb35719cdf1b42f9a82e53981433c76be22ceefe0c1f27c23345d99491daecc0b3979bb963c716aaeb6c52502f5e4d5bd63a3406352a0d39f2b1fe90472.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"c944d09e8c5efda309e1a4498277af737b97dc8823a659ed3a60c4d011dcdc729797fd1a6f6d963b93bc2a30414be3f88481837c2b17d14f072b39f2191866a2"},"length":673,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"f6e31e7bb5789f7c18fcaadbe6cca65c9b874fe67255291bcf56641a11a7b764939602b31aa928b2e02a87fcefbc8ef91d8de19ebd61007818eebafa76c6b701"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/2.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/2.root.json
new file mode 100644
index 0000000..f2c637d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"},"scheme":"ed25519"},"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"55463ef12660d470109117b2873e1c018aaf606b9b7918ec6362929db5312665a8697c83510212bac5ef236284342922a96a4ce88122470851a7b7cb7536a107"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/2.snapshot.json
new file mode 100644
index 0000000..453e1ac
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"c944d09e8c5efda309e1a4498277af737b97dc8823a659ed3a60c4d011dcdc729797fd1a6f6d963b93bc2a30414be3f88481837c2b17d14f072b39f2191866a2"},"length":673,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"f6e31e7bb5789f7c18fcaadbe6cca65c9b874fe67255291bcf56641a11a7b764939602b31aa928b2e02a87fcefbc8ef91d8de19ebd61007818eebafa76c6b701"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/2.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/2.targets.json
new file mode 100644
index 0000000..e82b814
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/2.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"e50e81453ed9416a8877fa83a7e8dcc8d2ce73b38808986d420fc940ba6fa43c60b53d1a00caba2ae5a06ff8421472c9c4a09efee56cbe63a683b01f15f4e10a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/28c33847af0916c8bd7231f6610911bf977b677bbcc2904dd86c6d294fb807b837146a8e9b36ea563f9cf95261e7ba261f6337b2925f595ba8b46baa9ca58699.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/28c33847af0916c8bd7231f6610911bf977b677bbcc2904dd86c6d294fb807b837146a8e9b36ea563f9cf95261e7ba261f6337b2925f595ba8b46baa9ca58699.snapshot.json
new file mode 100644
index 0000000..0a49263
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/28c33847af0916c8bd7231f6610911bf977b677bbcc2904dd86c6d294fb807b837146a8e9b36ea563f9cf95261e7ba261f6337b2925f595ba8b46baa9ca58699.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"544d56373898163c901da99746d89fc84b03ba37691cc37b14c6f3e6372510ea5a63023eb16e42151ee188cd5b1da589ecc323f2dca49b554479595d19595bb7"},"length":841,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"b47e6d8d242a8c8965d3a3e0aaf1787ccd3e4c99b10648c2573241915d35dfa130170ee729503a57c543b5828d029626e4f7caa5414c971b4c35c443e0ed6d05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/3.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/3.root.json
new file mode 100644
index 0000000..1029d48
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/3.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6ba18d6ace9ad74126872cde0a033c1c23eafaf0b02c1a0be02046304f66f0de"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"bad607ef21e7cb5bf6edc24e2e0dbf584037a8aeb823ad10fdab88e972c151ed1733cb3f1675544750ff9dc84c0a254ed1f55c53016620939555ee1aa6f46707"},{"keyid":"99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a","sig":"56fdb408f68f6167e42d5f172c78d7354ff6b92329846242c528d3c17c55f43cf482fa61696efd0ced19fe047bbf82f9cabfc9c4ed5f759c9844ac018aa69b09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/3.snapshot.json
new file mode 100644
index 0000000..0a49263
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"544d56373898163c901da99746d89fc84b03ba37691cc37b14c6f3e6372510ea5a63023eb16e42151ee188cd5b1da589ecc323f2dca49b554479595d19595bb7"},"length":841,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"b47e6d8d242a8c8965d3a3e0aaf1787ccd3e4c99b10648c2573241915d35dfa130170ee729503a57c543b5828d029626e4f7caa5414c971b4c35c443e0ed6d05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/3.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/3.targets.json
new file mode 100644
index 0000000..4ec4a91
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/3.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"c899a41e9dd4ec3d5c68d86924b535bcfce246448c4ad0f4622a0c0eb2ebde0704916e949357e4e256c3628ab7d31ae2133ab340ba68f5d91a7a03faed0d3906"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84.root.json
new file mode 100644
index 0000000..faa92c6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"4f6cbf068b19f3f876f0919eafb43f65e4899504fc18b822c6e6078b798c986b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"bca92195f8fb4fe781e59614f819ee983d7398deea249cb93e4517e5a7b285f7"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["4f6cbf068b19f3f876f0919eafb43f65e4899504fc18b822c6e6078b798c986b"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"83803c5ce5acb02df6bd8287b16f356b9139f0c9e2696731875361ab422849d7683a0543ba83e55eea15ed77a84f654196e68337c6d2db31ec95d6a8ac7aa10f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/3e53aea729691ddff5e63e5f5677ebbe00d208927fb96f7cfb2e154a8ea1cc31b1ed31a04487091056da428ddb2c34581c0a203b4a5898c40a1e6e20be52f829.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/3e53aea729691ddff5e63e5f5677ebbe00d208927fb96f7cfb2e154a8ea1cc31b1ed31a04487091056da428ddb2c34581c0a203b4a5898c40a1e6e20be52f829.targets.json
new file mode 100644
index 0000000..bee7e44
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/3e53aea729691ddff5e63e5f5677ebbe00d208927fb96f7cfb2e154a8ea1cc31b1ed31a04487091056da428ddb2c34581c0a203b4a5898c40a1e6e20be52f829.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"38264cbbbaa1872344af739aa870c65240e1171b9b31ef39198affe8e94fdd0ef76b28b2a28b3e89ffe590afe56b91216d2469c11da05a540a8ba8674b368402"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/4.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/4.root.json
new file mode 100644
index 0000000..f574e5f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/4.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6ba18d6ace9ad74126872cde0a033c1c23eafaf0b02c1a0be02046304f66f0de"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47"],"threshold":1}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a","sig":"eda75221a94275f8dadcc582abd4e62fb83de04589e94f14bf2b4ec5398756d3d11bc32cf378049efe7cdd4e4c3818e7590775084bd09e4f428e5bda76bcc906"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/4.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/4.snapshot.json
new file mode 100644
index 0000000..6316dfe
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/4.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"58236babe5fae9454fb0f8d3150b10cbbe65fff7efc32850fafd2a203b52a00a21819b2bacec8b2aadac0a8a662da4259727544a0b01bbc76f534c4ce3048230"},"length":1918,"version":3},"targets.json":{"hashes":{"sha512":"71408991e0b5359d1a6f2ce0716b515f209821660a965f76d0c0df1cf6667aa7749518c45d4346de444f6a0a5b7864c1c11fae44010c7497d213392964847406"},"length":1009,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"fd9e7c74b682fd0010beb790632a56224dc6ae5030652f57a2bfe4b0ca0e4e7cc6ef30655bfdc76ce24bac6822a16a98db6689c6131dbb65f20d3ebea5aeb304"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/4.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/4.targets.json
new file mode 100644
index 0000000..0a2635d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/4.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"d6e0604d6aa9680fc11fd7bf9004e1d2203fa89af8dce1d0cd91fdfa0a56f24c4e990ce5f17b4f838edc50c1be3009115556417c5ce338be12be28ba67d48005"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/5.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/5.snapshot.json
new file mode 100644
index 0000000..ed153cc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/5.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"667fad6a776ed8622e2de7cdb559e9287f5bc0c03f4f75f5ae826645175897a1e86ddc0e76e529b2d6ab1798b1dd23b432d46fa39fdc73b7c0e4d3f633f4446a"},"length":1704,"version":4},"targets.json":{"hashes":{"sha512":"3e53aea729691ddff5e63e5f5677ebbe00d208927fb96f7cfb2e154a8ea1cc31b1ed31a04487091056da428ddb2c34581c0a203b4a5898c40a1e6e20be52f829"},"length":1177,"version":5}},"spec_version":"1.0","version":5},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"e33eb006c7486d241776b900a73fd6b41522d8f633854193aaae9bb01d567d1d310a1098edf46d7ad9e9e34b8af768fee4c6c290a39e093df15124f58a54a803"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/5.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/5.targets.json
new file mode 100644
index 0000000..bee7e44
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/5.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"38264cbbbaa1872344af739aa870c65240e1171b9b31ef39198affe8e94fdd0ef76b28b2a28b3e89ffe590afe56b91216d2469c11da05a540a8ba8674b368402"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/544d56373898163c901da99746d89fc84b03ba37691cc37b14c6f3e6372510ea5a63023eb16e42151ee188cd5b1da589ecc323f2dca49b554479595d19595bb7.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/544d56373898163c901da99746d89fc84b03ba37691cc37b14c6f3e6372510ea5a63023eb16e42151ee188cd5b1da589ecc323f2dca49b554479595d19595bb7.targets.json
new file mode 100644
index 0000000..4ec4a91
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/544d56373898163c901da99746d89fc84b03ba37691cc37b14c6f3e6372510ea5a63023eb16e42151ee188cd5b1da589ecc323f2dca49b554479595d19595bb7.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"c899a41e9dd4ec3d5c68d86924b535bcfce246448c4ad0f4622a0c0eb2ebde0704916e949357e4e256c3628ab7d31ae2133ab340ba68f5d91a7a03faed0d3906"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/58236babe5fae9454fb0f8d3150b10cbbe65fff7efc32850fafd2a203b52a00a21819b2bacec8b2aadac0a8a662da4259727544a0b01bbc76f534c4ce3048230.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/58236babe5fae9454fb0f8d3150b10cbbe65fff7efc32850fafd2a203b52a00a21819b2bacec8b2aadac0a8a662da4259727544a0b01bbc76f534c4ce3048230.root.json
new file mode 100644
index 0000000..1029d48
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/58236babe5fae9454fb0f8d3150b10cbbe65fff7efc32850fafd2a203b52a00a21819b2bacec8b2aadac0a8a662da4259727544a0b01bbc76f534c4ce3048230.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6ba18d6ace9ad74126872cde0a033c1c23eafaf0b02c1a0be02046304f66f0de"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"bad607ef21e7cb5bf6edc24e2e0dbf584037a8aeb823ad10fdab88e972c151ed1733cb3f1675544750ff9dc84c0a254ed1f55c53016620939555ee1aa6f46707"},{"keyid":"99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a","sig":"56fdb408f68f6167e42d5f172c78d7354ff6b92329846242c528d3c17c55f43cf482fa61696efd0ced19fe047bbf82f9cabfc9c4ed5f759c9844ac018aa69b09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/667fad6a776ed8622e2de7cdb559e9287f5bc0c03f4f75f5ae826645175897a1e86ddc0e76e529b2d6ab1798b1dd23b432d46fa39fdc73b7c0e4d3f633f4446a.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/667fad6a776ed8622e2de7cdb559e9287f5bc0c03f4f75f5ae826645175897a1e86ddc0e76e529b2d6ab1798b1dd23b432d46fa39fdc73b7c0e4d3f633f4446a.root.json
new file mode 100644
index 0000000..f574e5f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/667fad6a776ed8622e2de7cdb559e9287f5bc0c03f4f75f5ae826645175897a1e86ddc0e76e529b2d6ab1798b1dd23b432d46fa39fdc73b7c0e4d3f633f4446a.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6ba18d6ace9ad74126872cde0a033c1c23eafaf0b02c1a0be02046304f66f0de"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47"],"threshold":1}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a","sig":"eda75221a94275f8dadcc582abd4e62fb83de04589e94f14bf2b4ec5398756d3d11bc32cf378049efe7cdd4e4c3818e7590775084bd09e4f428e5bda76bcc906"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/71408991e0b5359d1a6f2ce0716b515f209821660a965f76d0c0df1cf6667aa7749518c45d4346de444f6a0a5b7864c1c11fae44010c7497d213392964847406.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/71408991e0b5359d1a6f2ce0716b515f209821660a965f76d0c0df1cf6667aa7749518c45d4346de444f6a0a5b7864c1c11fae44010c7497d213392964847406.targets.json
new file mode 100644
index 0000000..0a2635d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/71408991e0b5359d1a6f2ce0716b515f209821660a965f76d0c0df1cf6667aa7749518c45d4346de444f6a0a5b7864c1c11fae44010c7497d213392964847406.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"d6e0604d6aa9680fc11fd7bf9004e1d2203fa89af8dce1d0cd91fdfa0a56f24c4e990ce5f17b4f838edc50c1be3009115556417c5ce338be12be28ba67d48005"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c.root.json
new file mode 100644
index 0000000..f2c637d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"},"scheme":"ed25519"},"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"55463ef12660d470109117b2873e1c018aaf606b9b7918ec6362929db5312665a8697c83510212bac5ef236284342922a96a4ce88122470851a7b7cb7536a107"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/c934a3344ca1f03f63c021b959b2baf31fa45c85ff7cc1ef2b7616036891a8668953d20bb24e99a846f2a261b31f01077751d16e3b11838352f4a1643a28fdc3.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/c934a3344ca1f03f63c021b959b2baf31fa45c85ff7cc1ef2b7616036891a8668953d20bb24e99a846f2a261b31f01077751d16e3b11838352f4a1643a28fdc3.snapshot.json
new file mode 100644
index 0000000..ed153cc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/c934a3344ca1f03f63c021b959b2baf31fa45c85ff7cc1ef2b7616036891a8668953d20bb24e99a846f2a261b31f01077751d16e3b11838352f4a1643a28fdc3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"667fad6a776ed8622e2de7cdb559e9287f5bc0c03f4f75f5ae826645175897a1e86ddc0e76e529b2d6ab1798b1dd23b432d46fa39fdc73b7c0e4d3f633f4446a"},"length":1704,"version":4},"targets.json":{"hashes":{"sha512":"3e53aea729691ddff5e63e5f5677ebbe00d208927fb96f7cfb2e154a8ea1cc31b1ed31a04487091056da428ddb2c34581c0a203b4a5898c40a1e6e20be52f829"},"length":1177,"version":5}},"spec_version":"1.0","version":5},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"e33eb006c7486d241776b900a73fd6b41522d8f633854193aaae9bb01d567d1d310a1098edf46d7ad9e9e34b8af768fee4c6c290a39e093df15124f58a54a803"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/c944d09e8c5efda309e1a4498277af737b97dc8823a659ed3a60c4d011dcdc729797fd1a6f6d963b93bc2a30414be3f88481837c2b17d14f072b39f2191866a2.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/c944d09e8c5efda309e1a4498277af737b97dc8823a659ed3a60c4d011dcdc729797fd1a6f6d963b93bc2a30414be3f88481837c2b17d14f072b39f2191866a2.targets.json
new file mode 100644
index 0000000..e82b814
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/c944d09e8c5efda309e1a4498277af737b97dc8823a659ed3a60c4d011dcdc729797fd1a6f6d963b93bc2a30414be3f88481837c2b17d14f072b39f2191866a2.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"e50e81453ed9416a8877fa83a7e8dcc8d2ce73b38808986d420fc940ba6fa43c60b53d1a00caba2ae5a06ff8421472c9c4a09efee56cbe63a683b01f15f4e10a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/cf876f96b3cf5a52a13628e981cb1118949b855c4d2e5a48149c1d588e134b389271065be52a1f861fd5e84ae025cb239b5110f5f25a3a983824d1e0a7633183.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/cf876f96b3cf5a52a13628e981cb1118949b855c4d2e5a48149c1d588e134b389271065be52a1f861fd5e84ae025cb239b5110f5f25a3a983824d1e0a7633183.snapshot.json
new file mode 100644
index 0000000..6316dfe
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/cf876f96b3cf5a52a13628e981cb1118949b855c4d2e5a48149c1d588e134b389271065be52a1f861fd5e84ae025cb239b5110f5f25a3a983824d1e0a7633183.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"58236babe5fae9454fb0f8d3150b10cbbe65fff7efc32850fafd2a203b52a00a21819b2bacec8b2aadac0a8a662da4259727544a0b01bbc76f534c4ce3048230"},"length":1918,"version":3},"targets.json":{"hashes":{"sha512":"71408991e0b5359d1a6f2ce0716b515f209821660a965f76d0c0df1cf6667aa7749518c45d4346de444f6a0a5b7864c1c11fae44010c7497d213392964847406"},"length":1009,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"fd9e7c74b682fd0010beb790632a56224dc6ae5030652f57a2bfe4b0ca0e4e7cc6ef30655bfdc76ce24bac6822a16a98db6689c6131dbb65f20d3ebea5aeb304"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/e92754ae7309051b870ced601ab9bb9817b457a7c48f010f6060d32aba60afaa88ac4d79a78bf79a2fe4602c74831fe1d402ddf109314793964486d4017fadee.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/e92754ae7309051b870ced601ab9bb9817b457a7c48f010f6060d32aba60afaa88ac4d79a78bf79a2fe4602c74831fe1d402ddf109314793964486d4017fadee.snapshot.json
new file mode 100644
index 0000000..ca3b1f0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/e92754ae7309051b870ced601ab9bb9817b457a7c48f010f6060d32aba60afaa88ac4d79a78bf79a2fe4602c74831fe1d402ddf109314793964486d4017fadee.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84"},"length":1704,"version":1},"targets.json":{"hashes":{"sha512":"077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094"},"length":505,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"8a8d8f27a7b46a41a50c8fb5f9f9a355f1dd9538e29505f2b13c4ae2598084b4d87d1600485eeca23237e70a6ff5f6df1cee42542c929cd3129a00df0f6fc409"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/root.json
new file mode 100644
index 0000000..f574e5f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6ba18d6ace9ad74126872cde0a033c1c23eafaf0b02c1a0be02046304f66f0de"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47"],"threshold":1}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a","sig":"eda75221a94275f8dadcc582abd4e62fb83de04589e94f14bf2b4ec5398756d3d11bc32cf378049efe7cdd4e4c3818e7590775084bd09e4f428e5bda76bcc906"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/snapshot.json
new file mode 100644
index 0000000..ed153cc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"667fad6a776ed8622e2de7cdb559e9287f5bc0c03f4f75f5ae826645175897a1e86ddc0e76e529b2d6ab1798b1dd23b432d46fa39fdc73b7c0e4d3f633f4446a"},"length":1704,"version":4},"targets.json":{"hashes":{"sha512":"3e53aea729691ddff5e63e5f5677ebbe00d208927fb96f7cfb2e154a8ea1cc31b1ed31a04487091056da428ddb2c34581c0a203b4a5898c40a1e6e20be52f829"},"length":1177,"version":5}},"spec_version":"1.0","version":5},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"e33eb006c7486d241776b900a73fd6b41522d8f633854193aaae9bb01d567d1d310a1098edf46d7ad9e9e34b8af768fee4c6c290a39e093df15124f58a54a803"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets.json
new file mode 100644
index 0000000..bee7e44
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"38264cbbbaa1872344af739aa870c65240e1171b9b31ef39198affe8e94fdd0ef76b28b2a28b3e89ffe590afe56b91216d2469c11da05a540a8ba8674b368402"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/0.0 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/0.1 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/0.2 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/0.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/0.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/0.3 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/0.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/0.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/0.4 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/0.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/0.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/timestamp.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/timestamp.json
new file mode 100644
index 0000000..f93eacc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/4/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"c934a3344ca1f03f63c021b959b2baf31fa45c85ff7cc1ef2b7616036891a8668953d20bb24e99a846f2a261b31f01077751d16e3b11838352f4a1643a28fdc3"},"length":720,"version":5}},"spec_version":"1.0","version":5},"signatures":[{"keyid":"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47","sig":"ee1c781689cb1c8610c9e842f3efc236f02b558dd82dc6f5d0fd21246aaa12d25eadaa5724163f63f6bf8b9ccfa0ca980f941b426843c8bc56d2687431db810c"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/keys/root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/keys/root.json
new file mode 100644
index 0000000..65d46fc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/keys/root.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"6ba18d6ace9ad74126872cde0a033c1c23eafaf0b02c1a0be02046304f66f0de","private":"56554ce58246be71054dcf6dee10d8bc8d72a771b28a514c5c13fb285f243ee76ba18d6ace9ad74126872cde0a033c1c23eafaf0b02c1a0be02046304f66f0de"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/keys/snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/keys/snapshot.json
new file mode 100644
index 0000000..26c0b06
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/keys/snapshot.json
@@ -0,0 +1,27 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518",
+				"private": "6a96f1a4d2193a181511ac4ba1b3ae8e92de8b9f14d76ed10139d705d2d57e5b9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "e4540436c0448f7f7200ef504b2f3f79abd21b670e2e91008ed85d07bb29a4f1",
+				"private": "29d98a556c5fc04036bb7abbc18d4fe7652f9023ebf2068ca199809120a5b0b1e4540436c0448f7f7200ef504b2f3f79abd21b670e2e91008ed85d07bb29a4f1"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/keys/targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/keys/targets.json
new file mode 100644
index 0000000..ea04176
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef",
+				"private": "30d93aa3b83a5672dabfe4e8a0175491ae5051d02d6e049952c065169fe04b6c03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/keys/timestamp.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/keys/timestamp.json
new file mode 100644
index 0000000..339e796
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61","private":"58b4c4368feeaa3c217caa454deee36f44edaf44f92fa15c22ed8156edc9bd29814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094.targets.json
new file mode 100644
index 0000000..54af415
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"4fbdc8c6e31f63ed182694ae82081e52a68ea563d8e6339e7c247531538af6cfa3e19f7cbcf9d790c6daa57460a60ea74b75eacd1b320d86193be7d36dae3a07"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/1.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/1.root.json
new file mode 100644
index 0000000..faa92c6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"4f6cbf068b19f3f876f0919eafb43f65e4899504fc18b822c6e6078b798c986b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"bca92195f8fb4fe781e59614f819ee983d7398deea249cb93e4517e5a7b285f7"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["4f6cbf068b19f3f876f0919eafb43f65e4899504fc18b822c6e6078b798c986b"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"83803c5ce5acb02df6bd8287b16f356b9139f0c9e2696731875361ab422849d7683a0543ba83e55eea15ed77a84f654196e68337c6d2db31ec95d6a8ac7aa10f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/1.snapshot.json
new file mode 100644
index 0000000..ca3b1f0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84"},"length":1704,"version":1},"targets.json":{"hashes":{"sha512":"077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094"},"length":505,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"8a8d8f27a7b46a41a50c8fb5f9f9a355f1dd9538e29505f2b13c4ae2598084b4d87d1600485eeca23237e70a6ff5f6df1cee42542c929cd3129a00df0f6fc409"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/1.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/1.targets.json
new file mode 100644
index 0000000..54af415
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"4fbdc8c6e31f63ed182694ae82081e52a68ea563d8e6339e7c247531538af6cfa3e19f7cbcf9d790c6daa57460a60ea74b75eacd1b320d86193be7d36dae3a07"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/17957fb35719cdf1b42f9a82e53981433c76be22ceefe0c1f27c23345d99491daecc0b3979bb963c716aaeb6c52502f5e4d5bd63a3406352a0d39f2b1fe90472.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/17957fb35719cdf1b42f9a82e53981433c76be22ceefe0c1f27c23345d99491daecc0b3979bb963c716aaeb6c52502f5e4d5bd63a3406352a0d39f2b1fe90472.snapshot.json
new file mode 100644
index 0000000..453e1ac
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/17957fb35719cdf1b42f9a82e53981433c76be22ceefe0c1f27c23345d99491daecc0b3979bb963c716aaeb6c52502f5e4d5bd63a3406352a0d39f2b1fe90472.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"c944d09e8c5efda309e1a4498277af737b97dc8823a659ed3a60c4d011dcdc729797fd1a6f6d963b93bc2a30414be3f88481837c2b17d14f072b39f2191866a2"},"length":673,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"f6e31e7bb5789f7c18fcaadbe6cca65c9b874fe67255291bcf56641a11a7b764939602b31aa928b2e02a87fcefbc8ef91d8de19ebd61007818eebafa76c6b701"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/2.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/2.root.json
new file mode 100644
index 0000000..f2c637d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"},"scheme":"ed25519"},"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"55463ef12660d470109117b2873e1c018aaf606b9b7918ec6362929db5312665a8697c83510212bac5ef236284342922a96a4ce88122470851a7b7cb7536a107"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/2.snapshot.json
new file mode 100644
index 0000000..453e1ac
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"c944d09e8c5efda309e1a4498277af737b97dc8823a659ed3a60c4d011dcdc729797fd1a6f6d963b93bc2a30414be3f88481837c2b17d14f072b39f2191866a2"},"length":673,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"f6e31e7bb5789f7c18fcaadbe6cca65c9b874fe67255291bcf56641a11a7b764939602b31aa928b2e02a87fcefbc8ef91d8de19ebd61007818eebafa76c6b701"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/2.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/2.targets.json
new file mode 100644
index 0000000..e82b814
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/2.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"e50e81453ed9416a8877fa83a7e8dcc8d2ce73b38808986d420fc940ba6fa43c60b53d1a00caba2ae5a06ff8421472c9c4a09efee56cbe63a683b01f15f4e10a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/28c33847af0916c8bd7231f6610911bf977b677bbcc2904dd86c6d294fb807b837146a8e9b36ea563f9cf95261e7ba261f6337b2925f595ba8b46baa9ca58699.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/28c33847af0916c8bd7231f6610911bf977b677bbcc2904dd86c6d294fb807b837146a8e9b36ea563f9cf95261e7ba261f6337b2925f595ba8b46baa9ca58699.snapshot.json
new file mode 100644
index 0000000..0a49263
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/28c33847af0916c8bd7231f6610911bf977b677bbcc2904dd86c6d294fb807b837146a8e9b36ea563f9cf95261e7ba261f6337b2925f595ba8b46baa9ca58699.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"544d56373898163c901da99746d89fc84b03ba37691cc37b14c6f3e6372510ea5a63023eb16e42151ee188cd5b1da589ecc323f2dca49b554479595d19595bb7"},"length":841,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"b47e6d8d242a8c8965d3a3e0aaf1787ccd3e4c99b10648c2573241915d35dfa130170ee729503a57c543b5828d029626e4f7caa5414c971b4c35c443e0ed6d05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/3.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/3.root.json
new file mode 100644
index 0000000..1029d48
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/3.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6ba18d6ace9ad74126872cde0a033c1c23eafaf0b02c1a0be02046304f66f0de"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"bad607ef21e7cb5bf6edc24e2e0dbf584037a8aeb823ad10fdab88e972c151ed1733cb3f1675544750ff9dc84c0a254ed1f55c53016620939555ee1aa6f46707"},{"keyid":"99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a","sig":"56fdb408f68f6167e42d5f172c78d7354ff6b92329846242c528d3c17c55f43cf482fa61696efd0ced19fe047bbf82f9cabfc9c4ed5f759c9844ac018aa69b09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/3.snapshot.json
new file mode 100644
index 0000000..0a49263
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"544d56373898163c901da99746d89fc84b03ba37691cc37b14c6f3e6372510ea5a63023eb16e42151ee188cd5b1da589ecc323f2dca49b554479595d19595bb7"},"length":841,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"b47e6d8d242a8c8965d3a3e0aaf1787ccd3e4c99b10648c2573241915d35dfa130170ee729503a57c543b5828d029626e4f7caa5414c971b4c35c443e0ed6d05"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/3.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/3.targets.json
new file mode 100644
index 0000000..4ec4a91
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/3.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"c899a41e9dd4ec3d5c68d86924b535bcfce246448c4ad0f4622a0c0eb2ebde0704916e949357e4e256c3628ab7d31ae2133ab340ba68f5d91a7a03faed0d3906"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84.root.json
new file mode 100644
index 0000000..faa92c6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"4f6cbf068b19f3f876f0919eafb43f65e4899504fc18b822c6e6078b798c986b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"bca92195f8fb4fe781e59614f819ee983d7398deea249cb93e4517e5a7b285f7"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["4f6cbf068b19f3f876f0919eafb43f65e4899504fc18b822c6e6078b798c986b"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"83803c5ce5acb02df6bd8287b16f356b9139f0c9e2696731875361ab422849d7683a0543ba83e55eea15ed77a84f654196e68337c6d2db31ec95d6a8ac7aa10f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/3e53aea729691ddff5e63e5f5677ebbe00d208927fb96f7cfb2e154a8ea1cc31b1ed31a04487091056da428ddb2c34581c0a203b4a5898c40a1e6e20be52f829.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/3e53aea729691ddff5e63e5f5677ebbe00d208927fb96f7cfb2e154a8ea1cc31b1ed31a04487091056da428ddb2c34581c0a203b4a5898c40a1e6e20be52f829.targets.json
new file mode 100644
index 0000000..bee7e44
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/3e53aea729691ddff5e63e5f5677ebbe00d208927fb96f7cfb2e154a8ea1cc31b1ed31a04487091056da428ddb2c34581c0a203b4a5898c40a1e6e20be52f829.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"38264cbbbaa1872344af739aa870c65240e1171b9b31ef39198affe8e94fdd0ef76b28b2a28b3e89ffe590afe56b91216d2469c11da05a540a8ba8674b368402"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/4.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/4.root.json
new file mode 100644
index 0000000..f574e5f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/4.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6ba18d6ace9ad74126872cde0a033c1c23eafaf0b02c1a0be02046304f66f0de"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47"],"threshold":1}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a","sig":"eda75221a94275f8dadcc582abd4e62fb83de04589e94f14bf2b4ec5398756d3d11bc32cf378049efe7cdd4e4c3818e7590775084bd09e4f428e5bda76bcc906"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/4.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/4.snapshot.json
new file mode 100644
index 0000000..6316dfe
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/4.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"58236babe5fae9454fb0f8d3150b10cbbe65fff7efc32850fafd2a203b52a00a21819b2bacec8b2aadac0a8a662da4259727544a0b01bbc76f534c4ce3048230"},"length":1918,"version":3},"targets.json":{"hashes":{"sha512":"71408991e0b5359d1a6f2ce0716b515f209821660a965f76d0c0df1cf6667aa7749518c45d4346de444f6a0a5b7864c1c11fae44010c7497d213392964847406"},"length":1009,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"fd9e7c74b682fd0010beb790632a56224dc6ae5030652f57a2bfe4b0ca0e4e7cc6ef30655bfdc76ce24bac6822a16a98db6689c6131dbb65f20d3ebea5aeb304"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/4.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/4.targets.json
new file mode 100644
index 0000000..0a2635d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/4.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"d6e0604d6aa9680fc11fd7bf9004e1d2203fa89af8dce1d0cd91fdfa0a56f24c4e990ce5f17b4f838edc50c1be3009115556417c5ce338be12be28ba67d48005"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/5.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/5.snapshot.json
new file mode 100644
index 0000000..ed153cc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/5.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"667fad6a776ed8622e2de7cdb559e9287f5bc0c03f4f75f5ae826645175897a1e86ddc0e76e529b2d6ab1798b1dd23b432d46fa39fdc73b7c0e4d3f633f4446a"},"length":1704,"version":4},"targets.json":{"hashes":{"sha512":"3e53aea729691ddff5e63e5f5677ebbe00d208927fb96f7cfb2e154a8ea1cc31b1ed31a04487091056da428ddb2c34581c0a203b4a5898c40a1e6e20be52f829"},"length":1177,"version":5}},"spec_version":"1.0","version":5},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"e33eb006c7486d241776b900a73fd6b41522d8f633854193aaae9bb01d567d1d310a1098edf46d7ad9e9e34b8af768fee4c6c290a39e093df15124f58a54a803"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/5.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/5.targets.json
new file mode 100644
index 0000000..bee7e44
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/5.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"38264cbbbaa1872344af739aa870c65240e1171b9b31ef39198affe8e94fdd0ef76b28b2a28b3e89ffe590afe56b91216d2469c11da05a540a8ba8674b368402"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/544d56373898163c901da99746d89fc84b03ba37691cc37b14c6f3e6372510ea5a63023eb16e42151ee188cd5b1da589ecc323f2dca49b554479595d19595bb7.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/544d56373898163c901da99746d89fc84b03ba37691cc37b14c6f3e6372510ea5a63023eb16e42151ee188cd5b1da589ecc323f2dca49b554479595d19595bb7.targets.json
new file mode 100644
index 0000000..4ec4a91
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/544d56373898163c901da99746d89fc84b03ba37691cc37b14c6f3e6372510ea5a63023eb16e42151ee188cd5b1da589ecc323f2dca49b554479595d19595bb7.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"c899a41e9dd4ec3d5c68d86924b535bcfce246448c4ad0f4622a0c0eb2ebde0704916e949357e4e256c3628ab7d31ae2133ab340ba68f5d91a7a03faed0d3906"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/58236babe5fae9454fb0f8d3150b10cbbe65fff7efc32850fafd2a203b52a00a21819b2bacec8b2aadac0a8a662da4259727544a0b01bbc76f534c4ce3048230.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/58236babe5fae9454fb0f8d3150b10cbbe65fff7efc32850fafd2a203b52a00a21819b2bacec8b2aadac0a8a662da4259727544a0b01bbc76f534c4ce3048230.root.json
new file mode 100644
index 0000000..1029d48
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/58236babe5fae9454fb0f8d3150b10cbbe65fff7efc32850fafd2a203b52a00a21819b2bacec8b2aadac0a8a662da4259727544a0b01bbc76f534c4ce3048230.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6ba18d6ace9ad74126872cde0a033c1c23eafaf0b02c1a0be02046304f66f0de"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"bad607ef21e7cb5bf6edc24e2e0dbf584037a8aeb823ad10fdab88e972c151ed1733cb3f1675544750ff9dc84c0a254ed1f55c53016620939555ee1aa6f46707"},{"keyid":"99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a","sig":"56fdb408f68f6167e42d5f172c78d7354ff6b92329846242c528d3c17c55f43cf482fa61696efd0ced19fe047bbf82f9cabfc9c4ed5f759c9844ac018aa69b09"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/6.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/6.snapshot.json
new file mode 100644
index 0000000..daf3a99
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/6.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"667fad6a776ed8622e2de7cdb559e9287f5bc0c03f4f75f5ae826645175897a1e86ddc0e76e529b2d6ab1798b1dd23b432d46fa39fdc73b7c0e4d3f633f4446a"},"length":1704,"version":4},"targets.json":{"hashes":{"sha512":"79ce596f54d798c736402c071d54c7fa77206094d2792db876538ecf18b9fbfc1a245cf3b4650164c841d2cbb2ef3d640dabe06840c7f64654c4107d229eb811"},"length":1345,"version":6}},"spec_version":"1.0","version":6},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"821e5fca553231430687b187dd1bcd91c8eb8925675cb4a7cd8bb888a442df7d30f21cb83ce1c2326d59bf005025e80295f27594e7d7f83abd94797c5a204605"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/6.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/6.targets.json
new file mode 100644
index 0000000..cc1a35c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/6.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"eedb5f872ec24b26c039b438d5f354f8e465028919e034d306dc874abcc5a885a553e8245994ec7e8c5c9848ae10c0786e94dc918865cc9ebd3caf3a2c9bf309"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/667fad6a776ed8622e2de7cdb559e9287f5bc0c03f4f75f5ae826645175897a1e86ddc0e76e529b2d6ab1798b1dd23b432d46fa39fdc73b7c0e4d3f633f4446a.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/667fad6a776ed8622e2de7cdb559e9287f5bc0c03f4f75f5ae826645175897a1e86ddc0e76e529b2d6ab1798b1dd23b432d46fa39fdc73b7c0e4d3f633f4446a.root.json
new file mode 100644
index 0000000..f574e5f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/667fad6a776ed8622e2de7cdb559e9287f5bc0c03f4f75f5ae826645175897a1e86ddc0e76e529b2d6ab1798b1dd23b432d46fa39fdc73b7c0e4d3f633f4446a.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6ba18d6ace9ad74126872cde0a033c1c23eafaf0b02c1a0be02046304f66f0de"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47"],"threshold":1}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a","sig":"eda75221a94275f8dadcc582abd4e62fb83de04589e94f14bf2b4ec5398756d3d11bc32cf378049efe7cdd4e4c3818e7590775084bd09e4f428e5bda76bcc906"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/71408991e0b5359d1a6f2ce0716b515f209821660a965f76d0c0df1cf6667aa7749518c45d4346de444f6a0a5b7864c1c11fae44010c7497d213392964847406.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/71408991e0b5359d1a6f2ce0716b515f209821660a965f76d0c0df1cf6667aa7749518c45d4346de444f6a0a5b7864c1c11fae44010c7497d213392964847406.targets.json
new file mode 100644
index 0000000..0a2635d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/71408991e0b5359d1a6f2ce0716b515f209821660a965f76d0c0df1cf6667aa7749518c45d4346de444f6a0a5b7864c1c11fae44010c7497d213392964847406.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"d6e0604d6aa9680fc11fd7bf9004e1d2203fa89af8dce1d0cd91fdfa0a56f24c4e990ce5f17b4f838edc50c1be3009115556417c5ce338be12be28ba67d48005"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/79ce596f54d798c736402c071d54c7fa77206094d2792db876538ecf18b9fbfc1a245cf3b4650164c841d2cbb2ef3d640dabe06840c7f64654c4107d229eb811.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/79ce596f54d798c736402c071d54c7fa77206094d2792db876538ecf18b9fbfc1a245cf3b4650164c841d2cbb2ef3d640dabe06840c7f64654c4107d229eb811.targets.json
new file mode 100644
index 0000000..cc1a35c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/79ce596f54d798c736402c071d54c7fa77206094d2792db876538ecf18b9fbfc1a245cf3b4650164c841d2cbb2ef3d640dabe06840c7f64654c4107d229eb811.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"eedb5f872ec24b26c039b438d5f354f8e465028919e034d306dc874abcc5a885a553e8245994ec7e8c5c9848ae10c0786e94dc918865cc9ebd3caf3a2c9bf309"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/961ee56b4aeb3a06a00007c3352f650d70bffc26e0809ac446f155f1594c47c4342664ef0f89bd06f318594cf0dca8a413f301dfd0844232854fedaa6273ba59.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/961ee56b4aeb3a06a00007c3352f650d70bffc26e0809ac446f155f1594c47c4342664ef0f89bd06f318594cf0dca8a413f301dfd0844232854fedaa6273ba59.snapshot.json
new file mode 100644
index 0000000..daf3a99
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/961ee56b4aeb3a06a00007c3352f650d70bffc26e0809ac446f155f1594c47c4342664ef0f89bd06f318594cf0dca8a413f301dfd0844232854fedaa6273ba59.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"667fad6a776ed8622e2de7cdb559e9287f5bc0c03f4f75f5ae826645175897a1e86ddc0e76e529b2d6ab1798b1dd23b432d46fa39fdc73b7c0e4d3f633f4446a"},"length":1704,"version":4},"targets.json":{"hashes":{"sha512":"79ce596f54d798c736402c071d54c7fa77206094d2792db876538ecf18b9fbfc1a245cf3b4650164c841d2cbb2ef3d640dabe06840c7f64654c4107d229eb811"},"length":1345,"version":6}},"spec_version":"1.0","version":6},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"821e5fca553231430687b187dd1bcd91c8eb8925675cb4a7cd8bb888a442df7d30f21cb83ce1c2326d59bf005025e80295f27594e7d7f83abd94797c5a204605"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c.root.json
new file mode 100644
index 0000000..f2c637d
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/9b995f439e9d7d53faa975ee5715d3a9f32cdd4b83a72314a3cdbe0e823faae6bd424a4a961b9fff225e59d7b6d1ee4b08fad1e289b280a2c2e13f384ec2eb8c.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"0b4fd984ce719448735d51496f20bfeba6ce076efd3311f828baca405827a680"},"scheme":"ed25519"},"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"c9e06997f3e77a1c999ed35b41899790214e9669b3a5c900238b8ed7260b375b","sig":"55463ef12660d470109117b2873e1c018aaf606b9b7918ec6362929db5312665a8697c83510212bac5ef236284342922a96a4ce88122470851a7b7cb7536a107"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/c934a3344ca1f03f63c021b959b2baf31fa45c85ff7cc1ef2b7616036891a8668953d20bb24e99a846f2a261b31f01077751d16e3b11838352f4a1643a28fdc3.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/c934a3344ca1f03f63c021b959b2baf31fa45c85ff7cc1ef2b7616036891a8668953d20bb24e99a846f2a261b31f01077751d16e3b11838352f4a1643a28fdc3.snapshot.json
new file mode 100644
index 0000000..ed153cc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/c934a3344ca1f03f63c021b959b2baf31fa45c85ff7cc1ef2b7616036891a8668953d20bb24e99a846f2a261b31f01077751d16e3b11838352f4a1643a28fdc3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"667fad6a776ed8622e2de7cdb559e9287f5bc0c03f4f75f5ae826645175897a1e86ddc0e76e529b2d6ab1798b1dd23b432d46fa39fdc73b7c0e4d3f633f4446a"},"length":1704,"version":4},"targets.json":{"hashes":{"sha512":"3e53aea729691ddff5e63e5f5677ebbe00d208927fb96f7cfb2e154a8ea1cc31b1ed31a04487091056da428ddb2c34581c0a203b4a5898c40a1e6e20be52f829"},"length":1177,"version":5}},"spec_version":"1.0","version":5},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"e33eb006c7486d241776b900a73fd6b41522d8f633854193aaae9bb01d567d1d310a1098edf46d7ad9e9e34b8af768fee4c6c290a39e093df15124f58a54a803"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/c944d09e8c5efda309e1a4498277af737b97dc8823a659ed3a60c4d011dcdc729797fd1a6f6d963b93bc2a30414be3f88481837c2b17d14f072b39f2191866a2.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/c944d09e8c5efda309e1a4498277af737b97dc8823a659ed3a60c4d011dcdc729797fd1a6f6d963b93bc2a30414be3f88481837c2b17d14f072b39f2191866a2.targets.json
new file mode 100644
index 0000000..e82b814
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/c944d09e8c5efda309e1a4498277af737b97dc8823a659ed3a60c4d011dcdc729797fd1a6f6d963b93bc2a30414be3f88481837c2b17d14f072b39f2191866a2.targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"e50e81453ed9416a8877fa83a7e8dcc8d2ce73b38808986d420fc940ba6fa43c60b53d1a00caba2ae5a06ff8421472c9c4a09efee56cbe63a683b01f15f4e10a"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/cf876f96b3cf5a52a13628e981cb1118949b855c4d2e5a48149c1d588e134b389271065be52a1f861fd5e84ae025cb239b5110f5f25a3a983824d1e0a7633183.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/cf876f96b3cf5a52a13628e981cb1118949b855c4d2e5a48149c1d588e134b389271065be52a1f861fd5e84ae025cb239b5110f5f25a3a983824d1e0a7633183.snapshot.json
new file mode 100644
index 0000000..6316dfe
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/cf876f96b3cf5a52a13628e981cb1118949b855c4d2e5a48149c1d588e134b389271065be52a1f861fd5e84ae025cb239b5110f5f25a3a983824d1e0a7633183.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"58236babe5fae9454fb0f8d3150b10cbbe65fff7efc32850fafd2a203b52a00a21819b2bacec8b2aadac0a8a662da4259727544a0b01bbc76f534c4ce3048230"},"length":1918,"version":3},"targets.json":{"hashes":{"sha512":"71408991e0b5359d1a6f2ce0716b515f209821660a965f76d0c0df1cf6667aa7749518c45d4346de444f6a0a5b7864c1c11fae44010c7497d213392964847406"},"length":1009,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"fd9e7c74b682fd0010beb790632a56224dc6ae5030652f57a2bfe4b0ca0e4e7cc6ef30655bfdc76ce24bac6822a16a98db6689c6131dbb65f20d3ebea5aeb304"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/e92754ae7309051b870ced601ab9bb9817b457a7c48f010f6060d32aba60afaa88ac4d79a78bf79a2fe4602c74831fe1d402ddf109314793964486d4017fadee.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/e92754ae7309051b870ced601ab9bb9817b457a7c48f010f6060d32aba60afaa88ac4d79a78bf79a2fe4602c74831fe1d402ddf109314793964486d4017fadee.snapshot.json
new file mode 100644
index 0000000..ca3b1f0
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/e92754ae7309051b870ced601ab9bb9817b457a7c48f010f6060d32aba60afaa88ac4d79a78bf79a2fe4602c74831fe1d402ddf109314793964486d4017fadee.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"3501a1e50ea2045abb29c5b4accc1fe95d10c574e2797d0391fb701f4f2d1cb8f343b301bfed5fff0817afeed491e058dfb5ba01e00c916fc81d2e22b7dbde84"},"length":1704,"version":1},"targets.json":{"hashes":{"sha512":"077b1bccf9b08d011e5ed54338408b90cd089ba6bf2f57b9f65eaedb5245ab58a2b2cadbb7c9fe21c4c5935dce4f325e07d732296e2d01af32fe1ae5fa4c4094"},"length":505,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"8a8d8f27a7b46a41a50c8fb5f9f9a355f1dd9538e29505f2b13c4ae2598084b4d87d1600485eeca23237e70a6ff5f6df1cee42542c929cd3129a00df0f6fc409"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/root.json
new file mode 100644
index 0000000..f574e5f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"9d0a51a3b2c40f8bfb6a989787eebfd0b7af521f85ecfa74ce6a3036239b7518"},"scheme":"ed25519"},"99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"6ba18d6ace9ad74126872cde0a033c1c23eafaf0b02c1a0be02046304f66f0de"},"scheme":"ed25519"},"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"03f9d7cb27b94b914fda338371cc525afefddf2075a179dc7927d17b79b453ef"},"scheme":"ed25519"},"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"814f81f40a031f2543a29860dc1c3666416dbc424ae7c8dd79d3af3c61577e61"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a"],"threshold":1},"snapshot":{"keyids":["0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7"],"threshold":1},"targets":{"keyids":["c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e"],"threshold":1},"timestamp":{"keyids":["cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47"],"threshold":1}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"99bc60ecc428001eb80f5f5b65f19856c7cecee35c3fc52e8aaaa3adc14baf5a","sig":"eda75221a94275f8dadcc582abd4e62fb83de04589e94f14bf2b4ec5398756d3d11bc32cf378049efe7cdd4e4c3818e7590775084bd09e4f428e5bda76bcc906"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/snapshot.json
new file mode 100644
index 0000000..daf3a99
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"667fad6a776ed8622e2de7cdb559e9287f5bc0c03f4f75f5ae826645175897a1e86ddc0e76e529b2d6ab1798b1dd23b432d46fa39fdc73b7c0e4d3f633f4446a"},"length":1704,"version":4},"targets.json":{"hashes":{"sha512":"79ce596f54d798c736402c071d54c7fa77206094d2792db876538ecf18b9fbfc1a245cf3b4650164c841d2cbb2ef3d640dabe06840c7f64654c4107d229eb811"},"length":1345,"version":6}},"spec_version":"1.0","version":6},"signatures":[{"keyid":"0e967871caf192a56fcaa893f0ea0ae853e92da3118a3122c7663dc16a2036d7","sig":"821e5fca553231430687b187dd1bcd91c8eb8925675cb4a7cd8bb888a442df7d30f21cb83ce1c2326d59bf005025e80295f27594e7d7f83abd94797c5a204605"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets.json
new file mode 100644
index 0000000..cc1a35c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets.json
@@ -0,0 +1 @@
+{"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":"c0569ca50993fef952e3c7ee0fc1220f04c312bd60a098638027f98f7dd57d0e","sig":"eedb5f872ec24b26c039b438d5f354f8e465028919e034d306dc874abcc5a885a553e8245994ec7e8c5c9848ae10c0786e94dc918865cc9ebd3caf3a2c9bf309"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/0.0 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/0.1 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/0.2 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/0.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/0.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/0.3 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/0.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/0.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/0.4 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/0.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/0.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/0.5 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/0.5
new file mode 100644
index 0000000..7813681
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/0.5
@@ -0,0 +1 @@
+5
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5
new file mode 100644
index 0000000..7813681
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5
@@ -0,0 +1 @@
+5
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/timestamp.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/timestamp.json
new file mode 100644
index 0000000..3136aec
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-false/5/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"961ee56b4aeb3a06a00007c3352f650d70bffc26e0809ac446f155f1594c47c4342664ef0f89bd06f318594cf0dca8a413f301dfd0844232854fedaa6273ba59"},"length":720,"version":6}},"spec_version":"1.0","version":6},"signatures":[{"keyid":"cf0618db7ba21084b308c7a3a46219aff05e2ec39d48d55baac5e0c9ae5f9a47","sig":"ac9998c2c131caad8e2479db05513d4bf17d4a7bb0dc5203638fa0077b51af0a8589c64d522af7f71c2a0ebfaafd9c31e01e8ef51968012a345f82d23ed78700"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/keys/root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/keys/root.json
new file mode 100644
index 0000000..dda9466
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/keys/root.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade",
+				"private": "17bc6c778809d7d05b16c857239511e918dc1c96e221d3433e7c8f8e17f2b197e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/keys/snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/keys/snapshot.json
new file mode 100644
index 0000000..45bea1e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/keys/snapshot.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef",
+				"private": "56943269321253b65cbc2fb7a476ce165283fcb7fec69d977f131c96ec410ebe88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/keys/targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/keys/targets.json
new file mode 100644
index 0000000..c24ecf5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c",
+				"private": "9f530290cb71059f1fee0147e88076caa53dceddfcde4b826d61dd2a8945ad712cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/keys/timestamp.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/keys/timestamp.json
new file mode 100644
index 0000000..bd6a95f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/keys/timestamp.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "e1cb1f371c8f7a31dd0b39309c5d02af11ffaa1a7c71778d2b885ce77757a5e3",
+				"private": "e97432895522f62667c69f996f2e32c1e85e4801dbc49e56dc358f0df434b453e1cb1f371c8f7a31dd0b39309c5d02af11ffaa1a7c71778d2b885ce77757a5e3"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/1.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/1.root.json
new file mode 100644
index 0000000..d6e3979
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"3901e5474c946f204ec6a239ad261a8ccab4949fc6178cef1d48eb01a040521d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e1cb1f371c8f7a31dd0b39309c5d02af11ffaa1a7c71778d2b885ce77757a5e3"},"scheme":"ed25519"},"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["3901e5474c946f204ec6a239ad261a8ccab4949fc6178cef1d48eb01a040521d"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"ba1c7544af8cdee5cb70eee5bf7871d20b34ef1c480854513e9590746ad2686db9bec7fc1259a0f5206e113dc4aab18fc251d173fa0b3cbfdb95ee92d5c5d50b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/1.snapshot.json
new file mode 100644
index 0000000..6785251
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6"},"length":1704,"version":1},"targets.json":{"hashes":{"sha512":"4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112"},"length":505,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"00f4cadd08a9c414b112594d5efebecff11dac46b0e68907da7837eebd46e4f929b068dc53785f54adfba503c55a298678f4ebb7ff10a76c05ada43019af7206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/1.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/1.targets.json
new file mode 100644
index 0000000..633e87f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"09f3b7faeb4098137fd7fb365f1396307a7d9240d0df527f7fb4a2861c2bc869611636897146e0d2ba2afd9df348f4b99fb19dbe1ff16ce652d9617b09533806"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/27b3a3586c86fdd05e941098c10f71419f531d94bac36a272b5b978877652e7994ec657333d2e3894a2c1f53263eec729c8595f492f67b3eaafcc47b75e746c8.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/27b3a3586c86fdd05e941098c10f71419f531d94bac36a272b5b978877652e7994ec657333d2e3894a2c1f53263eec729c8595f492f67b3eaafcc47b75e746c8.snapshot.json
new file mode 100644
index 0000000..6785251
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/27b3a3586c86fdd05e941098c10f71419f531d94bac36a272b5b978877652e7994ec657333d2e3894a2c1f53263eec729c8595f492f67b3eaafcc47b75e746c8.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6"},"length":1704,"version":1},"targets.json":{"hashes":{"sha512":"4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112"},"length":505,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"00f4cadd08a9c414b112594d5efebecff11dac46b0e68907da7837eebd46e4f929b068dc53785f54adfba503c55a298678f4ebb7ff10a76c05ada43019af7206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112.targets.json
new file mode 100644
index 0000000..633e87f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"09f3b7faeb4098137fd7fb365f1396307a7d9240d0df527f7fb4a2861c2bc869611636897146e0d2ba2afd9df348f4b99fb19dbe1ff16ce652d9617b09533806"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6.root.json
new file mode 100644
index 0000000..d6e3979
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"3901e5474c946f204ec6a239ad261a8ccab4949fc6178cef1d48eb01a040521d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e1cb1f371c8f7a31dd0b39309c5d02af11ffaa1a7c71778d2b885ce77757a5e3"},"scheme":"ed25519"},"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["3901e5474c946f204ec6a239ad261a8ccab4949fc6178cef1d48eb01a040521d"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"ba1c7544af8cdee5cb70eee5bf7871d20b34ef1c480854513e9590746ad2686db9bec7fc1259a0f5206e113dc4aab18fc251d173fa0b3cbfdb95ee92d5c5d50b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/root.json
new file mode 100644
index 0000000..d6e3979
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"3901e5474c946f204ec6a239ad261a8ccab4949fc6178cef1d48eb01a040521d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e1cb1f371c8f7a31dd0b39309c5d02af11ffaa1a7c71778d2b885ce77757a5e3"},"scheme":"ed25519"},"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["3901e5474c946f204ec6a239ad261a8ccab4949fc6178cef1d48eb01a040521d"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"ba1c7544af8cdee5cb70eee5bf7871d20b34ef1c480854513e9590746ad2686db9bec7fc1259a0f5206e113dc4aab18fc251d173fa0b3cbfdb95ee92d5c5d50b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/snapshot.json
new file mode 100644
index 0000000..6785251
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6"},"length":1704,"version":1},"targets.json":{"hashes":{"sha512":"4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112"},"length":505,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"00f4cadd08a9c414b112594d5efebecff11dac46b0e68907da7837eebd46e4f929b068dc53785f54adfba503c55a298678f4ebb7ff10a76c05ada43019af7206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/targets.json
new file mode 100644
index 0000000..633e87f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"09f3b7faeb4098137fd7fb365f1396307a7d9240d0df527f7fb4a2861c2bc869611636897146e0d2ba2afd9df348f4b99fb19dbe1ff16ce652d9617b09533806"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/targets/0.0 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/timestamp.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/timestamp.json
new file mode 100644
index 0000000..b9ec2cc
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/0/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"27b3a3586c86fdd05e941098c10f71419f531d94bac36a272b5b978877652e7994ec657333d2e3894a2c1f53263eec729c8595f492f67b3eaafcc47b75e746c8"},"length":719,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"3901e5474c946f204ec6a239ad261a8ccab4949fc6178cef1d48eb01a040521d","sig":"ac635fa9b953ee8ecabb2c8857312719ecdef6999f7ce7ae83179cbcf47a1602451ff1983c82a4864a7e163d0f553302cdd89b5511dd87850c763d03e923ec0d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/keys/root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/keys/root.json
new file mode 100644
index 0000000..dda9466
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/keys/root.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade",
+				"private": "17bc6c778809d7d05b16c857239511e918dc1c96e221d3433e7c8f8e17f2b197e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/keys/snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/keys/snapshot.json
new file mode 100644
index 0000000..45bea1e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/keys/snapshot.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef",
+				"private": "56943269321253b65cbc2fb7a476ce165283fcb7fec69d977f131c96ec410ebe88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/keys/targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/keys/targets.json
new file mode 100644
index 0000000..c24ecf5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c",
+				"private": "9f530290cb71059f1fee0147e88076caa53dceddfcde4b826d61dd2a8945ad712cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/keys/timestamp.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/keys/timestamp.json
new file mode 100644
index 0000000..64ef0f3
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/keys/timestamp.json
@@ -0,0 +1,27 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "e1cb1f371c8f7a31dd0b39309c5d02af11ffaa1a7c71778d2b885ce77757a5e3",
+				"private": "e97432895522f62667c69f996f2e32c1e85e4801dbc49e56dc358f0df434b453e1cb1f371c8f7a31dd0b39309c5d02af11ffaa1a7c71778d2b885ce77757a5e3"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64",
+				"private": "2393a13f038713a2d2ae7a80d0bdf5bd8e018e35967c3bdfd8ca8b115e47c01d4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/1.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/1.root.json
new file mode 100644
index 0000000..d6e3979
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"3901e5474c946f204ec6a239ad261a8ccab4949fc6178cef1d48eb01a040521d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e1cb1f371c8f7a31dd0b39309c5d02af11ffaa1a7c71778d2b885ce77757a5e3"},"scheme":"ed25519"},"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["3901e5474c946f204ec6a239ad261a8ccab4949fc6178cef1d48eb01a040521d"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"ba1c7544af8cdee5cb70eee5bf7871d20b34ef1c480854513e9590746ad2686db9bec7fc1259a0f5206e113dc4aab18fc251d173fa0b3cbfdb95ee92d5c5d50b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/1.snapshot.json
new file mode 100644
index 0000000..6785251
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6"},"length":1704,"version":1},"targets.json":{"hashes":{"sha512":"4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112"},"length":505,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"00f4cadd08a9c414b112594d5efebecff11dac46b0e68907da7837eebd46e4f929b068dc53785f54adfba503c55a298678f4ebb7ff10a76c05ada43019af7206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/1.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/1.targets.json
new file mode 100644
index 0000000..633e87f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"09f3b7faeb4098137fd7fb365f1396307a7d9240d0df527f7fb4a2861c2bc869611636897146e0d2ba2afd9df348f4b99fb19dbe1ff16ce652d9617b09533806"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/2.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/2.root.json
new file mode 100644
index 0000000..ecba9d9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"},"scheme":"ed25519"},"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"1d4b8e3ba03158c64029e4f1d9e580905d1ed1a0c87242e09edd36ed6104ed8587b20bfe3a7669d040028149fe945818f150cff5ad302bdf6071e0bfb5ba5206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/2.snapshot.json
new file mode 100644
index 0000000..1a64206
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"bfb9550cac278a45a1b7d88fc177831c289227c310c30fb5638d0946ba6f09b6942576e6c950e8c864d5ad1300fd446fb9fb1c3e05e6facf1794abfc72039da4"},"length":673,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"d30f405c3ff0c0917da5f6bce6d03e8f3ba521b0a545517ef3af0d451f88bced5985b119e6fc60dd4c714b43cfec0742471b9eff97d5200605b44a0976783106"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/2.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/2.targets.json
new file mode 100644
index 0000000..31d08bd
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/2.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"7b69960653d7dbacd867655f7802487d028430c4df53ca94a8eaa65cd4f84986532ab34ab6aa349f391dc03b0ef94c5af5bfc7ba3a428ddba581bd2c26dc9702"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/27b3a3586c86fdd05e941098c10f71419f531d94bac36a272b5b978877652e7994ec657333d2e3894a2c1f53263eec729c8595f492f67b3eaafcc47b75e746c8.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/27b3a3586c86fdd05e941098c10f71419f531d94bac36a272b5b978877652e7994ec657333d2e3894a2c1f53263eec729c8595f492f67b3eaafcc47b75e746c8.snapshot.json
new file mode 100644
index 0000000..6785251
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/27b3a3586c86fdd05e941098c10f71419f531d94bac36a272b5b978877652e7994ec657333d2e3894a2c1f53263eec729c8595f492f67b3eaafcc47b75e746c8.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6"},"length":1704,"version":1},"targets.json":{"hashes":{"sha512":"4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112"},"length":505,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"00f4cadd08a9c414b112594d5efebecff11dac46b0e68907da7837eebd46e4f929b068dc53785f54adfba503c55a298678f4ebb7ff10a76c05ada43019af7206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112.targets.json
new file mode 100644
index 0000000..633e87f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"09f3b7faeb4098137fd7fb365f1396307a7d9240d0df527f7fb4a2861c2bc869611636897146e0d2ba2afd9df348f4b99fb19dbe1ff16ce652d9617b09533806"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/7ff09cead126fb7f2c923ef024074c51b626e2d3dfce31159312186d3c10c838faac51cae57c95e1032ede047800450eff71a0a8d3b45167640ebbe45cad4dcd.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/7ff09cead126fb7f2c923ef024074c51b626e2d3dfce31159312186d3c10c838faac51cae57c95e1032ede047800450eff71a0a8d3b45167640ebbe45cad4dcd.snapshot.json
new file mode 100644
index 0000000..1a64206
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/7ff09cead126fb7f2c923ef024074c51b626e2d3dfce31159312186d3c10c838faac51cae57c95e1032ede047800450eff71a0a8d3b45167640ebbe45cad4dcd.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"bfb9550cac278a45a1b7d88fc177831c289227c310c30fb5638d0946ba6f09b6942576e6c950e8c864d5ad1300fd446fb9fb1c3e05e6facf1794abfc72039da4"},"length":673,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"d30f405c3ff0c0917da5f6bce6d03e8f3ba521b0a545517ef3af0d451f88bced5985b119e6fc60dd4c714b43cfec0742471b9eff97d5200605b44a0976783106"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/bfb9550cac278a45a1b7d88fc177831c289227c310c30fb5638d0946ba6f09b6942576e6c950e8c864d5ad1300fd446fb9fb1c3e05e6facf1794abfc72039da4.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/bfb9550cac278a45a1b7d88fc177831c289227c310c30fb5638d0946ba6f09b6942576e6c950e8c864d5ad1300fd446fb9fb1c3e05e6facf1794abfc72039da4.targets.json
new file mode 100644
index 0000000..31d08bd
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/bfb9550cac278a45a1b7d88fc177831c289227c310c30fb5638d0946ba6f09b6942576e6c950e8c864d5ad1300fd446fb9fb1c3e05e6facf1794abfc72039da4.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"7b69960653d7dbacd867655f7802487d028430c4df53ca94a8eaa65cd4f84986532ab34ab6aa349f391dc03b0ef94c5af5bfc7ba3a428ddba581bd2c26dc9702"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84.root.json
new file mode 100644
index 0000000..ecba9d9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"},"scheme":"ed25519"},"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"1d4b8e3ba03158c64029e4f1d9e580905d1ed1a0c87242e09edd36ed6104ed8587b20bfe3a7669d040028149fe945818f150cff5ad302bdf6071e0bfb5ba5206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6.root.json
new file mode 100644
index 0000000..d6e3979
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"3901e5474c946f204ec6a239ad261a8ccab4949fc6178cef1d48eb01a040521d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e1cb1f371c8f7a31dd0b39309c5d02af11ffaa1a7c71778d2b885ce77757a5e3"},"scheme":"ed25519"},"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["3901e5474c946f204ec6a239ad261a8ccab4949fc6178cef1d48eb01a040521d"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"ba1c7544af8cdee5cb70eee5bf7871d20b34ef1c480854513e9590746ad2686db9bec7fc1259a0f5206e113dc4aab18fc251d173fa0b3cbfdb95ee92d5c5d50b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/root.json
new file mode 100644
index 0000000..ecba9d9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"},"scheme":"ed25519"},"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"1d4b8e3ba03158c64029e4f1d9e580905d1ed1a0c87242e09edd36ed6104ed8587b20bfe3a7669d040028149fe945818f150cff5ad302bdf6071e0bfb5ba5206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/snapshot.json
new file mode 100644
index 0000000..1a64206
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"bfb9550cac278a45a1b7d88fc177831c289227c310c30fb5638d0946ba6f09b6942576e6c950e8c864d5ad1300fd446fb9fb1c3e05e6facf1794abfc72039da4"},"length":673,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"d30f405c3ff0c0917da5f6bce6d03e8f3ba521b0a545517ef3af0d451f88bced5985b119e6fc60dd4c714b43cfec0742471b9eff97d5200605b44a0976783106"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/targets.json
new file mode 100644
index 0000000..31d08bd
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"7b69960653d7dbacd867655f7802487d028430c4df53ca94a8eaa65cd4f84986532ab34ab6aa349f391dc03b0ef94c5af5bfc7ba3a428ddba581bd2c26dc9702"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/targets/0.0 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/targets/0.1 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/timestamp.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/timestamp.json
new file mode 100644
index 0000000..776a4d6
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/1/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"7ff09cead126fb7f2c923ef024074c51b626e2d3dfce31159312186d3c10c838faac51cae57c95e1032ede047800450eff71a0a8d3b45167640ebbe45cad4dcd"},"length":719,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f","sig":"95b023805974cf4a309be190901062f6f4f929a9169a049161a965e228b3f2386850b94a8b5d5cec590ed70f077e441d55cbe839b5da7ff3166325b659b6240b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/keys/root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/keys/root.json
new file mode 100644
index 0000000..dda9466
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/keys/root.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade",
+				"private": "17bc6c778809d7d05b16c857239511e918dc1c96e221d3433e7c8f8e17f2b197e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/keys/snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/keys/snapshot.json
new file mode 100644
index 0000000..45bea1e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/keys/snapshot.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef",
+				"private": "56943269321253b65cbc2fb7a476ce165283fcb7fec69d977f131c96ec410ebe88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/keys/targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/keys/targets.json
new file mode 100644
index 0000000..c24ecf5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c",
+				"private": "9f530290cb71059f1fee0147e88076caa53dceddfcde4b826d61dd2a8945ad712cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/keys/timestamp.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/keys/timestamp.json
new file mode 100644
index 0000000..dd1cc81
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64","private":"2393a13f038713a2d2ae7a80d0bdf5bd8e018e35967c3bdfd8ca8b115e47c01d4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/1.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/1.root.json
new file mode 100644
index 0000000..d6e3979
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"3901e5474c946f204ec6a239ad261a8ccab4949fc6178cef1d48eb01a040521d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e1cb1f371c8f7a31dd0b39309c5d02af11ffaa1a7c71778d2b885ce77757a5e3"},"scheme":"ed25519"},"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["3901e5474c946f204ec6a239ad261a8ccab4949fc6178cef1d48eb01a040521d"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"ba1c7544af8cdee5cb70eee5bf7871d20b34ef1c480854513e9590746ad2686db9bec7fc1259a0f5206e113dc4aab18fc251d173fa0b3cbfdb95ee92d5c5d50b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/1.snapshot.json
new file mode 100644
index 0000000..6785251
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6"},"length":1704,"version":1},"targets.json":{"hashes":{"sha512":"4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112"},"length":505,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"00f4cadd08a9c414b112594d5efebecff11dac46b0e68907da7837eebd46e4f929b068dc53785f54adfba503c55a298678f4ebb7ff10a76c05ada43019af7206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/1.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/1.targets.json
new file mode 100644
index 0000000..633e87f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"09f3b7faeb4098137fd7fb365f1396307a7d9240d0df527f7fb4a2861c2bc869611636897146e0d2ba2afd9df348f4b99fb19dbe1ff16ce652d9617b09533806"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/2.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/2.root.json
new file mode 100644
index 0000000..ecba9d9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"},"scheme":"ed25519"},"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"1d4b8e3ba03158c64029e4f1d9e580905d1ed1a0c87242e09edd36ed6104ed8587b20bfe3a7669d040028149fe945818f150cff5ad302bdf6071e0bfb5ba5206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/2.snapshot.json
new file mode 100644
index 0000000..1a64206
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"bfb9550cac278a45a1b7d88fc177831c289227c310c30fb5638d0946ba6f09b6942576e6c950e8c864d5ad1300fd446fb9fb1c3e05e6facf1794abfc72039da4"},"length":673,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"d30f405c3ff0c0917da5f6bce6d03e8f3ba521b0a545517ef3af0d451f88bced5985b119e6fc60dd4c714b43cfec0742471b9eff97d5200605b44a0976783106"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/2.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/2.targets.json
new file mode 100644
index 0000000..31d08bd
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/2.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"7b69960653d7dbacd867655f7802487d028430c4df53ca94a8eaa65cd4f84986532ab34ab6aa349f391dc03b0ef94c5af5bfc7ba3a428ddba581bd2c26dc9702"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/27b3a3586c86fdd05e941098c10f71419f531d94bac36a272b5b978877652e7994ec657333d2e3894a2c1f53263eec729c8595f492f67b3eaafcc47b75e746c8.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/27b3a3586c86fdd05e941098c10f71419f531d94bac36a272b5b978877652e7994ec657333d2e3894a2c1f53263eec729c8595f492f67b3eaafcc47b75e746c8.snapshot.json
new file mode 100644
index 0000000..6785251
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/27b3a3586c86fdd05e941098c10f71419f531d94bac36a272b5b978877652e7994ec657333d2e3894a2c1f53263eec729c8595f492f67b3eaafcc47b75e746c8.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6"},"length":1704,"version":1},"targets.json":{"hashes":{"sha512":"4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112"},"length":505,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"00f4cadd08a9c414b112594d5efebecff11dac46b0e68907da7837eebd46e4f929b068dc53785f54adfba503c55a298678f4ebb7ff10a76c05ada43019af7206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/3.snapshot.json
new file mode 100644
index 0000000..c59a15c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"4660bb716c66653e60915e132972e9c60e000644c56d892f54303ccaf5392100d22a613e93c0acd196f230156d9278ce48cf4acc7b278e39d027bb77430a1474"},"length":841,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"1f8c0d14621c8ff42effa12de2e38cd5191cf54fdd6dcb9c748f96cb75c074f6412382f1e20ec066a7d7ed06181aec8938c0d3b2af54e5ec0381a42a53c39c02"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/3.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/3.targets.json
new file mode 100644
index 0000000..2980b4b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/3.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"e908928beca0a61f7f33fb99fb74227373b2f45983aeed065b8e14256818d911c55443e2782a02ce351af5e8aaf9eec149815aed84ced089bde66f358382060e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/4660bb716c66653e60915e132972e9c60e000644c56d892f54303ccaf5392100d22a613e93c0acd196f230156d9278ce48cf4acc7b278e39d027bb77430a1474.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/4660bb716c66653e60915e132972e9c60e000644c56d892f54303ccaf5392100d22a613e93c0acd196f230156d9278ce48cf4acc7b278e39d027bb77430a1474.targets.json
new file mode 100644
index 0000000..2980b4b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/4660bb716c66653e60915e132972e9c60e000644c56d892f54303ccaf5392100d22a613e93c0acd196f230156d9278ce48cf4acc7b278e39d027bb77430a1474.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"e908928beca0a61f7f33fb99fb74227373b2f45983aeed065b8e14256818d911c55443e2782a02ce351af5e8aaf9eec149815aed84ced089bde66f358382060e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112.targets.json
new file mode 100644
index 0000000..633e87f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"09f3b7faeb4098137fd7fb365f1396307a7d9240d0df527f7fb4a2861c2bc869611636897146e0d2ba2afd9df348f4b99fb19dbe1ff16ce652d9617b09533806"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/6020ba3baf522dfaf99d316154045d133909ba9dfd0462cba10858cbf9386f30cd931d23f2c1533a41b686439dda02b33ef63fae1e7fe4090933b4e31b2c8b2e.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/6020ba3baf522dfaf99d316154045d133909ba9dfd0462cba10858cbf9386f30cd931d23f2c1533a41b686439dda02b33ef63fae1e7fe4090933b4e31b2c8b2e.snapshot.json
new file mode 100644
index 0000000..c59a15c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/6020ba3baf522dfaf99d316154045d133909ba9dfd0462cba10858cbf9386f30cd931d23f2c1533a41b686439dda02b33ef63fae1e7fe4090933b4e31b2c8b2e.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"4660bb716c66653e60915e132972e9c60e000644c56d892f54303ccaf5392100d22a613e93c0acd196f230156d9278ce48cf4acc7b278e39d027bb77430a1474"},"length":841,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"1f8c0d14621c8ff42effa12de2e38cd5191cf54fdd6dcb9c748f96cb75c074f6412382f1e20ec066a7d7ed06181aec8938c0d3b2af54e5ec0381a42a53c39c02"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/7ff09cead126fb7f2c923ef024074c51b626e2d3dfce31159312186d3c10c838faac51cae57c95e1032ede047800450eff71a0a8d3b45167640ebbe45cad4dcd.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/7ff09cead126fb7f2c923ef024074c51b626e2d3dfce31159312186d3c10c838faac51cae57c95e1032ede047800450eff71a0a8d3b45167640ebbe45cad4dcd.snapshot.json
new file mode 100644
index 0000000..1a64206
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/7ff09cead126fb7f2c923ef024074c51b626e2d3dfce31159312186d3c10c838faac51cae57c95e1032ede047800450eff71a0a8d3b45167640ebbe45cad4dcd.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"bfb9550cac278a45a1b7d88fc177831c289227c310c30fb5638d0946ba6f09b6942576e6c950e8c864d5ad1300fd446fb9fb1c3e05e6facf1794abfc72039da4"},"length":673,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"d30f405c3ff0c0917da5f6bce6d03e8f3ba521b0a545517ef3af0d451f88bced5985b119e6fc60dd4c714b43cfec0742471b9eff97d5200605b44a0976783106"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/bfb9550cac278a45a1b7d88fc177831c289227c310c30fb5638d0946ba6f09b6942576e6c950e8c864d5ad1300fd446fb9fb1c3e05e6facf1794abfc72039da4.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/bfb9550cac278a45a1b7d88fc177831c289227c310c30fb5638d0946ba6f09b6942576e6c950e8c864d5ad1300fd446fb9fb1c3e05e6facf1794abfc72039da4.targets.json
new file mode 100644
index 0000000..31d08bd
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/bfb9550cac278a45a1b7d88fc177831c289227c310c30fb5638d0946ba6f09b6942576e6c950e8c864d5ad1300fd446fb9fb1c3e05e6facf1794abfc72039da4.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"7b69960653d7dbacd867655f7802487d028430c4df53ca94a8eaa65cd4f84986532ab34ab6aa349f391dc03b0ef94c5af5bfc7ba3a428ddba581bd2c26dc9702"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84.root.json
new file mode 100644
index 0000000..ecba9d9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"},"scheme":"ed25519"},"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"1d4b8e3ba03158c64029e4f1d9e580905d1ed1a0c87242e09edd36ed6104ed8587b20bfe3a7669d040028149fe945818f150cff5ad302bdf6071e0bfb5ba5206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6.root.json
new file mode 100644
index 0000000..d6e3979
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"3901e5474c946f204ec6a239ad261a8ccab4949fc6178cef1d48eb01a040521d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e1cb1f371c8f7a31dd0b39309c5d02af11ffaa1a7c71778d2b885ce77757a5e3"},"scheme":"ed25519"},"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["3901e5474c946f204ec6a239ad261a8ccab4949fc6178cef1d48eb01a040521d"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"ba1c7544af8cdee5cb70eee5bf7871d20b34ef1c480854513e9590746ad2686db9bec7fc1259a0f5206e113dc4aab18fc251d173fa0b3cbfdb95ee92d5c5d50b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/root.json
new file mode 100644
index 0000000..ecba9d9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"},"scheme":"ed25519"},"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"1d4b8e3ba03158c64029e4f1d9e580905d1ed1a0c87242e09edd36ed6104ed8587b20bfe3a7669d040028149fe945818f150cff5ad302bdf6071e0bfb5ba5206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/snapshot.json
new file mode 100644
index 0000000..c59a15c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"4660bb716c66653e60915e132972e9c60e000644c56d892f54303ccaf5392100d22a613e93c0acd196f230156d9278ce48cf4acc7b278e39d027bb77430a1474"},"length":841,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"1f8c0d14621c8ff42effa12de2e38cd5191cf54fdd6dcb9c748f96cb75c074f6412382f1e20ec066a7d7ed06181aec8938c0d3b2af54e5ec0381a42a53c39c02"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/targets.json
new file mode 100644
index 0000000..2980b4b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"e908928beca0a61f7f33fb99fb74227373b2f45983aeed065b8e14256818d911c55443e2782a02ce351af5e8aaf9eec149815aed84ced089bde66f358382060e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/targets/0.0 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/targets/0.1 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/targets/0.2 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/targets/0.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/targets/0.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/timestamp.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/timestamp.json
new file mode 100644
index 0000000..82e0c06
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/2/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"6020ba3baf522dfaf99d316154045d133909ba9dfd0462cba10858cbf9386f30cd931d23f2c1533a41b686439dda02b33ef63fae1e7fe4090933b4e31b2c8b2e"},"length":719,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f","sig":"3ce784384a6af69fad7cfabdc10f14b33e91a511d0196c25c8e5d553ffc871bb9ed33d146590685b6b16d2ba4820526e410235b97afb611fcec3ec0300903800"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/keys/root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/keys/root.json
new file mode 100644
index 0000000..819197f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/keys/root.json
@@ -0,0 +1,27 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade",
+				"private": "17bc6c778809d7d05b16c857239511e918dc1c96e221d3433e7c8f8e17f2b197e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "d856ec7d531a2fb84e78b6030efff92ee2b152b7bc8708bbbd32de155e60469d",
+				"private": "5c5812258adcf9ba2b28605677759410d73d5ef047d2d3176d89af4c062952fdd856ec7d531a2fb84e78b6030efff92ee2b152b7bc8708bbbd32de155e60469d"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/keys/snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/keys/snapshot.json
new file mode 100644
index 0000000..45bea1e
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/keys/snapshot.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef",
+				"private": "56943269321253b65cbc2fb7a476ce165283fcb7fec69d977f131c96ec410ebe88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/keys/targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/keys/targets.json
new file mode 100644
index 0000000..c24ecf5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c",
+				"private": "9f530290cb71059f1fee0147e88076caa53dceddfcde4b826d61dd2a8945ad712cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/keys/timestamp.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/keys/timestamp.json
new file mode 100644
index 0000000..dd1cc81
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64","private":"2393a13f038713a2d2ae7a80d0bdf5bd8e018e35967c3bdfd8ca8b115e47c01d4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/1.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/1.root.json
new file mode 100644
index 0000000..d6e3979
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"3901e5474c946f204ec6a239ad261a8ccab4949fc6178cef1d48eb01a040521d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e1cb1f371c8f7a31dd0b39309c5d02af11ffaa1a7c71778d2b885ce77757a5e3"},"scheme":"ed25519"},"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["3901e5474c946f204ec6a239ad261a8ccab4949fc6178cef1d48eb01a040521d"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"ba1c7544af8cdee5cb70eee5bf7871d20b34ef1c480854513e9590746ad2686db9bec7fc1259a0f5206e113dc4aab18fc251d173fa0b3cbfdb95ee92d5c5d50b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/1.snapshot.json
new file mode 100644
index 0000000..6785251
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6"},"length":1704,"version":1},"targets.json":{"hashes":{"sha512":"4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112"},"length":505,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"00f4cadd08a9c414b112594d5efebecff11dac46b0e68907da7837eebd46e4f929b068dc53785f54adfba503c55a298678f4ebb7ff10a76c05ada43019af7206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/1.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/1.targets.json
new file mode 100644
index 0000000..633e87f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"09f3b7faeb4098137fd7fb365f1396307a7d9240d0df527f7fb4a2861c2bc869611636897146e0d2ba2afd9df348f4b99fb19dbe1ff16ce652d9617b09533806"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/2.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/2.root.json
new file mode 100644
index 0000000..ecba9d9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"},"scheme":"ed25519"},"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"1d4b8e3ba03158c64029e4f1d9e580905d1ed1a0c87242e09edd36ed6104ed8587b20bfe3a7669d040028149fe945818f150cff5ad302bdf6071e0bfb5ba5206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/2.snapshot.json
new file mode 100644
index 0000000..1a64206
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"bfb9550cac278a45a1b7d88fc177831c289227c310c30fb5638d0946ba6f09b6942576e6c950e8c864d5ad1300fd446fb9fb1c3e05e6facf1794abfc72039da4"},"length":673,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"d30f405c3ff0c0917da5f6bce6d03e8f3ba521b0a545517ef3af0d451f88bced5985b119e6fc60dd4c714b43cfec0742471b9eff97d5200605b44a0976783106"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/2.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/2.targets.json
new file mode 100644
index 0000000..31d08bd
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/2.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"7b69960653d7dbacd867655f7802487d028430c4df53ca94a8eaa65cd4f84986532ab34ab6aa349f391dc03b0ef94c5af5bfc7ba3a428ddba581bd2c26dc9702"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/27b3a3586c86fdd05e941098c10f71419f531d94bac36a272b5b978877652e7994ec657333d2e3894a2c1f53263eec729c8595f492f67b3eaafcc47b75e746c8.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/27b3a3586c86fdd05e941098c10f71419f531d94bac36a272b5b978877652e7994ec657333d2e3894a2c1f53263eec729c8595f492f67b3eaafcc47b75e746c8.snapshot.json
new file mode 100644
index 0000000..6785251
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/27b3a3586c86fdd05e941098c10f71419f531d94bac36a272b5b978877652e7994ec657333d2e3894a2c1f53263eec729c8595f492f67b3eaafcc47b75e746c8.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6"},"length":1704,"version":1},"targets.json":{"hashes":{"sha512":"4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112"},"length":505,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"00f4cadd08a9c414b112594d5efebecff11dac46b0e68907da7837eebd46e4f929b068dc53785f54adfba503c55a298678f4ebb7ff10a76c05ada43019af7206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/3.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/3.root.json
new file mode 100644
index 0000000..e3c13aa
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/3.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"d856ec7d531a2fb84e78b6030efff92ee2b152b7bc8708bbbd32de155e60469d"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"62f7995910e61d7e29f41fefaf1899c70591da779e163913ddcf3b212bf09890b25ff3f3f276b44c8a41393c9fb3dce484722a7811c7c2b8e17391c5cfd7cf06"},{"keyid":"d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385","sig":"c051c45a6a2359f8004dc1261e5a7029ced6270dc1812bd274d5bdfeae597eb3d902c666e3b434f18e7607005d1e6c1b88d1613cbcaef40b55224a75c1ba0701"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/3.snapshot.json
new file mode 100644
index 0000000..c59a15c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"4660bb716c66653e60915e132972e9c60e000644c56d892f54303ccaf5392100d22a613e93c0acd196f230156d9278ce48cf4acc7b278e39d027bb77430a1474"},"length":841,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"1f8c0d14621c8ff42effa12de2e38cd5191cf54fdd6dcb9c748f96cb75c074f6412382f1e20ec066a7d7ed06181aec8938c0d3b2af54e5ec0381a42a53c39c02"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/3.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/3.targets.json
new file mode 100644
index 0000000..2980b4b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/3.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"e908928beca0a61f7f33fb99fb74227373b2f45983aeed065b8e14256818d911c55443e2782a02ce351af5e8aaf9eec149815aed84ced089bde66f358382060e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/4.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/4.snapshot.json
new file mode 100644
index 0000000..3e27316
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/4.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"442997801bc8613be35f2da13622ee110d2bb4ad2638e7ce327e218352bcd78a535294e6cabfa43628e27d419bdaf15b084fa3ca7da8faa2b5af6ca4f144f29f"},"length":1918,"version":3},"targets.json":{"hashes":{"sha512":"ceff5553a373f97d9ac2fef9162e04941461c308c55821918c6e7113cfdaddc4fb1f478ef16360cc92e0e7e37f7bc3a68a8483d6c40141e7c5c9a5eebddb1ae5"},"length":1009,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"bc8851b180b933f967c3bae4ff24f86c464cbfb470e6ef03594c5d6133987009ba329a10ef54d39226e09267dc55d81a1c66fd4fad23ccb03a052bcc81ffe002"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/4.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/4.targets.json
new file mode 100644
index 0000000..335291b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/4.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"0fc15d44da54f13a30631c2264ba0cbd4c0ad5efb9a2aa71451d7258f98cb5b3597f1165dce688a05f8001f7ec2a51eee6382835121e8176ffdafe4e38c0050e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/442997801bc8613be35f2da13622ee110d2bb4ad2638e7ce327e218352bcd78a535294e6cabfa43628e27d419bdaf15b084fa3ca7da8faa2b5af6ca4f144f29f.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/442997801bc8613be35f2da13622ee110d2bb4ad2638e7ce327e218352bcd78a535294e6cabfa43628e27d419bdaf15b084fa3ca7da8faa2b5af6ca4f144f29f.root.json
new file mode 100644
index 0000000..e3c13aa
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/442997801bc8613be35f2da13622ee110d2bb4ad2638e7ce327e218352bcd78a535294e6cabfa43628e27d419bdaf15b084fa3ca7da8faa2b5af6ca4f144f29f.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"d856ec7d531a2fb84e78b6030efff92ee2b152b7bc8708bbbd32de155e60469d"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"62f7995910e61d7e29f41fefaf1899c70591da779e163913ddcf3b212bf09890b25ff3f3f276b44c8a41393c9fb3dce484722a7811c7c2b8e17391c5cfd7cf06"},{"keyid":"d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385","sig":"c051c45a6a2359f8004dc1261e5a7029ced6270dc1812bd274d5bdfeae597eb3d902c666e3b434f18e7607005d1e6c1b88d1613cbcaef40b55224a75c1ba0701"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/4660bb716c66653e60915e132972e9c60e000644c56d892f54303ccaf5392100d22a613e93c0acd196f230156d9278ce48cf4acc7b278e39d027bb77430a1474.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/4660bb716c66653e60915e132972e9c60e000644c56d892f54303ccaf5392100d22a613e93c0acd196f230156d9278ce48cf4acc7b278e39d027bb77430a1474.targets.json
new file mode 100644
index 0000000..2980b4b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/4660bb716c66653e60915e132972e9c60e000644c56d892f54303ccaf5392100d22a613e93c0acd196f230156d9278ce48cf4acc7b278e39d027bb77430a1474.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"e908928beca0a61f7f33fb99fb74227373b2f45983aeed065b8e14256818d911c55443e2782a02ce351af5e8aaf9eec149815aed84ced089bde66f358382060e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112.targets.json
new file mode 100644
index 0000000..633e87f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"09f3b7faeb4098137fd7fb365f1396307a7d9240d0df527f7fb4a2861c2bc869611636897146e0d2ba2afd9df348f4b99fb19dbe1ff16ce652d9617b09533806"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/6020ba3baf522dfaf99d316154045d133909ba9dfd0462cba10858cbf9386f30cd931d23f2c1533a41b686439dda02b33ef63fae1e7fe4090933b4e31b2c8b2e.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/6020ba3baf522dfaf99d316154045d133909ba9dfd0462cba10858cbf9386f30cd931d23f2c1533a41b686439dda02b33ef63fae1e7fe4090933b4e31b2c8b2e.snapshot.json
new file mode 100644
index 0000000..c59a15c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/6020ba3baf522dfaf99d316154045d133909ba9dfd0462cba10858cbf9386f30cd931d23f2c1533a41b686439dda02b33ef63fae1e7fe4090933b4e31b2c8b2e.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"4660bb716c66653e60915e132972e9c60e000644c56d892f54303ccaf5392100d22a613e93c0acd196f230156d9278ce48cf4acc7b278e39d027bb77430a1474"},"length":841,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"1f8c0d14621c8ff42effa12de2e38cd5191cf54fdd6dcb9c748f96cb75c074f6412382f1e20ec066a7d7ed06181aec8938c0d3b2af54e5ec0381a42a53c39c02"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/7ff09cead126fb7f2c923ef024074c51b626e2d3dfce31159312186d3c10c838faac51cae57c95e1032ede047800450eff71a0a8d3b45167640ebbe45cad4dcd.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/7ff09cead126fb7f2c923ef024074c51b626e2d3dfce31159312186d3c10c838faac51cae57c95e1032ede047800450eff71a0a8d3b45167640ebbe45cad4dcd.snapshot.json
new file mode 100644
index 0000000..1a64206
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/7ff09cead126fb7f2c923ef024074c51b626e2d3dfce31159312186d3c10c838faac51cae57c95e1032ede047800450eff71a0a8d3b45167640ebbe45cad4dcd.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"bfb9550cac278a45a1b7d88fc177831c289227c310c30fb5638d0946ba6f09b6942576e6c950e8c864d5ad1300fd446fb9fb1c3e05e6facf1794abfc72039da4"},"length":673,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"d30f405c3ff0c0917da5f6bce6d03e8f3ba521b0a545517ef3af0d451f88bced5985b119e6fc60dd4c714b43cfec0742471b9eff97d5200605b44a0976783106"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/9f5fc2d9ce69a25bb762d051aaddfc3b4f22cc6a36ecd776c5ea582016226ae37c2210d9b40483a7d7b997c7a78319883f7215dc03419b49b978ebc592fb7df2.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/9f5fc2d9ce69a25bb762d051aaddfc3b4f22cc6a36ecd776c5ea582016226ae37c2210d9b40483a7d7b997c7a78319883f7215dc03419b49b978ebc592fb7df2.snapshot.json
new file mode 100644
index 0000000..3e27316
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/9f5fc2d9ce69a25bb762d051aaddfc3b4f22cc6a36ecd776c5ea582016226ae37c2210d9b40483a7d7b997c7a78319883f7215dc03419b49b978ebc592fb7df2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"442997801bc8613be35f2da13622ee110d2bb4ad2638e7ce327e218352bcd78a535294e6cabfa43628e27d419bdaf15b084fa3ca7da8faa2b5af6ca4f144f29f"},"length":1918,"version":3},"targets.json":{"hashes":{"sha512":"ceff5553a373f97d9ac2fef9162e04941461c308c55821918c6e7113cfdaddc4fb1f478ef16360cc92e0e7e37f7bc3a68a8483d6c40141e7c5c9a5eebddb1ae5"},"length":1009,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"bc8851b180b933f967c3bae4ff24f86c464cbfb470e6ef03594c5d6133987009ba329a10ef54d39226e09267dc55d81a1c66fd4fad23ccb03a052bcc81ffe002"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/bfb9550cac278a45a1b7d88fc177831c289227c310c30fb5638d0946ba6f09b6942576e6c950e8c864d5ad1300fd446fb9fb1c3e05e6facf1794abfc72039da4.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/bfb9550cac278a45a1b7d88fc177831c289227c310c30fb5638d0946ba6f09b6942576e6c950e8c864d5ad1300fd446fb9fb1c3e05e6facf1794abfc72039da4.targets.json
new file mode 100644
index 0000000..31d08bd
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/bfb9550cac278a45a1b7d88fc177831c289227c310c30fb5638d0946ba6f09b6942576e6c950e8c864d5ad1300fd446fb9fb1c3e05e6facf1794abfc72039da4.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"7b69960653d7dbacd867655f7802487d028430c4df53ca94a8eaa65cd4f84986532ab34ab6aa349f391dc03b0ef94c5af5bfc7ba3a428ddba581bd2c26dc9702"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84.root.json
new file mode 100644
index 0000000..ecba9d9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"},"scheme":"ed25519"},"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"1d4b8e3ba03158c64029e4f1d9e580905d1ed1a0c87242e09edd36ed6104ed8587b20bfe3a7669d040028149fe945818f150cff5ad302bdf6071e0bfb5ba5206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6.root.json
new file mode 100644
index 0000000..d6e3979
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"3901e5474c946f204ec6a239ad261a8ccab4949fc6178cef1d48eb01a040521d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e1cb1f371c8f7a31dd0b39309c5d02af11ffaa1a7c71778d2b885ce77757a5e3"},"scheme":"ed25519"},"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["3901e5474c946f204ec6a239ad261a8ccab4949fc6178cef1d48eb01a040521d"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"ba1c7544af8cdee5cb70eee5bf7871d20b34ef1c480854513e9590746ad2686db9bec7fc1259a0f5206e113dc4aab18fc251d173fa0b3cbfdb95ee92d5c5d50b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/ceff5553a373f97d9ac2fef9162e04941461c308c55821918c6e7113cfdaddc4fb1f478ef16360cc92e0e7e37f7bc3a68a8483d6c40141e7c5c9a5eebddb1ae5.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/ceff5553a373f97d9ac2fef9162e04941461c308c55821918c6e7113cfdaddc4fb1f478ef16360cc92e0e7e37f7bc3a68a8483d6c40141e7c5c9a5eebddb1ae5.targets.json
new file mode 100644
index 0000000..335291b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/ceff5553a373f97d9ac2fef9162e04941461c308c55821918c6e7113cfdaddc4fb1f478ef16360cc92e0e7e37f7bc3a68a8483d6c40141e7c5c9a5eebddb1ae5.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"0fc15d44da54f13a30631c2264ba0cbd4c0ad5efb9a2aa71451d7258f98cb5b3597f1165dce688a05f8001f7ec2a51eee6382835121e8176ffdafe4e38c0050e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/root.json
new file mode 100644
index 0000000..e3c13aa
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"d856ec7d531a2fb84e78b6030efff92ee2b152b7bc8708bbbd32de155e60469d"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"62f7995910e61d7e29f41fefaf1899c70591da779e163913ddcf3b212bf09890b25ff3f3f276b44c8a41393c9fb3dce484722a7811c7c2b8e17391c5cfd7cf06"},{"keyid":"d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385","sig":"c051c45a6a2359f8004dc1261e5a7029ced6270dc1812bd274d5bdfeae597eb3d902c666e3b434f18e7607005d1e6c1b88d1613cbcaef40b55224a75c1ba0701"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/snapshot.json
new file mode 100644
index 0000000..3e27316
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"442997801bc8613be35f2da13622ee110d2bb4ad2638e7ce327e218352bcd78a535294e6cabfa43628e27d419bdaf15b084fa3ca7da8faa2b5af6ca4f144f29f"},"length":1918,"version":3},"targets.json":{"hashes":{"sha512":"ceff5553a373f97d9ac2fef9162e04941461c308c55821918c6e7113cfdaddc4fb1f478ef16360cc92e0e7e37f7bc3a68a8483d6c40141e7c5c9a5eebddb1ae5"},"length":1009,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"bc8851b180b933f967c3bae4ff24f86c464cbfb470e6ef03594c5d6133987009ba329a10ef54d39226e09267dc55d81a1c66fd4fad23ccb03a052bcc81ffe002"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/targets.json
new file mode 100644
index 0000000..335291b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"0fc15d44da54f13a30631c2264ba0cbd4c0ad5efb9a2aa71451d7258f98cb5b3597f1165dce688a05f8001f7ec2a51eee6382835121e8176ffdafe4e38c0050e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/targets/0.0 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/targets/0.1 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/targets/0.2 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/targets/0.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/targets/0.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/targets/0.3 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/targets/0.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/targets/0.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/timestamp.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/timestamp.json
new file mode 100644
index 0000000..524cc70
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/3/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"9f5fc2d9ce69a25bb762d051aaddfc3b4f22cc6a36ecd776c5ea582016226ae37c2210d9b40483a7d7b997c7a78319883f7215dc03419b49b978ebc592fb7df2"},"length":720,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f","sig":"f854262772591560cfef11ac79bc03800c28ffa63a106e4d154182bc7ca838f6a4ea04a443ac812e71b0fadc107164b9fe54eec2f48e82534c67d920b835b40d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/keys/root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/keys/root.json
new file mode 100644
index 0000000..99e9b34
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/keys/root.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"d856ec7d531a2fb84e78b6030efff92ee2b152b7bc8708bbbd32de155e60469d","private":"5c5812258adcf9ba2b28605677759410d73d5ef047d2d3176d89af4c062952fdd856ec7d531a2fb84e78b6030efff92ee2b152b7bc8708bbbd32de155e60469d"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/keys/snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/keys/snapshot.json
new file mode 100644
index 0000000..10f3195
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/keys/snapshot.json
@@ -0,0 +1,27 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef",
+				"private": "56943269321253b65cbc2fb7a476ce165283fcb7fec69d977f131c96ec410ebe88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "80d4eba80ae98d790c974ffb9555fe5a830a8c9c48f532d25aa538c05528d8be",
+				"private": "9f0e1e30cf4bf70af9d0833abfb74c0049b1e9faf5806907031a1ab6e82ee1f480d4eba80ae98d790c974ffb9555fe5a830a8c9c48f532d25aa538c05528d8be"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/keys/targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/keys/targets.json
new file mode 100644
index 0000000..c24ecf5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c",
+				"private": "9f530290cb71059f1fee0147e88076caa53dceddfcde4b826d61dd2a8945ad712cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/keys/timestamp.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/keys/timestamp.json
new file mode 100644
index 0000000..dd1cc81
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64","private":"2393a13f038713a2d2ae7a80d0bdf5bd8e018e35967c3bdfd8ca8b115e47c01d4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/1.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/1.root.json
new file mode 100644
index 0000000..d6e3979
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"3901e5474c946f204ec6a239ad261a8ccab4949fc6178cef1d48eb01a040521d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e1cb1f371c8f7a31dd0b39309c5d02af11ffaa1a7c71778d2b885ce77757a5e3"},"scheme":"ed25519"},"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["3901e5474c946f204ec6a239ad261a8ccab4949fc6178cef1d48eb01a040521d"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"ba1c7544af8cdee5cb70eee5bf7871d20b34ef1c480854513e9590746ad2686db9bec7fc1259a0f5206e113dc4aab18fc251d173fa0b3cbfdb95ee92d5c5d50b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/1.snapshot.json
new file mode 100644
index 0000000..6785251
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6"},"length":1704,"version":1},"targets.json":{"hashes":{"sha512":"4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112"},"length":505,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"00f4cadd08a9c414b112594d5efebecff11dac46b0e68907da7837eebd46e4f929b068dc53785f54adfba503c55a298678f4ebb7ff10a76c05ada43019af7206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/1.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/1.targets.json
new file mode 100644
index 0000000..633e87f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"09f3b7faeb4098137fd7fb365f1396307a7d9240d0df527f7fb4a2861c2bc869611636897146e0d2ba2afd9df348f4b99fb19dbe1ff16ce652d9617b09533806"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/2.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/2.root.json
new file mode 100644
index 0000000..ecba9d9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"},"scheme":"ed25519"},"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"1d4b8e3ba03158c64029e4f1d9e580905d1ed1a0c87242e09edd36ed6104ed8587b20bfe3a7669d040028149fe945818f150cff5ad302bdf6071e0bfb5ba5206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/2.snapshot.json
new file mode 100644
index 0000000..1a64206
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"bfb9550cac278a45a1b7d88fc177831c289227c310c30fb5638d0946ba6f09b6942576e6c950e8c864d5ad1300fd446fb9fb1c3e05e6facf1794abfc72039da4"},"length":673,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"d30f405c3ff0c0917da5f6bce6d03e8f3ba521b0a545517ef3af0d451f88bced5985b119e6fc60dd4c714b43cfec0742471b9eff97d5200605b44a0976783106"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/2.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/2.targets.json
new file mode 100644
index 0000000..31d08bd
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/2.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"7b69960653d7dbacd867655f7802487d028430c4df53ca94a8eaa65cd4f84986532ab34ab6aa349f391dc03b0ef94c5af5bfc7ba3a428ddba581bd2c26dc9702"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/27b3a3586c86fdd05e941098c10f71419f531d94bac36a272b5b978877652e7994ec657333d2e3894a2c1f53263eec729c8595f492f67b3eaafcc47b75e746c8.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/27b3a3586c86fdd05e941098c10f71419f531d94bac36a272b5b978877652e7994ec657333d2e3894a2c1f53263eec729c8595f492f67b3eaafcc47b75e746c8.snapshot.json
new file mode 100644
index 0000000..6785251
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/27b3a3586c86fdd05e941098c10f71419f531d94bac36a272b5b978877652e7994ec657333d2e3894a2c1f53263eec729c8595f492f67b3eaafcc47b75e746c8.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6"},"length":1704,"version":1},"targets.json":{"hashes":{"sha512":"4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112"},"length":505,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"00f4cadd08a9c414b112594d5efebecff11dac46b0e68907da7837eebd46e4f929b068dc53785f54adfba503c55a298678f4ebb7ff10a76c05ada43019af7206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/2ac1085fa604d17ca1a04065046421498512666c260d8c22251ca78d43a12e41a0356683ecacd1d2f22c684964ba3c1b0d5735bc4541eb5c94feb3fadb6057ec.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/2ac1085fa604d17ca1a04065046421498512666c260d8c22251ca78d43a12e41a0356683ecacd1d2f22c684964ba3c1b0d5735bc4541eb5c94feb3fadb6057ec.snapshot.json
new file mode 100644
index 0000000..4b636e7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/2ac1085fa604d17ca1a04065046421498512666c260d8c22251ca78d43a12e41a0356683ecacd1d2f22c684964ba3c1b0d5735bc4541eb5c94feb3fadb6057ec.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"99ffcefa3fb33952e13acef9a46f1510a528eb3d5ffe99014fef5468d4131c1fbc113e2eda90b41daa119bb6b02e8c75da00550acdc3c1cdca3be78378b6af06"},"length":1704,"version":4},"targets.json":{"hashes":{"sha512":"4a306013447ca3eaf6f19d41eac1460b2d5d9fd3fcac6ae2abe5b290a8a90c394a4b6f9e0964feda539362ffe1ce5156f2d0b030a002e202a2dd0c6caa719287"},"length":1177,"version":5}},"spec_version":"1.0","version":5},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"734b2eaa0e79b828c30b6e98c64eeaf399f49be608f9043e185eca18436997ee09064aba26fb3a26906473a7fcbdb941056c369d7049db1cd1ace139e785700b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/3.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/3.root.json
new file mode 100644
index 0000000..e3c13aa
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/3.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"d856ec7d531a2fb84e78b6030efff92ee2b152b7bc8708bbbd32de155e60469d"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"62f7995910e61d7e29f41fefaf1899c70591da779e163913ddcf3b212bf09890b25ff3f3f276b44c8a41393c9fb3dce484722a7811c7c2b8e17391c5cfd7cf06"},{"keyid":"d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385","sig":"c051c45a6a2359f8004dc1261e5a7029ced6270dc1812bd274d5bdfeae597eb3d902c666e3b434f18e7607005d1e6c1b88d1613cbcaef40b55224a75c1ba0701"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/3.snapshot.json
new file mode 100644
index 0000000..c59a15c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"4660bb716c66653e60915e132972e9c60e000644c56d892f54303ccaf5392100d22a613e93c0acd196f230156d9278ce48cf4acc7b278e39d027bb77430a1474"},"length":841,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"1f8c0d14621c8ff42effa12de2e38cd5191cf54fdd6dcb9c748f96cb75c074f6412382f1e20ec066a7d7ed06181aec8938c0d3b2af54e5ec0381a42a53c39c02"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/3.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/3.targets.json
new file mode 100644
index 0000000..2980b4b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/3.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"e908928beca0a61f7f33fb99fb74227373b2f45983aeed065b8e14256818d911c55443e2782a02ce351af5e8aaf9eec149815aed84ced089bde66f358382060e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/4.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/4.root.json
new file mode 100644
index 0000000..5cb9301
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/4.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"d856ec7d531a2fb84e78b6030efff92ee2b152b7bc8708bbbd32de155e60469d"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f"],"threshold":1}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385","sig":"90d2d6f073ec43a3991a4fcc579e15d68cf5bc24059d2871c58fdcec05f17420bcc3fcec6e93010ffcf03852b3f33bc1567d3a986f0d726d0df910b44de9010d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/4.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/4.snapshot.json
new file mode 100644
index 0000000..3e27316
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/4.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"442997801bc8613be35f2da13622ee110d2bb4ad2638e7ce327e218352bcd78a535294e6cabfa43628e27d419bdaf15b084fa3ca7da8faa2b5af6ca4f144f29f"},"length":1918,"version":3},"targets.json":{"hashes":{"sha512":"ceff5553a373f97d9ac2fef9162e04941461c308c55821918c6e7113cfdaddc4fb1f478ef16360cc92e0e7e37f7bc3a68a8483d6c40141e7c5c9a5eebddb1ae5"},"length":1009,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"bc8851b180b933f967c3bae4ff24f86c464cbfb470e6ef03594c5d6133987009ba329a10ef54d39226e09267dc55d81a1c66fd4fad23ccb03a052bcc81ffe002"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/4.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/4.targets.json
new file mode 100644
index 0000000..335291b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/4.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"0fc15d44da54f13a30631c2264ba0cbd4c0ad5efb9a2aa71451d7258f98cb5b3597f1165dce688a05f8001f7ec2a51eee6382835121e8176ffdafe4e38c0050e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/442997801bc8613be35f2da13622ee110d2bb4ad2638e7ce327e218352bcd78a535294e6cabfa43628e27d419bdaf15b084fa3ca7da8faa2b5af6ca4f144f29f.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/442997801bc8613be35f2da13622ee110d2bb4ad2638e7ce327e218352bcd78a535294e6cabfa43628e27d419bdaf15b084fa3ca7da8faa2b5af6ca4f144f29f.root.json
new file mode 100644
index 0000000..e3c13aa
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/442997801bc8613be35f2da13622ee110d2bb4ad2638e7ce327e218352bcd78a535294e6cabfa43628e27d419bdaf15b084fa3ca7da8faa2b5af6ca4f144f29f.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"d856ec7d531a2fb84e78b6030efff92ee2b152b7bc8708bbbd32de155e60469d"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"62f7995910e61d7e29f41fefaf1899c70591da779e163913ddcf3b212bf09890b25ff3f3f276b44c8a41393c9fb3dce484722a7811c7c2b8e17391c5cfd7cf06"},{"keyid":"d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385","sig":"c051c45a6a2359f8004dc1261e5a7029ced6270dc1812bd274d5bdfeae597eb3d902c666e3b434f18e7607005d1e6c1b88d1613cbcaef40b55224a75c1ba0701"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/4660bb716c66653e60915e132972e9c60e000644c56d892f54303ccaf5392100d22a613e93c0acd196f230156d9278ce48cf4acc7b278e39d027bb77430a1474.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/4660bb716c66653e60915e132972e9c60e000644c56d892f54303ccaf5392100d22a613e93c0acd196f230156d9278ce48cf4acc7b278e39d027bb77430a1474.targets.json
new file mode 100644
index 0000000..2980b4b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/4660bb716c66653e60915e132972e9c60e000644c56d892f54303ccaf5392100d22a613e93c0acd196f230156d9278ce48cf4acc7b278e39d027bb77430a1474.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"e908928beca0a61f7f33fb99fb74227373b2f45983aeed065b8e14256818d911c55443e2782a02ce351af5e8aaf9eec149815aed84ced089bde66f358382060e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112.targets.json
new file mode 100644
index 0000000..633e87f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"09f3b7faeb4098137fd7fb365f1396307a7d9240d0df527f7fb4a2861c2bc869611636897146e0d2ba2afd9df348f4b99fb19dbe1ff16ce652d9617b09533806"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/4a306013447ca3eaf6f19d41eac1460b2d5d9fd3fcac6ae2abe5b290a8a90c394a4b6f9e0964feda539362ffe1ce5156f2d0b030a002e202a2dd0c6caa719287.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/4a306013447ca3eaf6f19d41eac1460b2d5d9fd3fcac6ae2abe5b290a8a90c394a4b6f9e0964feda539362ffe1ce5156f2d0b030a002e202a2dd0c6caa719287.targets.json
new file mode 100644
index 0000000..5d96aba
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/4a306013447ca3eaf6f19d41eac1460b2d5d9fd3fcac6ae2abe5b290a8a90c394a4b6f9e0964feda539362ffe1ce5156f2d0b030a002e202a2dd0c6caa719287.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"027fbebf542248744f81dfd2bcaf4a877d05bc5c0fff2aa49c8cd6fb35da9bc904064dc40155c488f6eb5cae31423a8525da85ab7a95bd37821bb95971b9c70f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/5.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/5.snapshot.json
new file mode 100644
index 0000000..4b636e7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/5.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"99ffcefa3fb33952e13acef9a46f1510a528eb3d5ffe99014fef5468d4131c1fbc113e2eda90b41daa119bb6b02e8c75da00550acdc3c1cdca3be78378b6af06"},"length":1704,"version":4},"targets.json":{"hashes":{"sha512":"4a306013447ca3eaf6f19d41eac1460b2d5d9fd3fcac6ae2abe5b290a8a90c394a4b6f9e0964feda539362ffe1ce5156f2d0b030a002e202a2dd0c6caa719287"},"length":1177,"version":5}},"spec_version":"1.0","version":5},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"734b2eaa0e79b828c30b6e98c64eeaf399f49be608f9043e185eca18436997ee09064aba26fb3a26906473a7fcbdb941056c369d7049db1cd1ace139e785700b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/5.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/5.targets.json
new file mode 100644
index 0000000..5d96aba
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/5.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"027fbebf542248744f81dfd2bcaf4a877d05bc5c0fff2aa49c8cd6fb35da9bc904064dc40155c488f6eb5cae31423a8525da85ab7a95bd37821bb95971b9c70f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/6020ba3baf522dfaf99d316154045d133909ba9dfd0462cba10858cbf9386f30cd931d23f2c1533a41b686439dda02b33ef63fae1e7fe4090933b4e31b2c8b2e.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/6020ba3baf522dfaf99d316154045d133909ba9dfd0462cba10858cbf9386f30cd931d23f2c1533a41b686439dda02b33ef63fae1e7fe4090933b4e31b2c8b2e.snapshot.json
new file mode 100644
index 0000000..c59a15c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/6020ba3baf522dfaf99d316154045d133909ba9dfd0462cba10858cbf9386f30cd931d23f2c1533a41b686439dda02b33ef63fae1e7fe4090933b4e31b2c8b2e.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"4660bb716c66653e60915e132972e9c60e000644c56d892f54303ccaf5392100d22a613e93c0acd196f230156d9278ce48cf4acc7b278e39d027bb77430a1474"},"length":841,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"1f8c0d14621c8ff42effa12de2e38cd5191cf54fdd6dcb9c748f96cb75c074f6412382f1e20ec066a7d7ed06181aec8938c0d3b2af54e5ec0381a42a53c39c02"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/7ff09cead126fb7f2c923ef024074c51b626e2d3dfce31159312186d3c10c838faac51cae57c95e1032ede047800450eff71a0a8d3b45167640ebbe45cad4dcd.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/7ff09cead126fb7f2c923ef024074c51b626e2d3dfce31159312186d3c10c838faac51cae57c95e1032ede047800450eff71a0a8d3b45167640ebbe45cad4dcd.snapshot.json
new file mode 100644
index 0000000..1a64206
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/7ff09cead126fb7f2c923ef024074c51b626e2d3dfce31159312186d3c10c838faac51cae57c95e1032ede047800450eff71a0a8d3b45167640ebbe45cad4dcd.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"bfb9550cac278a45a1b7d88fc177831c289227c310c30fb5638d0946ba6f09b6942576e6c950e8c864d5ad1300fd446fb9fb1c3e05e6facf1794abfc72039da4"},"length":673,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"d30f405c3ff0c0917da5f6bce6d03e8f3ba521b0a545517ef3af0d451f88bced5985b119e6fc60dd4c714b43cfec0742471b9eff97d5200605b44a0976783106"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/99ffcefa3fb33952e13acef9a46f1510a528eb3d5ffe99014fef5468d4131c1fbc113e2eda90b41daa119bb6b02e8c75da00550acdc3c1cdca3be78378b6af06.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/99ffcefa3fb33952e13acef9a46f1510a528eb3d5ffe99014fef5468d4131c1fbc113e2eda90b41daa119bb6b02e8c75da00550acdc3c1cdca3be78378b6af06.root.json
new file mode 100644
index 0000000..5cb9301
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/99ffcefa3fb33952e13acef9a46f1510a528eb3d5ffe99014fef5468d4131c1fbc113e2eda90b41daa119bb6b02e8c75da00550acdc3c1cdca3be78378b6af06.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"d856ec7d531a2fb84e78b6030efff92ee2b152b7bc8708bbbd32de155e60469d"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f"],"threshold":1}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385","sig":"90d2d6f073ec43a3991a4fcc579e15d68cf5bc24059d2871c58fdcec05f17420bcc3fcec6e93010ffcf03852b3f33bc1567d3a986f0d726d0df910b44de9010d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/9f5fc2d9ce69a25bb762d051aaddfc3b4f22cc6a36ecd776c5ea582016226ae37c2210d9b40483a7d7b997c7a78319883f7215dc03419b49b978ebc592fb7df2.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/9f5fc2d9ce69a25bb762d051aaddfc3b4f22cc6a36ecd776c5ea582016226ae37c2210d9b40483a7d7b997c7a78319883f7215dc03419b49b978ebc592fb7df2.snapshot.json
new file mode 100644
index 0000000..3e27316
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/9f5fc2d9ce69a25bb762d051aaddfc3b4f22cc6a36ecd776c5ea582016226ae37c2210d9b40483a7d7b997c7a78319883f7215dc03419b49b978ebc592fb7df2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"442997801bc8613be35f2da13622ee110d2bb4ad2638e7ce327e218352bcd78a535294e6cabfa43628e27d419bdaf15b084fa3ca7da8faa2b5af6ca4f144f29f"},"length":1918,"version":3},"targets.json":{"hashes":{"sha512":"ceff5553a373f97d9ac2fef9162e04941461c308c55821918c6e7113cfdaddc4fb1f478ef16360cc92e0e7e37f7bc3a68a8483d6c40141e7c5c9a5eebddb1ae5"},"length":1009,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"bc8851b180b933f967c3bae4ff24f86c464cbfb470e6ef03594c5d6133987009ba329a10ef54d39226e09267dc55d81a1c66fd4fad23ccb03a052bcc81ffe002"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/bfb9550cac278a45a1b7d88fc177831c289227c310c30fb5638d0946ba6f09b6942576e6c950e8c864d5ad1300fd446fb9fb1c3e05e6facf1794abfc72039da4.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/bfb9550cac278a45a1b7d88fc177831c289227c310c30fb5638d0946ba6f09b6942576e6c950e8c864d5ad1300fd446fb9fb1c3e05e6facf1794abfc72039da4.targets.json
new file mode 100644
index 0000000..31d08bd
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/bfb9550cac278a45a1b7d88fc177831c289227c310c30fb5638d0946ba6f09b6942576e6c950e8c864d5ad1300fd446fb9fb1c3e05e6facf1794abfc72039da4.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"7b69960653d7dbacd867655f7802487d028430c4df53ca94a8eaa65cd4f84986532ab34ab6aa349f391dc03b0ef94c5af5bfc7ba3a428ddba581bd2c26dc9702"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84.root.json
new file mode 100644
index 0000000..ecba9d9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"},"scheme":"ed25519"},"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"1d4b8e3ba03158c64029e4f1d9e580905d1ed1a0c87242e09edd36ed6104ed8587b20bfe3a7669d040028149fe945818f150cff5ad302bdf6071e0bfb5ba5206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6.root.json
new file mode 100644
index 0000000..d6e3979
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"3901e5474c946f204ec6a239ad261a8ccab4949fc6178cef1d48eb01a040521d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e1cb1f371c8f7a31dd0b39309c5d02af11ffaa1a7c71778d2b885ce77757a5e3"},"scheme":"ed25519"},"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["3901e5474c946f204ec6a239ad261a8ccab4949fc6178cef1d48eb01a040521d"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"ba1c7544af8cdee5cb70eee5bf7871d20b34ef1c480854513e9590746ad2686db9bec7fc1259a0f5206e113dc4aab18fc251d173fa0b3cbfdb95ee92d5c5d50b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/ceff5553a373f97d9ac2fef9162e04941461c308c55821918c6e7113cfdaddc4fb1f478ef16360cc92e0e7e37f7bc3a68a8483d6c40141e7c5c9a5eebddb1ae5.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/ceff5553a373f97d9ac2fef9162e04941461c308c55821918c6e7113cfdaddc4fb1f478ef16360cc92e0e7e37f7bc3a68a8483d6c40141e7c5c9a5eebddb1ae5.targets.json
new file mode 100644
index 0000000..335291b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/ceff5553a373f97d9ac2fef9162e04941461c308c55821918c6e7113cfdaddc4fb1f478ef16360cc92e0e7e37f7bc3a68a8483d6c40141e7c5c9a5eebddb1ae5.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"0fc15d44da54f13a30631c2264ba0cbd4c0ad5efb9a2aa71451d7258f98cb5b3597f1165dce688a05f8001f7ec2a51eee6382835121e8176ffdafe4e38c0050e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/root.json
new file mode 100644
index 0000000..5cb9301
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"d856ec7d531a2fb84e78b6030efff92ee2b152b7bc8708bbbd32de155e60469d"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f"],"threshold":1}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385","sig":"90d2d6f073ec43a3991a4fcc579e15d68cf5bc24059d2871c58fdcec05f17420bcc3fcec6e93010ffcf03852b3f33bc1567d3a986f0d726d0df910b44de9010d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/snapshot.json
new file mode 100644
index 0000000..4b636e7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"99ffcefa3fb33952e13acef9a46f1510a528eb3d5ffe99014fef5468d4131c1fbc113e2eda90b41daa119bb6b02e8c75da00550acdc3c1cdca3be78378b6af06"},"length":1704,"version":4},"targets.json":{"hashes":{"sha512":"4a306013447ca3eaf6f19d41eac1460b2d5d9fd3fcac6ae2abe5b290a8a90c394a4b6f9e0964feda539362ffe1ce5156f2d0b030a002e202a2dd0c6caa719287"},"length":1177,"version":5}},"spec_version":"1.0","version":5},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"734b2eaa0e79b828c30b6e98c64eeaf399f49be608f9043e185eca18436997ee09064aba26fb3a26906473a7fcbdb941056c369d7049db1cd1ace139e785700b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets.json
new file mode 100644
index 0000000..5d96aba
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"027fbebf542248744f81dfd2bcaf4a877d05bc5c0fff2aa49c8cd6fb35da9bc904064dc40155c488f6eb5cae31423a8525da85ab7a95bd37821bb95971b9c70f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/0.0 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/0.1 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/0.2 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/0.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/0.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/0.3 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/0.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/0.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/0.4 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/0.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/0.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/timestamp.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/timestamp.json
new file mode 100644
index 0000000..59f2e6f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/4/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"2ac1085fa604d17ca1a04065046421498512666c260d8c22251ca78d43a12e41a0356683ecacd1d2f22c684964ba3c1b0d5735bc4541eb5c94feb3fadb6057ec"},"length":720,"version":5}},"spec_version":"1.0","version":5},"signatures":[{"keyid":"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f","sig":"950f2e4c37186176ce3d17214109f1da302f143c9732ce48cf4760f97403dc8f5b2fe41b6fc729a928ddc911c3fd52794f61f73b54c9722787a613a8dfe8ff01"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/keys/root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/keys/root.json
new file mode 100644
index 0000000..99e9b34
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/keys/root.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"d856ec7d531a2fb84e78b6030efff92ee2b152b7bc8708bbbd32de155e60469d","private":"5c5812258adcf9ba2b28605677759410d73d5ef047d2d3176d89af4c062952fdd856ec7d531a2fb84e78b6030efff92ee2b152b7bc8708bbbd32de155e60469d"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/keys/snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/keys/snapshot.json
new file mode 100644
index 0000000..10f3195
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/keys/snapshot.json
@@ -0,0 +1,27 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef",
+				"private": "56943269321253b65cbc2fb7a476ce165283fcb7fec69d977f131c96ec410ebe88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"
+			}
+		},
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "80d4eba80ae98d790c974ffb9555fe5a830a8c9c48f532d25aa538c05528d8be",
+				"private": "9f0e1e30cf4bf70af9d0833abfb74c0049b1e9faf5806907031a1ab6e82ee1f480d4eba80ae98d790c974ffb9555fe5a830a8c9c48f532d25aa538c05528d8be"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/keys/targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/keys/targets.json
new file mode 100644
index 0000000..c24ecf5
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/keys/targets.json
@@ -0,0 +1,16 @@
+{
+	"encrypted": false,
+	"data": [
+		{
+			"keytype": "ed25519",
+			"scheme": "ed25519",
+			"keyid_hash_algorithms": [
+				"sha512"
+			],
+			"keyval": {
+				"public": "2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c",
+				"private": "9f530290cb71059f1fee0147e88076caa53dceddfcde4b826d61dd2a8945ad712cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"
+			}
+		}
+	]
+}
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/keys/timestamp.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/keys/timestamp.json
new file mode 100644
index 0000000..dd1cc81
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/keys/timestamp.json
@@ -0,0 +1 @@
+{"encrypted":false,"data":[{"keytype":"ed25519","scheme":"ed25519","keyid_hash_algorithms":["sha512"],"keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64","private":"2393a13f038713a2d2ae7a80d0bdf5bd8e018e35967c3bdfd8ca8b115e47c01d4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"}}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/1.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/1.root.json
new file mode 100644
index 0000000..d6e3979
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/1.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"3901e5474c946f204ec6a239ad261a8ccab4949fc6178cef1d48eb01a040521d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e1cb1f371c8f7a31dd0b39309c5d02af11ffaa1a7c71778d2b885ce77757a5e3"},"scheme":"ed25519"},"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["3901e5474c946f204ec6a239ad261a8ccab4949fc6178cef1d48eb01a040521d"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"ba1c7544af8cdee5cb70eee5bf7871d20b34ef1c480854513e9590746ad2686db9bec7fc1259a0f5206e113dc4aab18fc251d173fa0b3cbfdb95ee92d5c5d50b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/1.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/1.snapshot.json
new file mode 100644
index 0000000..6785251
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/1.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6"},"length":1704,"version":1},"targets.json":{"hashes":{"sha512":"4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112"},"length":505,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"00f4cadd08a9c414b112594d5efebecff11dac46b0e68907da7837eebd46e4f929b068dc53785f54adfba503c55a298678f4ebb7ff10a76c05ada43019af7206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/1.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/1.targets.json
new file mode 100644
index 0000000..633e87f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/1.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"09f3b7faeb4098137fd7fb365f1396307a7d9240d0df527f7fb4a2861c2bc869611636897146e0d2ba2afd9df348f4b99fb19dbe1ff16ce652d9617b09533806"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/2.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/2.root.json
new file mode 100644
index 0000000..ecba9d9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/2.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"},"scheme":"ed25519"},"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"1d4b8e3ba03158c64029e4f1d9e580905d1ed1a0c87242e09edd36ed6104ed8587b20bfe3a7669d040028149fe945818f150cff5ad302bdf6071e0bfb5ba5206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/2.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/2.snapshot.json
new file mode 100644
index 0000000..1a64206
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"bfb9550cac278a45a1b7d88fc177831c289227c310c30fb5638d0946ba6f09b6942576e6c950e8c864d5ad1300fd446fb9fb1c3e05e6facf1794abfc72039da4"},"length":673,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"d30f405c3ff0c0917da5f6bce6d03e8f3ba521b0a545517ef3af0d451f88bced5985b119e6fc60dd4c714b43cfec0742471b9eff97d5200605b44a0976783106"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/2.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/2.targets.json
new file mode 100644
index 0000000..31d08bd
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/2.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"7b69960653d7dbacd867655f7802487d028430c4df53ca94a8eaa65cd4f84986532ab34ab6aa349f391dc03b0ef94c5af5bfc7ba3a428ddba581bd2c26dc9702"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/27b3a3586c86fdd05e941098c10f71419f531d94bac36a272b5b978877652e7994ec657333d2e3894a2c1f53263eec729c8595f492f67b3eaafcc47b75e746c8.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/27b3a3586c86fdd05e941098c10f71419f531d94bac36a272b5b978877652e7994ec657333d2e3894a2c1f53263eec729c8595f492f67b3eaafcc47b75e746c8.snapshot.json
new file mode 100644
index 0000000..6785251
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/27b3a3586c86fdd05e941098c10f71419f531d94bac36a272b5b978877652e7994ec657333d2e3894a2c1f53263eec729c8595f492f67b3eaafcc47b75e746c8.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6"},"length":1704,"version":1},"targets.json":{"hashes":{"sha512":"4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112"},"length":505,"version":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"00f4cadd08a9c414b112594d5efebecff11dac46b0e68907da7837eebd46e4f929b068dc53785f54adfba503c55a298678f4ebb7ff10a76c05ada43019af7206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/2ac1085fa604d17ca1a04065046421498512666c260d8c22251ca78d43a12e41a0356683ecacd1d2f22c684964ba3c1b0d5735bc4541eb5c94feb3fadb6057ec.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/2ac1085fa604d17ca1a04065046421498512666c260d8c22251ca78d43a12e41a0356683ecacd1d2f22c684964ba3c1b0d5735bc4541eb5c94feb3fadb6057ec.snapshot.json
new file mode 100644
index 0000000..4b636e7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/2ac1085fa604d17ca1a04065046421498512666c260d8c22251ca78d43a12e41a0356683ecacd1d2f22c684964ba3c1b0d5735bc4541eb5c94feb3fadb6057ec.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"99ffcefa3fb33952e13acef9a46f1510a528eb3d5ffe99014fef5468d4131c1fbc113e2eda90b41daa119bb6b02e8c75da00550acdc3c1cdca3be78378b6af06"},"length":1704,"version":4},"targets.json":{"hashes":{"sha512":"4a306013447ca3eaf6f19d41eac1460b2d5d9fd3fcac6ae2abe5b290a8a90c394a4b6f9e0964feda539362ffe1ce5156f2d0b030a002e202a2dd0c6caa719287"},"length":1177,"version":5}},"spec_version":"1.0","version":5},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"734b2eaa0e79b828c30b6e98c64eeaf399f49be608f9043e185eca18436997ee09064aba26fb3a26906473a7fcbdb941056c369d7049db1cd1ace139e785700b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/3.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/3.root.json
new file mode 100644
index 0000000..e3c13aa
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/3.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"d856ec7d531a2fb84e78b6030efff92ee2b152b7bc8708bbbd32de155e60469d"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"62f7995910e61d7e29f41fefaf1899c70591da779e163913ddcf3b212bf09890b25ff3f3f276b44c8a41393c9fb3dce484722a7811c7c2b8e17391c5cfd7cf06"},{"keyid":"d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385","sig":"c051c45a6a2359f8004dc1261e5a7029ced6270dc1812bd274d5bdfeae597eb3d902c666e3b434f18e7607005d1e6c1b88d1613cbcaef40b55224a75c1ba0701"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/3.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/3.snapshot.json
new file mode 100644
index 0000000..c59a15c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/3.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"4660bb716c66653e60915e132972e9c60e000644c56d892f54303ccaf5392100d22a613e93c0acd196f230156d9278ce48cf4acc7b278e39d027bb77430a1474"},"length":841,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"1f8c0d14621c8ff42effa12de2e38cd5191cf54fdd6dcb9c748f96cb75c074f6412382f1e20ec066a7d7ed06181aec8938c0d3b2af54e5ec0381a42a53c39c02"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/3.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/3.targets.json
new file mode 100644
index 0000000..2980b4b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/3.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"e908928beca0a61f7f33fb99fb74227373b2f45983aeed065b8e14256818d911c55443e2782a02ce351af5e8aaf9eec149815aed84ced089bde66f358382060e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/4.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/4.root.json
new file mode 100644
index 0000000..5cb9301
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/4.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"d856ec7d531a2fb84e78b6030efff92ee2b152b7bc8708bbbd32de155e60469d"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f"],"threshold":1}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385","sig":"90d2d6f073ec43a3991a4fcc579e15d68cf5bc24059d2871c58fdcec05f17420bcc3fcec6e93010ffcf03852b3f33bc1567d3a986f0d726d0df910b44de9010d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/4.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/4.snapshot.json
new file mode 100644
index 0000000..3e27316
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/4.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"442997801bc8613be35f2da13622ee110d2bb4ad2638e7ce327e218352bcd78a535294e6cabfa43628e27d419bdaf15b084fa3ca7da8faa2b5af6ca4f144f29f"},"length":1918,"version":3},"targets.json":{"hashes":{"sha512":"ceff5553a373f97d9ac2fef9162e04941461c308c55821918c6e7113cfdaddc4fb1f478ef16360cc92e0e7e37f7bc3a68a8483d6c40141e7c5c9a5eebddb1ae5"},"length":1009,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"bc8851b180b933f967c3bae4ff24f86c464cbfb470e6ef03594c5d6133987009ba329a10ef54d39226e09267dc55d81a1c66fd4fad23ccb03a052bcc81ffe002"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/4.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/4.targets.json
new file mode 100644
index 0000000..335291b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/4.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"0fc15d44da54f13a30631c2264ba0cbd4c0ad5efb9a2aa71451d7258f98cb5b3597f1165dce688a05f8001f7ec2a51eee6382835121e8176ffdafe4e38c0050e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/442997801bc8613be35f2da13622ee110d2bb4ad2638e7ce327e218352bcd78a535294e6cabfa43628e27d419bdaf15b084fa3ca7da8faa2b5af6ca4f144f29f.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/442997801bc8613be35f2da13622ee110d2bb4ad2638e7ce327e218352bcd78a535294e6cabfa43628e27d419bdaf15b084fa3ca7da8faa2b5af6ca4f144f29f.root.json
new file mode 100644
index 0000000..e3c13aa
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/442997801bc8613be35f2da13622ee110d2bb4ad2638e7ce327e218352bcd78a535294e6cabfa43628e27d419bdaf15b084fa3ca7da8faa2b5af6ca4f144f29f.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"d856ec7d531a2fb84e78b6030efff92ee2b152b7bc8708bbbd32de155e60469d"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f"],"threshold":1}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"62f7995910e61d7e29f41fefaf1899c70591da779e163913ddcf3b212bf09890b25ff3f3f276b44c8a41393c9fb3dce484722a7811c7c2b8e17391c5cfd7cf06"},{"keyid":"d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385","sig":"c051c45a6a2359f8004dc1261e5a7029ced6270dc1812bd274d5bdfeae597eb3d902c666e3b434f18e7607005d1e6c1b88d1613cbcaef40b55224a75c1ba0701"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/4660bb716c66653e60915e132972e9c60e000644c56d892f54303ccaf5392100d22a613e93c0acd196f230156d9278ce48cf4acc7b278e39d027bb77430a1474.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/4660bb716c66653e60915e132972e9c60e000644c56d892f54303ccaf5392100d22a613e93c0acd196f230156d9278ce48cf4acc7b278e39d027bb77430a1474.targets.json
new file mode 100644
index 0000000..2980b4b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/4660bb716c66653e60915e132972e9c60e000644c56d892f54303ccaf5392100d22a613e93c0acd196f230156d9278ce48cf4acc7b278e39d027bb77430a1474.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"e908928beca0a61f7f33fb99fb74227373b2f45983aeed065b8e14256818d911c55443e2782a02ce351af5e8aaf9eec149815aed84ced089bde66f358382060e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112.targets.json
new file mode 100644
index 0000000..633e87f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/4a09a98bfafccc0de35d0d4f683c817ee1d410b1432200cbfa8f6ec844d1ff00f183d27b4e4588f7239604a079ff0f4711fba15cceb02e69e1d928024462e112.targets.json
@@ -0,0 +1 @@
+{"signed":{"_type":"targets","expires":"2100-01-01T00:00:00Z","spec_version":"1.0","targets":{"0":{"hashes":{"sha512":"31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99"},"length":1}},"version":1},"signatures":[{"keyid":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"09f3b7faeb4098137fd7fb365f1396307a7d9240d0df527f7fb4a2861c2bc869611636897146e0d2ba2afd9df348f4b99fb19dbe1ff16ce652d9617b09533806"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/4a306013447ca3eaf6f19d41eac1460b2d5d9fd3fcac6ae2abe5b290a8a90c394a4b6f9e0964feda539362ffe1ce5156f2d0b030a002e202a2dd0c6caa719287.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/4a306013447ca3eaf6f19d41eac1460b2d5d9fd3fcac6ae2abe5b290a8a90c394a4b6f9e0964feda539362ffe1ce5156f2d0b030a002e202a2dd0c6caa719287.targets.json
new file mode 100644
index 0000000..5d96aba
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/4a306013447ca3eaf6f19d41eac1460b2d5d9fd3fcac6ae2abe5b290a8a90c394a4b6f9e0964feda539362ffe1ce5156f2d0b030a002e202a2dd0c6caa719287.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"027fbebf542248744f81dfd2bcaf4a877d05bc5c0fff2aa49c8cd6fb35da9bc904064dc40155c488f6eb5cae31423a8525da85ab7a95bd37821bb95971b9c70f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/4a850c2a7175cd105d2e1d843a3967a9d1c5ab440a076f7161476ec2e379766f8776c0f23905b8f60a60e6d682ee0f1629ac7501009002217852dac6694b3c01.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/4a850c2a7175cd105d2e1d843a3967a9d1c5ab440a076f7161476ec2e379766f8776c0f23905b8f60a60e6d682ee0f1629ac7501009002217852dac6694b3c01.targets.json
new file mode 100644
index 0000000..3890620
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/4a850c2a7175cd105d2e1d843a3967a9d1c5ab440a076f7161476ec2e379766f8776c0f23905b8f60a60e6d682ee0f1629ac7501009002217852dac6694b3c01.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"914e88e5d3b1019e84733746e3b4afa2a010468cf241bc106066b50ddf898ab3fd2411a3514e9bc651d18b4216f92b104e35c4dbdc988201bfaa398767e37809"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/5.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/5.snapshot.json
new file mode 100644
index 0000000..4b636e7
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/5.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"99ffcefa3fb33952e13acef9a46f1510a528eb3d5ffe99014fef5468d4131c1fbc113e2eda90b41daa119bb6b02e8c75da00550acdc3c1cdca3be78378b6af06"},"length":1704,"version":4},"targets.json":{"hashes":{"sha512":"4a306013447ca3eaf6f19d41eac1460b2d5d9fd3fcac6ae2abe5b290a8a90c394a4b6f9e0964feda539362ffe1ce5156f2d0b030a002e202a2dd0c6caa719287"},"length":1177,"version":5}},"spec_version":"1.0","version":5},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"734b2eaa0e79b828c30b6e98c64eeaf399f49be608f9043e185eca18436997ee09064aba26fb3a26906473a7fcbdb941056c369d7049db1cd1ace139e785700b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/5.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/5.targets.json
new file mode 100644
index 0000000..5d96aba
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/5.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"027fbebf542248744f81dfd2bcaf4a877d05bc5c0fff2aa49c8cd6fb35da9bc904064dc40155c488f6eb5cae31423a8525da85ab7a95bd37821bb95971b9c70f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/6.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/6.snapshot.json
new file mode 100644
index 0000000..71f77ed
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/6.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"99ffcefa3fb33952e13acef9a46f1510a528eb3d5ffe99014fef5468d4131c1fbc113e2eda90b41daa119bb6b02e8c75da00550acdc3c1cdca3be78378b6af06"},"length":1704,"version":4},"targets.json":{"hashes":{"sha512":"4a850c2a7175cd105d2e1d843a3967a9d1c5ab440a076f7161476ec2e379766f8776c0f23905b8f60a60e6d682ee0f1629ac7501009002217852dac6694b3c01"},"length":1345,"version":6}},"spec_version":"1.0","version":6},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"9236e498a249d0ffa177b25122460d16be9337346d9e8f853ff01cc9bd1f1caae821c6276182232b40d68bde59958f62fdb85a76c8033ea29af099c299f11f0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/6.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/6.targets.json
new file mode 100644
index 0000000..3890620
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/6.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"914e88e5d3b1019e84733746e3b4afa2a010468cf241bc106066b50ddf898ab3fd2411a3514e9bc651d18b4216f92b104e35c4dbdc988201bfaa398767e37809"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/6020ba3baf522dfaf99d316154045d133909ba9dfd0462cba10858cbf9386f30cd931d23f2c1533a41b686439dda02b33ef63fae1e7fe4090933b4e31b2c8b2e.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/6020ba3baf522dfaf99d316154045d133909ba9dfd0462cba10858cbf9386f30cd931d23f2c1533a41b686439dda02b33ef63fae1e7fe4090933b4e31b2c8b2e.snapshot.json
new file mode 100644
index 0000000..c59a15c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/6020ba3baf522dfaf99d316154045d133909ba9dfd0462cba10858cbf9386f30cd931d23f2c1533a41b686439dda02b33ef63fae1e7fe4090933b4e31b2c8b2e.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"4660bb716c66653e60915e132972e9c60e000644c56d892f54303ccaf5392100d22a613e93c0acd196f230156d9278ce48cf4acc7b278e39d027bb77430a1474"},"length":841,"version":3}},"spec_version":"1.0","version":3},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"1f8c0d14621c8ff42effa12de2e38cd5191cf54fdd6dcb9c748f96cb75c074f6412382f1e20ec066a7d7ed06181aec8938c0d3b2af54e5ec0381a42a53c39c02"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/7ff09cead126fb7f2c923ef024074c51b626e2d3dfce31159312186d3c10c838faac51cae57c95e1032ede047800450eff71a0a8d3b45167640ebbe45cad4dcd.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/7ff09cead126fb7f2c923ef024074c51b626e2d3dfce31159312186d3c10c838faac51cae57c95e1032ede047800450eff71a0a8d3b45167640ebbe45cad4dcd.snapshot.json
new file mode 100644
index 0000000..1a64206
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/7ff09cead126fb7f2c923ef024074c51b626e2d3dfce31159312186d3c10c838faac51cae57c95e1032ede047800450eff71a0a8d3b45167640ebbe45cad4dcd.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84"},"length":1704,"version":2},"targets.json":{"hashes":{"sha512":"bfb9550cac278a45a1b7d88fc177831c289227c310c30fb5638d0946ba6f09b6942576e6c950e8c864d5ad1300fd446fb9fb1c3e05e6facf1794abfc72039da4"},"length":673,"version":2}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"d30f405c3ff0c0917da5f6bce6d03e8f3ba521b0a545517ef3af0d451f88bced5985b119e6fc60dd4c714b43cfec0742471b9eff97d5200605b44a0976783106"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/99f0f824e31c7909cd8cc5a9ad94706248594eb06d26aed9cb26226f6cfa956cbb04b0a1557bed3853392a887a7435ce8463406a0a01e0bc3ac3d498898f3148.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/99f0f824e31c7909cd8cc5a9ad94706248594eb06d26aed9cb26226f6cfa956cbb04b0a1557bed3853392a887a7435ce8463406a0a01e0bc3ac3d498898f3148.snapshot.json
new file mode 100644
index 0000000..71f77ed
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/99f0f824e31c7909cd8cc5a9ad94706248594eb06d26aed9cb26226f6cfa956cbb04b0a1557bed3853392a887a7435ce8463406a0a01e0bc3ac3d498898f3148.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"99ffcefa3fb33952e13acef9a46f1510a528eb3d5ffe99014fef5468d4131c1fbc113e2eda90b41daa119bb6b02e8c75da00550acdc3c1cdca3be78378b6af06"},"length":1704,"version":4},"targets.json":{"hashes":{"sha512":"4a850c2a7175cd105d2e1d843a3967a9d1c5ab440a076f7161476ec2e379766f8776c0f23905b8f60a60e6d682ee0f1629ac7501009002217852dac6694b3c01"},"length":1345,"version":6}},"spec_version":"1.0","version":6},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"9236e498a249d0ffa177b25122460d16be9337346d9e8f853ff01cc9bd1f1caae821c6276182232b40d68bde59958f62fdb85a76c8033ea29af099c299f11f0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/99ffcefa3fb33952e13acef9a46f1510a528eb3d5ffe99014fef5468d4131c1fbc113e2eda90b41daa119bb6b02e8c75da00550acdc3c1cdca3be78378b6af06.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/99ffcefa3fb33952e13acef9a46f1510a528eb3d5ffe99014fef5468d4131c1fbc113e2eda90b41daa119bb6b02e8c75da00550acdc3c1cdca3be78378b6af06.root.json
new file mode 100644
index 0000000..5cb9301
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/99ffcefa3fb33952e13acef9a46f1510a528eb3d5ffe99014fef5468d4131c1fbc113e2eda90b41daa119bb6b02e8c75da00550acdc3c1cdca3be78378b6af06.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"d856ec7d531a2fb84e78b6030efff92ee2b152b7bc8708bbbd32de155e60469d"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f"],"threshold":1}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385","sig":"90d2d6f073ec43a3991a4fcc579e15d68cf5bc24059d2871c58fdcec05f17420bcc3fcec6e93010ffcf03852b3f33bc1567d3a986f0d726d0df910b44de9010d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/9f5fc2d9ce69a25bb762d051aaddfc3b4f22cc6a36ecd776c5ea582016226ae37c2210d9b40483a7d7b997c7a78319883f7215dc03419b49b978ebc592fb7df2.snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/9f5fc2d9ce69a25bb762d051aaddfc3b4f22cc6a36ecd776c5ea582016226ae37c2210d9b40483a7d7b997c7a78319883f7215dc03419b49b978ebc592fb7df2.snapshot.json
new file mode 100644
index 0000000..3e27316
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/9f5fc2d9ce69a25bb762d051aaddfc3b4f22cc6a36ecd776c5ea582016226ae37c2210d9b40483a7d7b997c7a78319883f7215dc03419b49b978ebc592fb7df2.snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"442997801bc8613be35f2da13622ee110d2bb4ad2638e7ce327e218352bcd78a535294e6cabfa43628e27d419bdaf15b084fa3ca7da8faa2b5af6ca4f144f29f"},"length":1918,"version":3},"targets.json":{"hashes":{"sha512":"ceff5553a373f97d9ac2fef9162e04941461c308c55821918c6e7113cfdaddc4fb1f478ef16360cc92e0e7e37f7bc3a68a8483d6c40141e7c5c9a5eebddb1ae5"},"length":1009,"version":4}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"bc8851b180b933f967c3bae4ff24f86c464cbfb470e6ef03594c5d6133987009ba329a10ef54d39226e09267dc55d81a1c66fd4fad23ccb03a052bcc81ffe002"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/bfb9550cac278a45a1b7d88fc177831c289227c310c30fb5638d0946ba6f09b6942576e6c950e8c864d5ad1300fd446fb9fb1c3e05e6facf1794abfc72039da4.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/bfb9550cac278a45a1b7d88fc177831c289227c310c30fb5638d0946ba6f09b6942576e6c950e8c864d5ad1300fd446fb9fb1c3e05e6facf1794abfc72039da4.targets.json
new file mode 100644
index 0000000..31d08bd
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/bfb9550cac278a45a1b7d88fc177831c289227c310c30fb5638d0946ba6f09b6942576e6c950e8c864d5ad1300fd446fb9fb1c3e05e6facf1794abfc72039da4.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"7b69960653d7dbacd867655f7802487d028430c4df53ca94a8eaa65cd4f84986532ab34ab6aa349f391dc03b0ef94c5af5bfc7ba3a428ddba581bd2c26dc9702"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84.root.json
new file mode 100644
index 0000000..ecba9d9
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/bfe96f67a4f04ee6466f17912d1011a88a8c3a27b24b9ad62121af5a3222cdbb09a8f9d82446498b4a13603d3b305e7278d51a59470422a4de361e375db8df84.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"},"scheme":"ed25519"},"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f"],"threshold":1}},"spec_version":"1.0","version":2},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"1d4b8e3ba03158c64029e4f1d9e580905d1ed1a0c87242e09edd36ed6104ed8587b20bfe3a7669d040028149fe945818f150cff5ad302bdf6071e0bfb5ba5206"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6.root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6.root.json
new file mode 100644
index 0000000..d6e3979
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/c30accb049704fa7b471e4c5869648158f3395b368898c8fa91c56c9e8838d9ffbb810e01cf648a04408a3fffa32125d4f0a16b3326e8c7bc86e6f1fbd5136a6.root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"3901e5474c946f204ec6a239ad261a8ccab4949fc6178cef1d48eb01a040521d":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e1cb1f371c8f7a31dd0b39309c5d02af11ffaa1a7c71778d2b885ce77757a5e3"},"scheme":"ed25519"},"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"e382c952a736d52be2ab82e486d3f3b27e60e221b636087f3fc3cb71beda0ade"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["3901e5474c946f204ec6a239ad261a8ccab4949fc6178cef1d48eb01a040521d"],"threshold":1}},"spec_version":"1.0","version":1},"signatures":[{"keyid":"4e8daa3c2904f32d334729b603ded23b5cf950c20564a2a48b77c24dcde407c3","sig":"ba1c7544af8cdee5cb70eee5bf7871d20b34ef1c480854513e9590746ad2686db9bec7fc1259a0f5206e113dc4aab18fc251d173fa0b3cbfdb95ee92d5c5d50b"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/ceff5553a373f97d9ac2fef9162e04941461c308c55821918c6e7113cfdaddc4fb1f478ef16360cc92e0e7e37f7bc3a68a8483d6c40141e7c5c9a5eebddb1ae5.targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/ceff5553a373f97d9ac2fef9162e04941461c308c55821918c6e7113cfdaddc4fb1f478ef16360cc92e0e7e37f7bc3a68a8483d6c40141e7c5c9a5eebddb1ae5.targets.json
new file mode 100644
index 0000000..335291b
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/ceff5553a373f97d9ac2fef9162e04941461c308c55821918c6e7113cfdaddc4fb1f478ef16360cc92e0e7e37f7bc3a68a8483d6c40141e7c5c9a5eebddb1ae5.targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"0fc15d44da54f13a30631c2264ba0cbd4c0ad5efb9a2aa71451d7258f98cb5b3597f1165dce688a05f8001f7ec2a51eee6382835121e8176ffdafe4e38c0050e"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/root.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/root.json
new file mode 100644
index 0000000..5cb9301
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/root.json
@@ -0,0 +1 @@
+{"signed":{"_type":"root","consistent_snapshot":true,"expires":"2100-01-01T00:00:00Z","keys":{"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"4df070f02a97f5d0f0e7cbb3554e7ae0b6733a56ff7dfc1ac52094a3aded9c64"},"scheme":"ed25519"},"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"88c224c1d6175f3dbb6870edd3e138ccf8f714d6cb6f4cccdaf74f989c207cef"},"scheme":"ed25519"},"d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"d856ec7d531a2fb84e78b6030efff92ee2b152b7bc8708bbbd32de155e60469d"},"scheme":"ed25519"},"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f":{"keyid_hash_algorithms":["sha512"],"keytype":"ed25519","keyval":{"public":"2cb97b1af650c5960ab9d5fa3e4192b8e8a3432df927f2ba30243930c786bb3c"},"scheme":"ed25519"}},"roles":{"root":{"keyids":["d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385"],"threshold":1},"snapshot":{"keyids":["7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321"],"threshold":1},"targets":{"keyids":["eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f"],"threshold":1},"timestamp":{"keyids":["2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f"],"threshold":1}},"spec_version":"1.0","version":4},"signatures":[{"keyid":"d9e08f115261bf9e9c92cda6faf73313c6ac20813b5094d989e10d9df43a2385","sig":"90d2d6f073ec43a3991a4fcc579e15d68cf5bc24059d2871c58fdcec05f17420bcc3fcec6e93010ffcf03852b3f33bc1567d3a986f0d726d0df910b44de9010d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/snapshot.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/snapshot.json
new file mode 100644
index 0000000..71f77ed
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/snapshot.json
@@ -0,0 +1 @@
+{"signed":{"_type":"snapshot","expires":"2100-01-01T00:00:00Z","meta":{"root.json":{"hashes":{"sha512":"99ffcefa3fb33952e13acef9a46f1510a528eb3d5ffe99014fef5468d4131c1fbc113e2eda90b41daa119bb6b02e8c75da00550acdc3c1cdca3be78378b6af06"},"length":1704,"version":4},"targets.json":{"hashes":{"sha512":"4a850c2a7175cd105d2e1d843a3967a9d1c5ab440a076f7161476ec2e379766f8776c0f23905b8f60a60e6d682ee0f1629ac7501009002217852dac6694b3c01"},"length":1345,"version":6}},"spec_version":"1.0","version":6},"signatures":[{"keyid":"7ae9a8a874c9f11b2d3a1a299ef6f0e8e6585b1e1ce251a5b0de6465b8809321","sig":"9236e498a249d0ffa177b25122460d16be9337346d9e8f853ff01cc9bd1f1caae821c6276182232b40d68bde59958f62fdb85a76c8033ea29af099c299f11f0f"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets.json
new file mode 100644
index 0000000..3890620
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets.json
@@ -0,0 +1 @@
+{"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":"eae325465e34f6a202a50b2eb42165366ca55b387ff686ce946f70d4cdb81b9f","sig":"914e88e5d3b1019e84733746e3b4afa2a010468cf241bc106066b50ddf898ab3fd2411a3514e9bc651d18b4216f92b104e35c4dbdc988201bfaa398767e37809"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/0.0 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/0.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/0.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/0.1 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/0.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/0.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/0.2 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/0.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/0.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/0.3 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/0.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/0.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/0.4 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/0.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/0.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/0.5 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/0.5
new file mode 100644
index 0000000..7813681
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/0.5
@@ -0,0 +1 @@
+5
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5
new file mode 100644
index 0000000..7813681
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/06df05371981a237d0ed11472fae7c94c9ac0eff1d05413516710d17b10a4fb6f4517bda4a695f02d0a73dd4db543b4653df28f5d09dab86f92ffb9b86d01e25.5
@@ -0,0 +1 @@
+5
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
new file mode 100644
index 0000000..c227083
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/31bca02094eb78126a517b206a88c73cfa9ec6f704c7030d18212cace820f025f00bf0ea68dbf3f3a5436ca63b53bf7bf80ad8d5de7d8359d0b7fed9dbc3ab99.0
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
new file mode 100644
index 0000000..e440e5c
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/3bafbf08882a2d10133093a1b8433f50563b93c14acd05b79028eb1d12799027241450980651994501423a66c276ae26c43b739bc65c4e16b10c3af6c202aebb.3
@@ -0,0 +1 @@
+3
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
new file mode 100644
index 0000000..d8263ee
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/40b244112641dd78dd4f93b6c9190dd46e0099194d5a44257b7efad6ef9ff4683da1eda0244448cb343aa688f5d3efd7314dafe580ac0bcbf115aeca9e8dc114.2
@@ -0,0 +1 @@
+2
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
new file mode 100644
index 0000000..56a6051
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a.1
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4 b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
new file mode 100644
index 0000000..bf0d87a
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/targets/a321d8b405e3ef2604959847b36d171eebebc4a8941dc70a4784935a4fca5d5813de84dfa049f06549aa61b20848c1633ce81b675286ea8fb53db240d831c568.4
@@ -0,0 +1 @@
+4
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/timestamp.json b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/timestamp.json
new file mode 100644
index 0000000..bfbeca4
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/consistent-snapshot-true/5/repository/timestamp.json
@@ -0,0 +1 @@
+{"signed":{"_type":"timestamp","expires":"2100-01-01T00:00:00Z","meta":{"snapshot.json":{"hashes":{"sha512":"99f0f824e31c7909cd8cc5a9ad94706248594eb06d26aed9cb26226f6cfa956cbb04b0a1557bed3853392a887a7435ce8463406a0a01e0bc3ac3d498898f3148"},"length":720,"version":6}},"spec_version":"1.0","version":6},"signatures":[{"keyid":"2ffb4fd85c3a009d7c42d4f074a9b5156e2242c421fa801fd81eda01c434d23f","sig":"196c2e3a475b631205fab117da162c73cb71247fb9539b36353c0dd53b904b6969f541163236f1f1e87e094e9cfb47916b12e7e9220835a10e56be99e6a4770d"}]}
\ No newline at end of file
diff --git a/client/testdata/go-tuf-transition-M4/generate.go b/client/testdata/go-tuf-transition-M4/generate.go
new file mode 100644
index 0000000..146988f
--- /dev/null
+++ b/client/testdata/go-tuf-transition-M4/generate.go
@@ -0,0 +1,171 @@
+package main
+
+import (
+	"encoding/json"
+	"fmt"
+	"io/ioutil"
+	"log"
+	"os"
+	"os/exec"
+	"path/filepath"
+	"time"
+
+	tuf "github.com/flynn/go-tuf"
+	"github.com/flynn/go-tuf/sign"
+)
+
+var expirationDate = time.Date(2100, time.January, 1, 0, 0, 0, 0, time.UTC)
+
+type persistedKeys struct {
+	Encrypted bool               `json:"encrypted"`
+	Data      []*sign.PrivateKey `json:"data"`
+}
+
+func assertNotNil(err error) {
+	if err != nil {
+		panic(fmt.Sprintf("assertion failed: %s", err))
+	}
+}
+
+func copyRepo(src string, dst string) {
+	cmd := exec.Command("cp", "-r", src, dst)
+	assertNotNil(cmd.Run())
+}
+
+func newRepo(dir string) *tuf.Repo {
+	repo, err := tuf.NewRepo(tuf.FileSystemStore(dir, nil))
+	assertNotNil(err)
+
+	return repo
+}
+
+func commit(repo *tuf.Repo) {
+	assertNotNil(repo.SnapshotWithExpires(tuf.CompressionTypeNone, expirationDate))
+	assertNotNil(repo.TimestampWithExpires(expirationDate))
+	assertNotNil(repo.Commit())
+}
+
+func genKeys(repo *tuf.Repo, roles []string) map[string][]string {
+	ids := make(map[string][]string)
+
+	for _, role := range roles {
+		id, err := repo.GenKeyWithExpires(role, expirationDate)
+		assertNotNil(err)
+		ids[role] = id
+	}
+
+	return ids
+}
+
+func addTargets(repo *tuf.Repo, dir string, files map[string][]byte) {
+	paths := []string{}
+	for file, data := range files {
+		path := filepath.Join(dir, "staged", "targets", file)
+		assertNotNil(os.MkdirAll(filepath.Dir(path), 0755))
+		assertNotNil(ioutil.WriteFile(path, data, 0644))
+		paths = append(paths, file)
+	}
+	assertNotNil(repo.AddTargetsWithExpires(paths, nil, expirationDate))
+}
+
+func revokeKey(repo *tuf.Repo, role string, ids []string) {
+	assertNotNil(repo.RevokeKeyWithExpires(role, ids[0], expirationDate))
+}
+
+// repoFilteredKeys filters out a key to make sure we can't sign with it. This
+// is to make sure key rotation worked.
+func filterKeys(dir string, role string, ids []string) {
+	path := filepath.Join(dir, "keys", fmt.Sprintf("%s.json", role))
+	b, err := ioutil.ReadFile(path)
+	assertNotNil(err)
+
+	keys := &persistedKeys{}
+	assertNotNil(json.Unmarshal(b, keys))
+
+	newKeys := []*sign.PrivateKey{}
+	for _, key := range keys.Data {
+		found := false
+		for _, id := range ids {
+			if key.PublicData().ContainsID(id) {
+				found = true
+				break
+			}
+		}
+		if !found {
+			newKeys = append(newKeys, key)
+		}
+	}
+	keys.Data = newKeys
+
+	b, err = json.Marshal(keys)
+	assertNotNil(err)
+
+	err = ioutil.WriteFile(path, b, 0644)
+	assertNotNil(err)
+}
+
+func generateRepos(dir string) {
+	// Create the initial repo.
+	dir0 := filepath.Join(dir, "0")
+	repo0 := newRepo(dir0)
+	ids := genKeys(repo0, []string{"root", "snapshot", "targets", "timestamp"})
+	addTargets(repo0, dir0, map[string][]byte{"0": []byte("0")})
+	commit(repo0)
+
+	// Rotate the timestamp keys.
+	dir1 := filepath.Join(dir, "1")
+	copyRepo(dir0, dir1)
+	repo1 := newRepo(dir1)
+	revokeKey(repo1, "timestamp", ids["timestamp"])
+	genKeys(repo1, []string{"timestamp"})
+	addTargets(repo1, dir1, map[string][]byte{"1": []byte("1")})
+	commit(repo1)
+
+	// Filter out the old timestamp key to make sure we can't use it.
+	dir2 := filepath.Join(dir, "2")
+	copyRepo(dir1, dir2)
+	filterKeys(dir2, "timestamp", ids["timestamp"])
+	repo2 := newRepo(dir2)
+	addTargets(repo2, dir2, map[string][]byte{"2": []byte("2")})
+	commit(repo2)
+
+	// Now, actually rotate the root keys.
+	dir3 := filepath.Join(dir, "3")
+	copyRepo(dir2, dir3)
+	repo3 := newRepo(dir3)
+	revokeKey(repo3, "root", ids["root"])
+	genKeys(repo3, []string{"root"})
+	addTargets(repo3, dir3, map[string][]byte{"3": []byte("3")})
+	commit(repo3)
+
+	// Filter out the old root key to make sure we can't use it.
+	dir4 := filepath.Join(dir, "4")
+	copyRepo(dir3, dir4)
+	filterKeys(dir4, "root", ids["root"])
+	// The only way to force go-tuf to re-sign the root.json is to generate
+	// or revoke a key. So why not do both?
+	repo4 := newRepo(dir4)
+	ids = genKeys(repo4, []string{"snapshot"})
+	revokeKey(repo4, "snapshot", ids["snapshot"])
+	addTargets(repo4, dir4, map[string][]byte{"4": []byte("4")})
+	commit(repo4)
+
+	// Add another target file to make sure the workflow worked.
+	dir5 := filepath.Join(dir, "5")
+	copyRepo(dir4, dir5)
+	repo5 := newRepo(dir5)
+	addTargets(repo5, dir5, map[string][]byte{"5": []byte("5")})
+	commit(repo5)
+}
+
+func main() {
+	cwd, err := os.Getwd()
+	assertNotNil(err)
+
+	for _, consistentSnapshot := range []bool{false, true} {
+		name := fmt.Sprintf("consistent-snapshot-%t", consistentSnapshot)
+		log.Printf("generating %s", name)
+		generateRepos(filepath.Join(cwd, name))
+	}
+
+}