diff --git a/src/bin/tapyrus-signerd.rs b/src/bin/tapyrus-signerd.rs index 3e25fe271..710b6e068 100644 --- a/src/bin/tapyrus-signerd.rs +++ b/src/bin/tapyrus-signerd.rs @@ -215,6 +215,19 @@ mod tests { assert_eq!(federations.len(), 2); } + #[test] + fn test_load_federations_threshold_change() { + let pubkey = PublicKey::from_str( + "0315d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c9", + ) + .unwrap(); + + let path = Path::new("tests/resources/federations_threshold_change.toml"); + let federations = load_federations(&pubkey, path); + + assert_eq!(federations.len(), 2); + } + #[test] #[should_panic(expected = "Can't open federations_file. path: \"/foo/bar/no_exist_file.toml\"")] fn test_load_federations_invalid_file_path() { diff --git a/tests/resources/federations.toml b/tests/resources/federations.toml index 9773d1607..a97dd7e40 100644 --- a/tests/resources/federations.toml +++ b/tests/resources/federations.toml @@ -12,7 +12,7 @@ block-height = 20 threshold = 2 aggregated-public-key = "0376c3265e7d81839c1b2312b95697d47cc5b3ab3369a92a5af52ef1c945792f50" node-vss = [ - "0302f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a250315d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c9000202f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a25ca08028df6f430f739d1c387a7b837ccad852e61a90c961c0a44f942ad127ec33ecf34027b4922b3145e69a6006ca3414a7d6cb3ba888c4eadc546cd640f60b930f5d90d1bffafd82e57409e72d5170bd65317e5b87e17d61818546c95d5f35ede35276400c73ddfe17f6bd619bef8943a0ff34c87481fff9229ba9c37f2489b02f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a25ca08028df6f430f739d1c387a7b837ccad852e61a90c961c0a44f942ad127ec33ecf34027b4922b3145e69a6006ca3414a7d6cb3ba888c4eadc546cd640f60b930f5d90d1bffafd82e57409e72d5170bd65317e5b87e17d61818546c95d5f35ede35276400c73ddfe17f6bd619bef8943a0ff34c87481fff9229ba9c37f2489b", + "0302f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a250315d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c9000202f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a25ca08028df6f430f739d1c387a7b837ccad852e61a90c961c0a44f942ad127ec33ecf34027b4922b3145e69a6006ca3414a7d6cb3ba888c4eadc546cd640f60b930f5d90d1bffafd82e57409e72d5170bd65317e5b87e17d61818546c95d5f35ede35276400c73ddfe17f6bd619bef8943a0ff34c87481fff9229ba9c37f2489b02f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a25ca08028df6f430f739d1c387a7b837ccad852e61a90c961c0a44f942ad127ec33ecf34027b4922b3145e69a6006ca3414a7d6cb3ba888c4eadc546cd640f60b930f5d90d1bffafd82e57409e72d5170bd65317e5b87e17d61818546c95d5f35ede35276400c73ddfe17f6bd619bef8943a0ff34c87481fff9229ba9c37f2489b", "0315d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c90315d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c9000215d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c90081da2716d12495f6e83bbfde76a914fc6cfe72d1b229130295a83d7b8352f1f960f10435a23ea5c590bb1e2271e130fe67d582926c534aa1331d1b84ce127df4ae07160b3ef4bfdcb0035aea945ceb4b2323975fd90789d20637fdac29479dc783425afa4340fe9f1786b0d2fbd7aac64bd896942c015d70e47e59b88e2dc115d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c90081da2716d12495f6e83bbfde76a914fc6cfe72d1b229130295a83d7b8352f1f960f10435a23ea5c590bb1e2271e130fe67d582926c534aa1331d1b84ce127df4ae07160b3ef4bfdcb0035aea945ceb4b2323975fd90789d20637fdac29479dc783425afa4340fe9f1786b0d2fbd7aac64bd896942c015d70e47e59b88e2dc1", "039af53a49a365576de41a2e70cc148353d7d1f4cad45f888fd8bc6d2c94a976570315d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c900029af53a49a365576de41a2e70cc148353d7d1f4cad45f888fd8bc6d2c94a976579fc4ac8cde7d898910cb47345069cfc6c086e767b8e90276551762478dfe20fb0af6b91228e3e520a02c8e96904cc6ea13e7e5752d2c25fc260586561934b8024613acba6b7f33498353f3ff136bad71648278b5ef245f9f04cf10657728e028a9b19a1c578f25af03d49f9f8f96a8b6fd0a931a666e92531670bd34dbb362139af53a49a365576de41a2e70cc148353d7d1f4cad45f888fd8bc6d2c94a976579fc4ac8cde7d898910cb47345069cfc6c086e767b8e90276551762478dfe20fb0af6b91228e3e520a02c8e96904cc6ea13e7e5752d2c25fc260586561934b8024613acba6b7f33498353f3ff136bad71648278b5ef245f9f04cf10657728e028a9b19a1c578f25af03d49f9f8f96a8b6fd0a931a666e92531670bd34dbb36213" ] diff --git a/tests/resources/federations_has_invalid_federation.toml b/tests/resources/federations_has_invalid_federation.toml index 65514b412..79bd37ec4 100644 --- a/tests/resources/federations_has_invalid_federation.toml +++ b/tests/resources/federations_has_invalid_federation.toml @@ -12,7 +12,7 @@ block-height = 20 threshold = 4 aggregated-public-key = "0376c3265e7d81839c1b2312b95697d47cc5b3ab3369a92a5af52ef1c945792f50" node-vss = [ - "0302f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a250315d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c9000202f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a25ca08028df6f430f739d1c387a7b837ccad852e61a90c961c0a44f942ad127ec33ecf34027b4922b3145e69a6006ca3414a7d6cb3ba888c4eadc546cd640f60b930f5d90d1bffafd82e57409e72d5170bd65317e5b87e17d61818546c95d5f35ede35276400c73ddfe17f6bd619bef8943a0ff34c87481fff9229ba9c37f2489b02f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a25ca08028df6f430f739d1c387a7b837ccad852e61a90c961c0a44f942ad127ec33ecf34027b4922b3145e69a6006ca3414a7d6cb3ba888c4eadc546cd640f60b930f5d90d1bffafd82e57409e72d5170bd65317e5b87e17d61818546c95d5f35ede35276400c73ddfe17f6bd619bef8943a0ff34c87481fff9229ba9c37f2489b", + "0302f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a250315d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c9000202f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a25ca08028df6f430f739d1c387a7b837ccad852e61a90c961c0a44f942ad127ec33ecf34027b4922b3145e69a6006ca3414a7d6cb3ba888c4eadc546cd640f60b930f5d90d1bffafd82e57409e72d5170bd65317e5b87e17d61818546c95d5f35ede35276400c73ddfe17f6bd619bef8943a0ff34c87481fff9229ba9c37f2489b02f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a25ca08028df6f430f739d1c387a7b837ccad852e61a90c961c0a44f942ad127ec33ecf34027b4922b3145e69a6006ca3414a7d6cb3ba888c4eadc546cd640f60b930f5d90d1bffafd82e57409e72d5170bd65317e5b87e17d61818546c95d5f35ede35276400c73ddfe17f6bd619bef8943a0ff34c87481fff9229ba9c37f2489b", "0315d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c90315d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c9000215d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c90081da2716d12495f6e83bbfde76a914fc6cfe72d1b229130295a83d7b8352f1f960f10435a23ea5c590bb1e2271e130fe67d582926c534aa1331d1b84ce127df4ae07160b3ef4bfdcb0035aea945ceb4b2323975fd90789d20637fdac29479dc783425afa4340fe9f1786b0d2fbd7aac64bd896942c015d70e47e59b88e2dc115d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c90081da2716d12495f6e83bbfde76a914fc6cfe72d1b229130295a83d7b8352f1f960f10435a23ea5c590bb1e2271e130fe67d582926c534aa1331d1b84ce127df4ae07160b3ef4bfdcb0035aea945ceb4b2323975fd90789d20637fdac29479dc783425afa4340fe9f1786b0d2fbd7aac64bd896942c015d70e47e59b88e2dc1", "039af53a49a365576de41a2e70cc148353d7d1f4cad45f888fd8bc6d2c94a976570315d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c900029af53a49a365576de41a2e70cc148353d7d1f4cad45f888fd8bc6d2c94a976579fc4ac8cde7d898910cb47345069cfc6c086e767b8e90276551762478dfe20fb0af6b91228e3e520a02c8e96904cc6ea13e7e5752d2c25fc260586561934b8024613acba6b7f33498353f3ff136bad71648278b5ef245f9f04cf10657728e028a9b19a1c578f25af03d49f9f8f96a8b6fd0a931a666e92531670bd34dbb362139af53a49a365576de41a2e70cc148353d7d1f4cad45f888fd8bc6d2c94a976579fc4ac8cde7d898910cb47345069cfc6c086e767b8e90276551762478dfe20fb0af6b91228e3e520a02c8e96904cc6ea13e7e5752d2c25fc260586561934b8024613acba6b7f33498353f3ff136bad71648278b5ef245f9f04cf10657728e028a9b19a1c578f25af03d49f9f8f96a8b6fd0a931a666e92531670bd34dbb36213" ] diff --git a/tests/resources/federations_has_max_block_size.toml b/tests/resources/federations_has_max_block_size.toml index cd33aa689..a3a45814e 100644 --- a/tests/resources/federations_has_max_block_size.toml +++ b/tests/resources/federations_has_max_block_size.toml @@ -12,7 +12,7 @@ block-height = 20 threshold = 2 aggregated-public-key = "0376c3265e7d81839c1b2312b95697d47cc5b3ab3369a92a5af52ef1c945792f50" node-vss = [ - "0302f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a250302f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a25000202f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a25ca08028df6f430f739d1c387a7b837ccad852e61a90c961c0a44f942ad127ec33ecf34027b4922b3145e69a6006ca3414a7d6cb3ba888c4eadc546cd640f60b930f5d90d1bffafd82e57409e72d5170bd65317e5b87e17d61818546c95d5f35e951ff864871be49c79cfdd99ce8c3457324f446c272622ffafd57e7654f45ecc02f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a25ca08028df6f430f739d1c387a7b837ccad852e61a90c961c0a44f942ad127ec33ecf34027b4922b3145e69a6006ca3414a7d6cb3ba888c4eadc546cd640f60b930f5d90d1bffafd82e57409e72d5170bd65317e5b87e17d61818546c95d5f35e951ff864871be49c79cfdd99ce8c3457324f446c272622ffafd57e7654f45ecc", + "0302f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a250302f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a25000202f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a25ca08028df6f430f739d1c387a7b837ccad852e61a90c961c0a44f942ad127ec33ecf34027b4922b3145e69a6006ca3414a7d6cb3ba888c4eadc546cd640f60b930f5d90d1bffafd82e57409e72d5170bd65317e5b87e17d61818546c95d5f35e951ff864871be49c79cfdd99ce8c3457324f446c272622ffafd57e7654f45ecc02f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a25ca08028df6f430f739d1c387a7b837ccad852e61a90c961c0a44f942ad127ec33ecf34027b4922b3145e69a6006ca3414a7d6cb3ba888c4eadc546cd640f60b930f5d90d1bffafd82e57409e72d5170bd65317e5b87e17d61818546c95d5f35e951ff864871be49c79cfdd99ce8c3457324f446c272622ffafd57e7654f45ecc", "0315d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c90302f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a25000215d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c90081da2716d12495f6e83bbfde76a914fc6cfe72d1b229130295a83d7b8352f1f960f10435a23ea5c590bb1e2271e130fe67d582926c534aa1331d1b84ce127df4ae07160b3ef4bfdcb0035aea945ceb4b2323975fd90789d20637fdac29479d8fd125986ab6b55c756dcd270268cc0f49b303ed438732b94773f7b64ed7df9715d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c90081da2716d12495f6e83bbfde76a914fc6cfe72d1b229130295a83d7b8352f1f960f10435a23ea5c590bb1e2271e130fe67d582926c534aa1331d1b84ce127df4ae07160b3ef4bfdcb0035aea945ceb4b2323975fd90789d20637fdac29479d8fd125986ab6b55c756dcd270268cc0f49b303ed438732b94773f7b64ed7df97", "039af53a49a365576de41a2e70cc148353d7d1f4cad45f888fd8bc6d2c94a976570302f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a2500029af53a49a365576de41a2e70cc148353d7d1f4cad45f888fd8bc6d2c94a976579fc4ac8cde7d898910cb47345069cfc6c086e767b8e90276551762478dfe20fb0af6b91228e3e520a02c8e96904cc6ea13e7e5752d2c25fc260586561934b8024613acba6b7f33498353f3ff136bad71648278b5ef245f9f04cf10657728e0283dd5f93cd4f175390d7396499e506a5afb47121eb0316e018426f74348b9a8ac9af53a49a365576de41a2e70cc148353d7d1f4cad45f888fd8bc6d2c94a976579fc4ac8cde7d898910cb47345069cfc6c086e767b8e90276551762478dfe20fb0af6b91228e3e520a02c8e96904cc6ea13e7e5752d2c25fc260586561934b8024613acba6b7f33498353f3ff136bad71648278b5ef245f9f04cf10657728e0283dd5f93cd4f175390d7396499e506a5afb47121eb0316e018426f74348b9a8ac" ] diff --git a/tests/resources/federations_threshold_change.toml b/tests/resources/federations_threshold_change.toml new file mode 100644 index 000000000..ac3b1fe4e --- /dev/null +++ b/tests/resources/federations_threshold_change.toml @@ -0,0 +1,19 @@ +[[federation]] +block-height = 0 +threshold = 3 +aggregated-public-key = "02459adb8a8f052be94874aef7d4c3d3ddb71fcdaa869b1d515a92d63cb29c2806" +node-vss = [ + "021c36ce51f73f01395af9f7955db0c99f8e34009ea1565679b851f19cba37a5da0315d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c900031c36ce51f73f01395af9f7955db0c99f8e34009ea1565679b851f19cba37a5da7650c845ad480abe1a31a7d40815b7003b2cab562d22645980fd62b5fcaca5f66689e699d0072832389b602f3e16fda6b534252253f011bddb8adf4e836d38c46454e63601ddc2459d9ae41d48cf2774589ae3fc5e1e6bb3e770e0029384582061357ad5d9bad55e7196d1c19fb567e6d808a8ab7c7e8cb842145c7860d92b31ce94a1cffdb033189553f6c10c6a65f4615787ac0558bfa0627a73ba14e44a8224624dbc30768f7cf67bd9913be0dca3e25063a70046ee3677fd7dea022bb0521c36ce51f73f01395af9f7955db0c99f8e34009ea1565679b851f19cba37a5da7650c845ad480abe1a31a7d40815b7003b2cab562d22645980fd62b5fcaca5f66689e699d0072832389b602f3e16fda6b534252253f011bddb8adf4e836d38c46454e63601ddc2459d9ae41d48cf2774589ae3fc5e1e6bb3e770e0029384582061357ad5d9bad55e7196d1c19fb567e6d808a8ab7c7e8cb842145c7860d92b31ce94a1cffdb033189553f6c10c6a65f4615787ac0558bfa0627a73ba14e44a8224624dbc30768f7cf67bd9913be0dca3e25063a70046ee3677fd7dea022bb052", + "0302f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a250315d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c9000302f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a25ca08028df6f430f739d1c387a7b837ccad852e61a90c961c0a44f942ad127ec3bcd3f6244633e0ac0c12e1ffd0d8c6adb4f7ea57c38dcb677095bcf1e0fe1f3134c9f34e15534b43427f66873b5af00f641265ec611bf9c5b96728b8eb2ced5abd13057b552db1505b1515dca3925465f9242326598a4a8ccae72b266aa538ff0abc10f562e61b174fc6ca8cdef762da399e1cd3ba61bd0ed564f5a59320dc6cf6f7311dcd58736da1243c397e944ec2bdf71b56939466f752f58b3e8cc7ae9502f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a25ca08028df6f430f739d1c387a7b837ccad852e61a90c961c0a44f942ad127ec3bcd3f6244633e0ac0c12e1ffd0d8c6adb4f7ea57c38dcb677095bcf1e0fe1f3134c9f34e15534b43427f66873b5af00f641265ec611bf9c5b96728b8eb2ced5abd13057b552db1505b1515dca3925465f9242326598a4a8ccae72b266aa538ff0abc10f562e61b174fc6ca8cdef762da399e1cd3ba61bd0ed564f5a59320dc6cf6f7311dcd58736da1243c397e944ec2bdf71b56939466f752f58b3e8cc7ae95", + "0315d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c90315d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c9000315d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c90081da2716d12495f6e83bbfde76a914fc6cfe72d1b229130295a83d7b8352f16df4da1e73f0fd19614149ef5e0043aefe6787a3af424c37266872f4373ac51a2d0c99b60ec203b6a66d5c236c8f9907f92de7a41c3cbb8aa0ec9917af63379c51cd4190b8e21782a7d54faa481b4be674d8cb7a35e95e81a73cbbec22e887248204e26b5d2426ba87718d6d26f2dfac941c94395dace2b2548876a53786aeb072fa82a6b364350361a4b19cc45ec65d40856cbd134c2dbe2e780ef080d306d815d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c90081da2716d12495f6e83bbfde76a914fc6cfe72d1b229130295a83d7b8352f16df4da1e73f0fd19614149ef5e0043aefe6787a3af424c37266872f4373ac51a2d0c99b60ec203b6a66d5c236c8f9907f92de7a41c3cbb8aa0ec9917af63379c51cd4190b8e21782a7d54faa481b4be674d8cb7a35e95e81a73cbbec22e887248204e26b5d2426ba87718d6d26f2dfac941c94395dace2b2548876a53786aeb072fa82a6b364350361a4b19cc45ec65d40856cbd134c2dbe2e780ef080d306d8" +] +[[federation]] +block-height = 40 +threshold = 2 +aggregated-public-key = "0376c3265e7d81839c1b2312b95697d47cc5b3ab3369a92a5af52ef1c945792f50" +node-vss = [ + "0302f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a250315d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c9000202f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a25ca08028df6f430f739d1c387a7b837ccad852e61a90c961c0a44f942ad127ec33ecf34027b4922b3145e69a6006ca3414a7d6cb3ba888c4eadc546cd640f60b930f5d90d1bffafd82e57409e72d5170bd65317e5b87e17d61818546c95d5f35ede35276400c73ddfe17f6bd619bef8943a0ff34c87481fff9229ba9c37f2489b02f5584e30d2ee32e772d04ff8ee1efc90a7a91ac5b7c4025da7a42a67d06a25ca08028df6f430f739d1c387a7b837ccad852e61a90c961c0a44f942ad127ec33ecf34027b4922b3145e69a6006ca3414a7d6cb3ba888c4eadc546cd640f60b930f5d90d1bffafd82e57409e72d5170bd65317e5b87e17d61818546c95d5f35ede35276400c73ddfe17f6bd619bef8943a0ff34c87481fff9229ba9c37f2489b", + "0315d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c90315d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c9000215d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c90081da2716d12495f6e83bbfde76a914fc6cfe72d1b229130295a83d7b8352f1f960f10435a23ea5c590bb1e2271e130fe67d582926c534aa1331d1b84ce127df4ae07160b3ef4bfdcb0035aea945ceb4b2323975fd90789d20637fdac29479dc783425afa4340fe9f1786b0d2fbd7aac64bd896942c015d70e47e59b88e2dc115d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c90081da2716d12495f6e83bbfde76a914fc6cfe72d1b229130295a83d7b8352f1f960f10435a23ea5c590bb1e2271e130fe67d582926c534aa1331d1b84ce127df4ae07160b3ef4bfdcb0035aea945ceb4b2323975fd90789d20637fdac29479dc783425afa4340fe9f1786b0d2fbd7aac64bd896942c015d70e47e59b88e2dc1", + "039af53a49a365576de41a2e70cc148353d7d1f4cad45f888fd8bc6d2c94a976570315d137054b688717f7fe4bd22a1c886de7a07bf3beb041092fb79688306df3c900029af53a49a365576de41a2e70cc148353d7d1f4cad45f888fd8bc6d2c94a976579fc4ac8cde7d898910cb47345069cfc6c086e767b8e90276551762478dfe20fb0af6b91228e3e520a02c8e96904cc6ea13e7e5752d2c25fc260586561934b8024613acba6b7f33498353f3ff136bad71648278b5ef245f9f04cf10657728e028a9b19a1c578f25af03d49f9f8f96a8b6fd0a931a666e92531670bd34dbb362139af53a49a365576de41a2e70cc148353d7d1f4cad45f888fd8bc6d2c94a976579fc4ac8cde7d898910cb47345069cfc6c086e767b8e90276551762478dfe20fb0af6b91228e3e520a02c8e96904cc6ea13e7e5752d2c25fc260586561934b8024613acba6b7f33498353f3ff136bad71648278b5ef245f9f04cf10657728e028a9b19a1c578f25af03d49f9f8f96a8b6fd0a931a666e92531670bd34dbb36213" +] +signature = "f57c17352f242b96dff740252946570b813f034ad5f78f1061a20e22cc5b02a9b28c82c43d6b05bb927312d8d5bcd6aa8db79785f41e1249da9dcdf42025f8c8" \ No newline at end of file