diff --git a/casper-finality-proofs/Cargo.lock b/casper-finality-proofs/Cargo.lock index 1eaa3c0b1..4347570ad 100644 --- a/casper-finality-proofs/Cargo.lock +++ b/casper-finality-proofs/Cargo.lock @@ -897,7 +897,6 @@ dependencies = [ "plonky2", "plonky2x", "primitive-types 0.12.2", - "quinn-proto", "serde", "serde_derive", "serde_json", @@ -1401,11 +1400,11 @@ dependencies = [ [[package]] name = "curta" version = "0.1.0" -source = "git+https://github.com/succinctlabs/curta.git?branch=main#86723feac21731c3f7acd8827abafe16609d47c4" +source = "git+https://github.com/succinctlabs/curta.git?branch=main#7b10c6d041bb33ec1a3f7a85fc6f74e27cf655d4" dependencies = [ "anyhow", "bincode", - "curve25519-dalek", + "curve25519-dalek 4.1.1", "env_logger 0.9.3", "hex", "itertools 0.10.5", @@ -1421,11 +1420,11 @@ dependencies = [ [[package]] name = "curta" version = "0.1.0" -source = "git+https://github.com/succinctlabs/curta.git#86723feac21731c3f7acd8827abafe16609d47c4" +source = "git+https://github.com/succinctlabs/curta.git#7b10c6d041bb33ec1a3f7a85fc6f74e27cf655d4" dependencies = [ "anyhow", "bincode", - "curve25519-dalek", + "curve25519-dalek 4.1.1", "env_logger 0.9.3", "hex", "itertools 0.10.5", @@ -1438,6 +1437,21 @@ dependencies = [ "subtle-encoding", ] +[[package]] +name = "curve25519-dalek" +version = "4.0.0" +source = "git+https://github.com/succinctlabs/curve25519-dalek.git?branch=feature/edwards-point-getters#e2d1bd10d6d772af07cac5c8161cd7655016af6d" +dependencies = [ + "cfg-if", + "cpufeatures", + "curve25519-dalek-derive 0.1.0", + "fiat-crypto 0.1.20", + "platforms 3.2.0", + "rustc_version", + "subtle", + "zeroize", +] + [[package]] name = "curve25519-dalek" version = "4.1.1" @@ -1446,15 +1460,25 @@ checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c" dependencies = [ "cfg-if", "cpufeatures", - "curve25519-dalek-derive", + "curve25519-dalek-derive 0.1.1", "digest 0.10.7", - "fiat-crypto", + "fiat-crypto 0.2.2", "platforms 3.2.0", "rustc_version", "subtle", "zeroize", ] +[[package]] +name = "curve25519-dalek-derive" +version = "0.1.0" +source = "git+https://github.com/succinctlabs/curve25519-dalek.git?branch=feature/edwards-point-getters#e2d1bd10d6d772af07cac5c8161cd7655016af6d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + [[package]] name = "curve25519-dalek-derive" version = "0.1.1" @@ -1466,6 +1490,19 @@ dependencies = [ "syn 2.0.39", ] +[[package]] +name = "curve25519-dalek-ng" +version = "4.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c359b7249347e46fb28804470d071c921156ad62b3eef5d34e2ba867533dec8" +dependencies = [ + "byteorder", + "digest 0.9.0", + "rand_core", + "subtle-ng", + "zeroize", +] + [[package]] name = "darling" version = "0.13.4" @@ -1888,13 +1925,28 @@ dependencies = [ "signature 2.1.0", ] +[[package]] +name = "ed25519-consensus" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c8465edc8ee7436ffea81d21a019b16676ee3db267aa8d5a8d729581ecf998b" +dependencies = [ + "curve25519-dalek-ng", + "hex", + "rand_core", + "serde", + "sha2 0.9.9", + "thiserror", + "zeroize", +] + [[package]] name = "ed25519-dalek" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980" dependencies = [ - "curve25519-dalek", + "curve25519-dalek 4.1.1", "ed25519", "rand_core", "serde", @@ -2117,9 +2169,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.6" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c18ee0ed65a5f1f81cac6b1d213b69c35fa47d4252ad41f1486dbd8226fe36e" +checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860" dependencies = [ "libc", "windows-sys 0.48.0", @@ -2897,6 +2949,12 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec54ac60a7f2ee9a97cad9946f9bf629a3bc6a7ae59e68983dc9318f5a54b81a" +[[package]] +name = "fiat-crypto" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e825f6987101665dea6ec934c09ec6d721de7bc1bf92248e1d5810c8cd636b77" + [[package]] name = "fiat-crypto" version = "0.2.2" @@ -3227,9 +3285,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.11" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" dependencies = [ "cfg-if", "js-sys", @@ -4328,7 +4386,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2eeec39ad3ad0677551907dd304b2f13f17208ccebe333bef194076cd2e8921" dependencies = [ "bytes", - "curve25519-dalek", + "curve25519-dalek 4.1.1", "futures", "libp2p-core", "libp2p-identity", @@ -4655,9 +4713,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "linux-raw-sys" -version = "0.4.11" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829" +checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" [[package]] name = "lmdb-rkv" @@ -5832,7 +5890,7 @@ checksum = "14e6ab3f592e6fb464fc9712d8d6e6912de6473954635fd76a589d832cffcbb0" [[package]] name = "plonky2" version = "0.1.4" -source = "git+https://github.com/mir-protocol/plonky2.git#605932d149eeba4558b404b52180e9ac20daca87" +source = "git+https://github.com/mir-protocol/plonky2.git#fa93454c5ca88a8b5075b4026f6042cd5b766eb4" dependencies = [ "ahash 0.8.6", "anyhow", @@ -5855,7 +5913,7 @@ dependencies = [ [[package]] name = "plonky2_field" version = "0.1.1" -source = "git+https://github.com/mir-protocol/plonky2.git#605932d149eeba4558b404b52180e9ac20daca87" +source = "git+https://github.com/mir-protocol/plonky2.git#fa93454c5ca88a8b5075b4026f6042cd5b766eb4" dependencies = [ "anyhow", "itertools 0.11.0", @@ -5879,7 +5937,7 @@ dependencies = [ [[package]] name = "plonky2_maybe_rayon" version = "0.1.1" -source = "git+https://github.com/mir-protocol/plonky2.git#605932d149eeba4558b404b52180e9ac20daca87" +source = "git+https://github.com/mir-protocol/plonky2.git#fa93454c5ca88a8b5075b4026f6042cd5b766eb4" dependencies = [ "rayon", ] @@ -5887,12 +5945,12 @@ dependencies = [ [[package]] name = "plonky2_util" version = "0.1.1" -source = "git+https://github.com/mir-protocol/plonky2.git#605932d149eeba4558b404b52180e9ac20daca87" +source = "git+https://github.com/mir-protocol/plonky2.git#fa93454c5ca88a8b5075b4026f6042cd5b766eb4" [[package]] name = "plonky2x" version = "0.1.0" -source = "git+https://github.com/succinctlabs/succinctx.git?branch=main#fcf983d5ab78128636718d0827cc4a218017e5d0" +source = "git+https://github.com/succinctlabs/succinctx.git?branch=main#598e609dcfc7985afcb706c8775346ec9de081cb" dependencies = [ "anyhow", "array-macro", @@ -5902,10 +5960,10 @@ dependencies = [ "bincode", "clap 4.4.7", "curta 0.1.0 (git+https://github.com/succinctlabs/curta.git)", - "curve25519-dalek", + "curve25519-dalek 4.0.0", "digest 0.10.7", "dotenv", - "ed25519-dalek", + "ed25519-consensus", "env_logger 0.10.0", "ethers", "ff 0.13.0", @@ -5934,7 +5992,7 @@ dependencies = [ [[package]] name = "plonky2x-derive" version = "0.1.0" -source = "git+https://github.com/succinctlabs/succinctx.git?branch=main#fcf983d5ab78128636718d0827cc4a218017e5d0" +source = "git+https://github.com/succinctlabs/succinctx.git?branch=main#598e609dcfc7985afcb706c8775346ec9de081cb" dependencies = [ "proc-macro2", "quote", @@ -6283,7 +6341,6 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "141bf7dfde2fbc246bfd3fe12f2455aa24b0fbd9af535d8c86c7bd1381ff2b1a" dependencies = [ - "arbitrary", "bytes", "rand", "ring 0.16.20", @@ -6754,7 +6811,7 @@ dependencies = [ "bitflags 2.4.1", "errno", "libc", - "linux-raw-sys 0.4.11", + "linux-raw-sys 0.4.10", "windows-sys 0.48.0", ] @@ -7484,7 +7541,7 @@ dependencies = [ "aes-gcm", "blake2", "chacha20poly1305", - "curve25519-dalek", + "curve25519-dalek 4.1.1", "rand_core", "ring 0.16.20", "rustc_version", @@ -7740,6 +7797,12 @@ dependencies = [ "zeroize", ] +[[package]] +name = "subtle-ng" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" + [[package]] name = "superstruct" version = "0.6.0" @@ -9161,7 +9224,7 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb66477291e7e8d2b0ff1bcb900bf29489a9692816d79874bea351e7a8b6de96" dependencies = [ - "curve25519-dalek", + "curve25519-dalek 4.1.1", "rand_core", "serde", "zeroize", diff --git a/casper-finality-proofs/Cargo.toml b/casper-finality-proofs/Cargo.toml index 6411b5183..accf7eea4 100644 --- a/casper-finality-proofs/Cargo.toml +++ b/casper-finality-proofs/Cargo.toml @@ -9,6 +9,10 @@ edition = "2021" name = "weigh_justification_and_finalization" path = "bin/weigh_justification_and_finalization.rs" +[[bin]] +name = "prove_finality" +path = "bin/prove_finality.rs" + [[bin]] name = "compute_shuffled_index" path = "bin/compute_shuffled_index.rs" @@ -24,7 +28,7 @@ curta = { git = "https://github.com/succinctlabs/curta.git", branch = "main" } serde = { version = "1.0.187", features = ["derive"] } serde_json = "1.0.103" serde_derive = "1.0.188" -ethers = "2.0" +ethers = { version = "2.0" } primitive-types = "0.12.2" colored = "2.0.4" anyhow = "1.0.75" @@ -36,11 +40,9 @@ walkdir = "2.4.0" hex = "0.4.3" itertools = { version = "0.10.0", default-features = false } clap = { version = "4.4.6", features = ["derive"] } -lighthouse_ef_tests = { git = "https://github.com/sigp/lighthouse", tag = "v4.5.0", package = "ef_tests" } lighthouse_types = { git = "https://github.com/sigp/lighthouse", tag = "v4.5.0", package = "types" } +lighthouse_ef_tests = { git = "https://github.com/sigp/lighthouse", tag = "v4.5.0", package = "ef_tests" } lighthouse_state_processing = { git = "https://github.com/sigp/lighthouse", tag = "v4.5.0", package = "state_processing" } lighthouse_state_merkle_proof = { git = "https://github.com/sigp/lighthouse", tag = "v4.5.0", package = "merkle_proof" } lighthouse_cached_tree_hash = { git = "https://github.com/sigp/lighthouse", tag = "v4.5.0", package = "cached_tree_hash" } snap = "1.1.0" -# Crate is specified due to release issues with the crate -quinn-proto = { version = "0.10.6", features = ["arbitrary"] } diff --git a/casper-finality-proofs/bin/prove_finality.rs b/casper-finality-proofs/bin/prove_finality.rs new file mode 100644 index 000000000..ab8a33580 --- /dev/null +++ b/casper-finality-proofs/bin/prove_finality.rs @@ -0,0 +1,67 @@ +use casper_finality_proofs::prove_finality::circuit::ProveFinality; +use casper_finality_proofs::weigh_justification_and_finalization::checkpoint::{ + CheckpointValue, CheckpointVariable, +}; +use casper_finality_proofs::weigh_justification_and_finalization::justification_bits::{ + JustificationBitsValue, JustificationBitsVariable, +}; +use plonky2x::backend::circuit::Circuit; +use plonky2x::backend::circuit::DefaultParameters; +use plonky2x::{ + prelude::{CircuitBuilder, PlonkParameters, U64Variable}, + utils::bytes32, +}; + +fn main() { + type L = DefaultParameters; + const D: usize = 2; + let mut builder: CircuitBuilder = + CircuitBuilder::::new(); + ProveFinality::define(&mut builder); + let circuit = builder.build(); + let mut input = circuit.input(); + + let total_number_of_validators = 65536; + let previous_epoch_attested_validators = 52430; + let current_epoch_attested_validators = 52430; + + let justification_bits = JustificationBitsValue::<>::Field> { + bits: vec![true, true, false, true], + }; + + let source = CheckpointValue::<>::Field> { + epoch: 123456788, + root: bytes32!("0x0000000000000000000000000000000000000000000000000000000000000002"), + }; + + let target = CheckpointValue::<>::Field> { + epoch: 123456790, + root: bytes32!("0x0000000000000000000000000000000000000000000000000000000000000000"), + }; + + + let current_justified_checkpoint = CheckpointValue::<>::Field> { + epoch: 123456788, + root: bytes32!("0x0000000000000000000000000000000000000000000000000000000000000002"), + }; + + let previous_justified_checkpoint = CheckpointValue::<>::Field> { + epoch: 123456787, + root: bytes32!("0x0000000000000000000000000000000000000000000000000000000000000001"), + }; + + let slot = 3950617280; + + input.write::(source); + input.write::(target); + input.write::(slot); + input.write::(total_number_of_validators); + input.write::(justification_bits); + input.write::(previous_epoch_attested_validators); + input.write::(current_epoch_attested_validators); + input.write::(previous_justified_checkpoint); + input.write::(current_justified_checkpoint); + + let (_witness, mut _output) = circuit.prove(&input); + println!("Successfully passed!"); +} diff --git a/casper-finality-proofs/fuzz/Cargo.lock b/casper-finality-proofs/fuzz/Cargo.lock index e000d5c26..c9db880b5 100644 --- a/casper-finality-proofs/fuzz/Cargo.lock +++ b/casper-finality-proofs/fuzz/Cargo.lock @@ -1,6 +1,3 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 [[package]] name = "Inflector" @@ -921,11 +918,7 @@ dependencies = [ "once_cell", "primitive-types 0.12.2", "serde", - "serde_derive", "serde_json", - "state_processing", - "swap_or_not_shuffle", - "types", ] [[package]] diff --git a/casper-finality-proofs/fuzz/fuzz_targets/compute_shuffled_index_minimal.rs b/casper-finality-proofs/fuzz/fuzz_targets/compute_shuffled_index_minimal.rs index 74ba8b9ed..e68e95d8b 100644 --- a/casper-finality-proofs/fuzz/fuzz_targets/compute_shuffled_index_minimal.rs +++ b/casper-finality-proofs/fuzz/fuzz_targets/compute_shuffled_index_minimal.rs @@ -9,35 +9,24 @@ use casper_finality_proofs::test_engine::wrappers::compute_shuffled_index::wrapp }; use libfuzzer_sys::arbitrary::Unstructured; use libfuzzer_sys::fuzz_target; -use lighthouse_swap_or_not_shuffle::compute_shuffled_index; use once_cell::sync::Lazy; -use serde_derive::Serialize; -use std::env::var; use utils::arbitrary_types::ArbitraryH256; -#[derive(Debug, arbitrary::Arbitrary, Serialize)] +#[derive(Debug, arbitrary::Arbitrary)] struct TestData { pub seed: ArbitraryH256, - #[arbitrary(with = |u: &mut Unstructured| u.int_in_range(1..=var("MAX_COUNT_COMPUTE_SHUFFLED_INDEX_MINIMAL").unwrap().parse::().unwrap_or(15)))] + #[arbitrary(with = |u: &mut Unstructured| u.int_in_range(1..=15))] pub count: u8, } fuzz_target!(|data: TestData| { - let time = std::time::Instant::now(); Lazy::force(&MINIMAL_CIRCUIT); let mut indices = Vec::::new(); let count = data.count as u64; - println!("\ncount: {}", count); for i in 0..count { - let output = run(i, count, data.seed.0); - let output_ref = - compute_shuffled_index(i as usize, count as usize, data.seed.0.as_bytes(), 10).unwrap() - as u64; - assert_eq!(output, output_ref); - - indices.push(output); + indices.push(run(i, count, data.seed.0)); } assert!(indices.len() == count as usize); @@ -45,6 +34,4 @@ fuzz_target!(|data: TestData| { assert!(indices .iter() .all(|&i| indices.iter().filter(|&&j| j == i).count() == 1)); - - println!("test took: {:?}", time.elapsed()); }); diff --git a/casper-finality-proofs/fuzz/fuzz_targets/utils/arbitrary_types.rs b/casper-finality-proofs/fuzz/fuzz_targets/utils/arbitrary_types.rs index caa8d3362..895316e50 100644 --- a/casper-finality-proofs/fuzz/fuzz_targets/utils/arbitrary_types.rs +++ b/casper-finality-proofs/fuzz/fuzz_targets/utils/arbitrary_types.rs @@ -1,8 +1,7 @@ use arbitrary::{Arbitrary, Result, Unstructured}; use primitive_types::{H256, H384}; -use serde_derive::Serialize; -#[derive(Debug, Serialize, Copy, Clone)] +#[derive(Debug)] pub struct ArbitraryH256(pub H256); impl Arbitrary<'_> for ArbitraryH256 { @@ -13,7 +12,7 @@ impl Arbitrary<'_> for ArbitraryH256 { } } -#[derive(Debug, Serialize, Copy, Clone)] +#[derive(Debug)] pub struct ArbitraryH384(pub H384); impl Arbitrary<'_> for ArbitraryH384 { diff --git a/casper-finality-proofs/fuzz/fuzz_targets/weigh_justification_and_finalization.rs b/casper-finality-proofs/fuzz/fuzz_targets/weigh_justification_and_finalization.rs index 0ff8f5162..a448b99c4 100644 --- a/casper-finality-proofs/fuzz/fuzz_targets/weigh_justification_and_finalization.rs +++ b/casper-finality-proofs/fuzz/fuzz_targets/weigh_justification_and_finalization.rs @@ -50,6 +50,8 @@ fuzz_target!(|data: TestData| { let time = std::time::Instant::now(); Lazy::force(&CIRCUIT); + println!("data: {:?}", data); + let mut data = data; let epoch = data.slot / 32; if epoch < data.previous_epoch_sub { diff --git a/casper-finality-proofs/src/lib.rs b/casper-finality-proofs/src/lib.rs index a789f1f29..94ff90e88 100644 --- a/casper-finality-proofs/src/lib.rs +++ b/casper-finality-proofs/src/lib.rs @@ -1,5 +1,6 @@ pub mod compute_shuffled_index; pub mod constants; +pub mod prove_finality; pub mod test_engine; pub mod types; mod utils; diff --git a/casper-finality-proofs/src/prove_finality/circuit.rs b/casper-finality-proofs/src/prove_finality/circuit.rs new file mode 100644 index 000000000..06fbcb634 --- /dev/null +++ b/casper-finality-proofs/src/prove_finality/circuit.rs @@ -0,0 +1,172 @@ +use crate::{ + types::Gwei, + utils::plonky2x_extensions::assert_is_true, + weigh_justification_and_finalization::{ + checkpoint::CheckpointVariable, justification_bits::JustificationBitsVariable + }, +}; +use plonky2x::{ + backend::circuit::Circuit, + prelude::{BoolVariable, CircuitBuilder, PlonkParameters, U64Variable}, +}; + +#[derive(Debug, Clone)] +pub struct ProveFinality; + +impl Circuit for ProveFinality { + fn define, const D: usize>(builder: &mut CircuitBuilder) { + let source = builder.read::(); + let target = builder.read::(); + let slot = builder.read::(); + let total_number_of_validators = builder.read::(); + let justification_bits = builder.read::(); + let previous_epoch_attested_validators = builder.read::(); + let current_epoch_attested_validators = builder.read::(); + let previous_justified_checkpoint = builder.read::(); + let current_justified_checkpoint = builder.read::(); + + validate_target_source_difference(builder, source.clone(), target.clone()); + + let new_justification_bits = process_justifications( + builder, + total_number_of_validators, + justification_bits, + previous_epoch_attested_validators, + current_epoch_attested_validators, + ); + + let thirty_two = builder.constant::(32); + let new_justification_bits = new_justification_bits.bits.as_slice(); + let current_epoch = builder.div(slot, thirty_two); + let source_index = builder.sub(current_epoch, source.epoch); + let target_index = builder.sub(current_epoch, target.epoch); + + validate_source( + builder, + source, + target_index, + previous_justified_checkpoint, + current_justified_checkpoint, + ); + + validate_justification_bits(builder, source_index, target_index, new_justification_bits); + } +} + +fn process_justifications, const D: usize>( + builder: &mut CircuitBuilder, + total_number_of_validators: Gwei, + justification_bits: JustificationBitsVariable, + previous_epoch_attested_validators: Gwei, + current_epoch_attested_validators: Gwei, +) -> JustificationBitsVariable { + let previous_epoch_supermajority_link_pred = is_supermajority_link_in_votes( + builder, + total_number_of_validators, + previous_epoch_attested_validators, + ); + + let current_epoch_supermajority_link_pred = is_supermajority_link_in_votes( + builder, + total_number_of_validators, + current_epoch_attested_validators, + ); + + let _true = builder._true(); + let new_second_justification_bit = builder.select( + previous_epoch_supermajority_link_pred, + _true, + justification_bits.bits[0], + ); + + let mut new_justification_bits = justification_bits.shift_right(builder); + new_justification_bits = new_justification_bits.assign_nth_bit(1, new_second_justification_bit); + new_justification_bits = + new_justification_bits.assign_nth_bit(0, current_epoch_supermajority_link_pred); + + new_justification_bits +} + +fn is_supermajority_link_in_votes, const D: usize>( + builder: &mut CircuitBuilder, + total_num_validators: Gwei, + bitmask_attested_validators: Gwei, +) -> BoolVariable { + let five = builder.constant::(5); + let four = builder.constant::(4); + + let bitmask_attested_validators_five_times = builder.mul(bitmask_attested_validators, five); + let total_num_validators_four_times = builder.mul(total_num_validators, four); + builder.gte( + bitmask_attested_validators_five_times, + total_num_validators_four_times, + ) +} + +pub fn validate_target_source_difference, const D: usize>( + builder: &mut CircuitBuilder, + source: CheckpointVariable, + target: CheckpointVariable, +) { + let one = builder.one(); + let two = builder.constant::(2); + + let target_source_difference = builder.sub(target.epoch, source.epoch); + let target_source_difference_equals_one = builder.is_equal(target_source_difference, one); + let target_source_difference_equals_two = builder.is_equal(target_source_difference, two); + let target_source_difference_equals_one_or_two = builder.or( + target_source_difference_equals_one, + target_source_difference_equals_two, + ); + assert_is_true(builder, target_source_difference_equals_one_or_two); +} + +pub fn validate_source, const D: usize>( + builder: &mut CircuitBuilder, + source: CheckpointVariable, + target_idx: U64Variable, + previous_justified_checkpoint: CheckpointVariable, + current_justified_checkpoint: CheckpointVariable, +) { + let zero = builder.zero(); + let one = builder.one(); + + let source_is_current_justified_checkpoint_pred = + builder.is_equal(source.clone(), current_justified_checkpoint); + let source_is_previous_justified_checkpoint_pred = + builder.is_equal(source.clone(), previous_justified_checkpoint); + + let target_is_current_epoch_pred = builder.is_equal(target_idx, zero); + let target_is_previous_epoch_pred = builder.is_equal(target_idx, one); + + let is_valid_pair_1_pred = builder.and( + target_is_current_epoch_pred, + source_is_current_justified_checkpoint_pred, + ); + let is_valid_pair_2_pred = builder.and( + target_is_previous_epoch_pred, + source_is_previous_justified_checkpoint_pred, + ); + let is_valid_pair_pred = builder.or(is_valid_pair_1_pred, is_valid_pair_2_pred); + assert_is_true(builder, is_valid_pair_pred); +} + +// Is this consistent with the consensus spec equivalent - # Process finalizations ? +pub fn validate_justification_bits, const D: usize>( + builder: &mut CircuitBuilder, + source_index_epoch: U64Variable, + target_index_epoch: U64Variable, + justification_bits: &[BoolVariable], +) { + for i in 0..4 { + let current_index = builder.constant::(i as u64); + let in_range_source_index = builder.lte(current_index, source_index_epoch); + let in_range_target_index = builder.gte(current_index, target_index_epoch); + + let in_range = builder.and(in_range_source_index, in_range_target_index); + + let in_range_or_justification_bits_value = builder.or(justification_bits[i], in_range); + + builder.assert_is_equal(justification_bits[i], in_range_or_justification_bits_value); + } +} diff --git a/casper-finality-proofs/src/prove_finality/mod.rs b/casper-finality-proofs/src/prove_finality/mod.rs new file mode 100644 index 000000000..0a3a8af29 --- /dev/null +++ b/casper-finality-proofs/src/prove_finality/mod.rs @@ -0,0 +1 @@ +pub mod circuit; \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_no_majority_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_no_majority_diff_1_fail.json new file mode 100644 index 000000000..a7ec05ca1 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_no_majority_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_no_majority_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_no_majority_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..0aff4344e --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_no_majority_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_no_majority_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_no_majority_diff_2_fail.json new file mode 100644 index 000000000..a7bbc199d --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_no_majority_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_no_majority_diff_2_slot_gt_target_fail_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_no_majority_diff_2_slot_gt_target_fail_fail.json new file mode 100644 index 000000000..6a3bc0e6d --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_no_majority_diff_2_slot_gt_target_fail_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_only_current_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_only_current_diff_1_fail.json new file mode 100644 index 000000000..597c2aa48 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_only_current_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_only_current_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_only_current_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..edc4b54fe --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_only_current_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_only_current_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_only_current_diff_2_fail.json new file mode 100644 index 000000000..a79fd134b --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_only_current_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_only_current_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_only_current_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..1ecbc4590 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_only_current_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_only_previous_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_only_previous_diff_1_fail.json new file mode 100644 index 000000000..d11a2a00c --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_only_previous_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_only_previous_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_only_previous_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..47989b261 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_only_previous_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_only_previous_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_only_previous_diff_2_fail.json new file mode 100644 index 000000000..3803eb13b --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_only_previous_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_only_previous_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_only_previous_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..8edb2b7b7 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_only_previous_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_with_majority_diff_1.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_with_majority_diff_1.json new file mode 100644 index 000000000..fcc27cf98 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_with_majority_diff_1.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_with_majority_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_with_majority_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..a335f4fc8 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_with_majority_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_with_majority_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_with_majority_diff_2_fail.json new file mode 100644 index 000000000..bd08481cf --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_with_majority_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_with_majority_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_with_majority_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..65b80ed5c --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/0_bits_with_majority_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_no_majority_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_no_majority_diff_1_fail.json new file mode 100644 index 000000000..b3dee9d08 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_no_majority_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_no_majority_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_no_majority_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..a3cd1c923 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_no_majority_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_no_majority_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_no_majority_diff_2_fail.json new file mode 100644 index 000000000..ad75bc537 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_no_majority_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_no_majority_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_no_majority_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..1303f2351 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_no_majority_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_only_current_diff_1.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_only_current_diff_1.json new file mode 100644 index 000000000..6956669b9 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_only_current_diff_1.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_only_current_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_only_current_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..462ef1b91 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_only_current_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_only_current_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_only_current_diff_2_fail.json new file mode 100644 index 000000000..62ab6adde --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_only_current_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_only_current_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_only_current_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..911bf8d45 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_only_current_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_only_previous_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_only_previous_diff_1_fail.json new file mode 100644 index 000000000..758b29fbc --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_only_previous_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_only_previous_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_only_previous_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..758b29fbc --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_only_previous_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_only_previous_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_only_previous_diff_2_fail.json new file mode 100644 index 000000000..7ad9a2556 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_only_previous_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_only_previous_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_only_previous_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..758b29fbc --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_only_previous_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_with_majority_diff_1.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_with_majority_diff_1.json new file mode 100644 index 000000000..381eec0d3 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_with_majority_diff_1.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_with_majority_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_with_majority_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..1f2837d31 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_with_majority_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_with_majority_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_with_majority_diff_2_fail.json new file mode 100644 index 000000000..10d6329b0 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_with_majority_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_with_majority_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_with_majority_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..80ef4f42b --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_1_with_majority_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_no_majority_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_no_majority_diff_1_fail.json new file mode 100644 index 000000000..a397f82a9 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_no_majority_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_no_majority_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_no_majority_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..44c5cd540 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_no_majority_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_no_majority_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_no_majority_diff_2_fail.json new file mode 100644 index 000000000..7bebd00ae --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_no_majority_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_no_majority_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_no_majority_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..306655b78 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_no_majority_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_only_current_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_only_current_diff_1_fail.json new file mode 100644 index 000000000..dac33db20 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_only_current_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_only_current_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_only_current_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..fadd93329 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_only_current_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_only_current_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_only_current_diff_2_fail.json new file mode 100644 index 000000000..4ff0076fa --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_only_current_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_only_current_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_only_current_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..7369cdb36 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_only_current_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_only_previous_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_only_previous_diff_1_fail.json new file mode 100644 index 000000000..5c45fa388 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_only_previous_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_only_previous_diff_1_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_only_previous_diff_1_slot_gt_target.json new file mode 100644 index 000000000..bb43bc3ae --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_only_previous_diff_1_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_only_previous_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_only_previous_diff_2_fail.json new file mode 100644 index 000000000..b64a4df9a --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_only_previous_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_only_previous_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_only_previous_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..c450664af --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_only_previous_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_with_majority_diff_1.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_with_majority_diff_1.json new file mode 100644 index 000000000..f1ed4cdcc --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_with_majority_diff_1.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_with_majority_diff_1_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_with_majority_diff_1_slot_gt_target.json new file mode 100644 index 000000000..27b01a017 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_with_majority_diff_1_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_with_majority_diff_2.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_with_majority_diff_2.json new file mode 100644 index 000000000..7a47002d9 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_with_majority_diff_2.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_with_majority_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_with_majority_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..0015f46d8 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_2_with_majority_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_no_majority_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_no_majority_diff_1_fail.json new file mode 100644 index 000000000..1d6c5a92d --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_no_majority_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_no_majority_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_no_majority_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..7505e1f83 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_no_majority_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_no_majority_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_no_majority_diff_2_fail.json new file mode 100644 index 000000000..48a84f8ca --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_no_majority_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_no_majority_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_no_majority_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..af868c40c --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_no_majority_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_only_current_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_only_current_diff_1_fail.json new file mode 100644 index 000000000..97cae507d --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_only_current_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_only_current_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_only_current_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..3152a9236 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_only_current_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_only_current_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_only_current_diff_2_fail.json new file mode 100644 index 000000000..aacfe0357 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_only_current_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_only_current_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_only_current_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..6c8ad10d9 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_only_current_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_only_previous_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_only_previous_diff_1_fail.json new file mode 100644 index 000000000..e265ec4ca --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_only_previous_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_only_previous_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_only_previous_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..7c6d0d8c0 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_only_previous_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_only_previous_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_only_previous_diff_2_fail.json new file mode 100644 index 000000000..08dd33562 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_only_previous_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_only_previous_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_only_previous_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..24abdc58d --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_only_previous_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_with_majority_diff_1.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_with_majority_diff_1.json new file mode 100644 index 000000000..ead97005b --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_with_majority_diff_1.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_with_majority_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_with_majority_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..078416dec --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_with_majority_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_with_majority_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_with_majority_diff_2_fail.json new file mode 100644 index 000000000..6648e0f52 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_with_majority_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_with_majority_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_with_majority_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..ca90c7554 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_3_with_majority_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_no_majority_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_no_majority_diff_1_fail.json new file mode 100644 index 000000000..433a48e9f --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_no_majority_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_no_majority_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_no_majority_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..61c389527 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_no_majority_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_no_majority_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_no_majority_diff_2_fail.json new file mode 100644 index 000000000..4ee14fb39 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_no_majority_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_no_majority_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_no_majority_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..7102b49e4 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_no_majority_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_only_current_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_only_current_diff_1_fail.json new file mode 100644 index 000000000..b21a939d8 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_only_current_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_only_current_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_only_current_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..b4ab1c77a --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_only_current_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_only_current_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_only_current_diff_2_fail.json new file mode 100644 index 000000000..1c0d2b636 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_only_current_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_only_current_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_only_current_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..b4ab1c77a --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_only_current_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_only_previous_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_only_previous_diff_1_fail.json new file mode 100644 index 000000000..0de73fd97 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_only_previous_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_only_previous_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_only_previous_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..2870f9544 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_only_previous_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_only_previous_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_only_previous_diff_2_fail.json new file mode 100644 index 000000000..217d5f6ff --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_only_previous_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_only_previous_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_only_previous_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..1c414fcdd --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_only_previous_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_with_majority_diff_1.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_with_majority_diff_1.json new file mode 100644 index 000000000..814c8bd20 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_with_majority_diff_1.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_with_majority_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_with_majority_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..0c39c538d --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_with_majority_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_with_majority_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_with_majority_diff_2_fail.json new file mode 100644 index 000000000..b0578a86a --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_with_majority_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_with_majority_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_with_majority_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..6ddcb6e6e --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/1_bit_4_with_majority_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_no_majority_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_no_majority_diff_1_fail.json new file mode 100644 index 000000000..c14aa8ae3 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_no_majority_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_no_majority_diff_1_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_no_majority_diff_1_slot_gt_target.json new file mode 100644 index 000000000..c0ff760d9 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_no_majority_diff_1_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_no_majority_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_no_majority_diff_2_fail.json new file mode 100644 index 000000000..70315d42f --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_no_majority_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_no_majority_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_no_majority_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..7406c3ca1 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_no_majority_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_only_current_diff_1.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_only_current_diff_1.json new file mode 100644 index 000000000..4dc31d24f --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_only_current_diff_1.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_only_current_diff_1_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_only_current_diff_1_slot_gt_target.json new file mode 100644 index 000000000..d8a8496df --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_only_current_diff_1_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_only_current_diff_2.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_only_current_diff_2.json new file mode 100644 index 000000000..d9f6d0b43 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_only_current_diff_2.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_only_current_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_only_current_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..395b98fad --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_only_current_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_only_previous_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_only_previous_diff_1_fail.json new file mode 100644 index 000000000..fcf639e44 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_only_previous_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_only_previous_diff_1_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_only_previous_diff_1_slot_gt_target.json new file mode 100644 index 000000000..0bc532cca --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_only_previous_diff_1_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_only_previous_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_only_previous_diff_2_fail.json new file mode 100644 index 000000000..6937d7583 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_only_previous_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_only_previous_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_only_previous_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..82037d5f8 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_only_previous_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_with_majority_diff_1.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_with_majority_diff_1.json new file mode 100644 index 000000000..93ba7520e --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_with_majority_diff_1.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_with_majority_diff_1_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_with_majority_diff_1_slot_gt_target.json new file mode 100644 index 000000000..a92bb319c --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_with_majority_diff_1_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_with_majority_diff_2.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_with_majority_diff_2.json new file mode 100644 index 000000000..bfcc4adcb --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_with_majority_diff_2.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 0, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_with_majority_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_with_majority_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..15ee76ebe --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&2_with_majority_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + false, + false + ], + "previous_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_no_majority_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_no_majority_diff_1_fail.json new file mode 100644 index 000000000..9ecf853a2 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_no_majority_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_no_majority_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_no_majority_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..81f4cdf12 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_no_majority_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_no_majority_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_no_majority_diff_2_fail.json new file mode 100644 index 000000000..dd41aef1d --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_no_majority_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_no_majority_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_no_majority_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..d60f68e1d --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_no_majority_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_only_current_diff_1.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_only_current_diff_1.json new file mode 100644 index 000000000..84f4abc9a --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_only_current_diff_1.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_only_current_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_only_current_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..2f840d377 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_only_current_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_only_current_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_only_current_diff_2_fail.json new file mode 100644 index 000000000..cd92f6ea4 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_only_current_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_only_current_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_only_current_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..4137431c1 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_only_current_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_only_previous_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_only_previous_diff_1_fail.json new file mode 100644 index 000000000..60eb81fd1 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_only_previous_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_only_previous_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_only_previous_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..a4d797172 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_only_previous_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_only_previous_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_only_previous_diff_2_fail.json new file mode 100644 index 000000000..581d4eccf --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_only_previous_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_only_previous_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_only_previous_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..498e11264 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_only_previous_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_with_majority_diff_1.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_with_majority_diff_1.json new file mode 100644 index 000000000..8d40d99a6 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_with_majority_diff_1.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_with_majority_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_with_majority_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..c60d29414 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_with_majority_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_with_majority_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_with_majority_diff_2_fail.json new file mode 100644 index 000000000..d017b0400 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_with_majority_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_with_majority_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_with_majority_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..1ab7225f3 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&3_with_majority_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_no_majority_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_no_majority_diff_1_fail.json new file mode 100644 index 000000000..200c83793 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_no_majority_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_no_majority_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_no_majority_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..11118eb3c --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_no_majority_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_no_majority_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_no_majority_diff_2_fail.json new file mode 100644 index 000000000..3a41a0da1 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_no_majority_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_no_majority_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_no_majority_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..11118eb3c --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_no_majority_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_only_current_diff_1.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_only_current_diff_1.json new file mode 100644 index 000000000..6216fd2d9 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_only_current_diff_1.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_only_current_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_only_current_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..473d79af8 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_only_current_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_only_current_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_only_current_diff_2_fail.json new file mode 100644 index 000000000..301f5cb35 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_only_current_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_only_current_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_only_current_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..1d1541d74 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_only_current_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_only_previous_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_only_previous_diff_1_fail.json new file mode 100644 index 000000000..c633f4f27 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_only_previous_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_only_previous_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_only_previous_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..62db66511 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_only_previous_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_only_previous_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_only_previous_diff_2_fail.json new file mode 100644 index 000000000..a4e632ea2 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_only_previous_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_only_previous_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_only_previous_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..bcc2fc788 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_only_previous_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_with_majority_diff_1.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_with_majority_diff_1.json new file mode 100644 index 000000000..9c67feb1c --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_with_majority_diff_1.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_with_majority_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_with_majority_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..773a95506 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_with_majority_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_with_majority_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_with_majority_diff_2_fail.json new file mode 100644 index 000000000..18ef8b761 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_with_majority_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_with_majority_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_with_majority_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..322649d46 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_1&4_with_majority_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_no_majority_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_no_majority_diff_1_fail.json new file mode 100644 index 000000000..f69b04f8b --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_no_majority_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_no_majority_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_no_majority_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..dfcd6ab14 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_no_majority_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_no_majority_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_no_majority_diff_2_fail.json new file mode 100644 index 000000000..199539e4b --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_no_majority_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_no_majority_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_no_majority_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..df149ab45 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_no_majority_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_only_current_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_only_current_diff_1_fail.json new file mode 100644 index 000000000..1d9858b47 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_only_current_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_only_current_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_only_current_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..8741475b3 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_only_current_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_only_current_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_only_current_diff_2_fail.json new file mode 100644 index 000000000..f5a11d658 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_only_current_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_only_current_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_only_current_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..f5a11d658 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_only_current_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_only_previous_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_only_previous_diff_1_fail.json new file mode 100644 index 000000000..1481ab9f7 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_only_previous_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_only_previous_diff_1_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_only_previous_diff_1_slot_gt_target.json new file mode 100644 index 000000000..7f0524e92 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_only_previous_diff_1_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_only_previous_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_only_previous_diff_2_fail.json new file mode 100644 index 000000000..552b375c3 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_only_previous_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_only_previous_diff_2_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_only_previous_diff_2_slot_gt_target.json new file mode 100644 index 000000000..dcf3349e1 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_only_previous_diff_2_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_with_majority_diff_1.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_with_majority_diff_1.json new file mode 100644 index 000000000..276438a0a --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_with_majority_diff_1.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_with_majority_diff_1_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_with_majority_diff_1_slot_gt_target.json new file mode 100644 index 000000000..27a24bf18 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_with_majority_diff_1_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_with_majority_diff_2.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_with_majority_diff_2.json new file mode 100644 index 000000000..32e8c45b6 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_with_majority_diff_2.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_with_majority_diff_2_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_with_majority_diff_2_slot_gt_target.json new file mode 100644 index 000000000..d2e9e3394 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&3_with_majority_diff_2_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_no_majority_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_no_majority_diff_1_fail.json new file mode 100644 index 000000000..2b57afd40 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_no_majority_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_no_majority_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_no_majority_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..20932950d --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_no_majority_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_no_majority_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_no_majority_diff_2_fail.json new file mode 100644 index 000000000..b57a7b632 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_no_majority_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_no_majority_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_no_majority_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..8313400f2 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_no_majority_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_only_current_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_only_current_diff_1_fail.json new file mode 100644 index 000000000..e3e9a9ae9 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_only_current_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_only_current_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_only_current_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..00a147b24 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_only_current_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_only_current_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_only_current_diff_2_fail.json new file mode 100644 index 000000000..1abf009f6 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_only_current_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_only_current_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_only_current_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..00a147b24 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_only_current_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_only_previous_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_only_previous_diff_1_fail.json new file mode 100644 index 000000000..3ccddbd59 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_only_previous_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_only_previous_diff_1_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_only_previous_diff_1_slot_gt_target.json new file mode 100644 index 000000000..a5dcf29c0 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_only_previous_diff_1_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_only_previous_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_only_previous_diff_2_fail.json new file mode 100644 index 000000000..1410a7618 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_only_previous_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_only_previous_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_only_previous_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..9747e68bf --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_only_previous_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_with_majority_diff_1.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_with_majority_diff_1.json new file mode 100644 index 000000000..7a2a5f241 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_with_majority_diff_1.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_with_majority_diff_1_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_with_majority_diff_1_slot_gt_target.json new file mode 100644 index 000000000..ed2214ab6 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_with_majority_diff_1_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_with_majority_diff_2.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_with_majority_diff_2.json new file mode 100644 index 000000000..1b69faf56 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_with_majority_diff_2.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_with_majority_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_with_majority_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..d4d446d08 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_2&4_with_majority_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_no_majority_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_no_majority_diff_1_fail.json new file mode 100644 index 000000000..73c3cd2b3 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_no_majority_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_no_majority_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_no_majority_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..208263c69 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_no_majority_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_no_majority_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_no_majority_diff_2_fail.json new file mode 100644 index 000000000..5bd095a43 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_no_majority_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_no_majority_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_no_majority_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..3f5ca61d1 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_no_majority_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_only_current_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_only_current_diff_1_fail.json new file mode 100644 index 000000000..5bcd19c70 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_only_current_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_only_current_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_only_current_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..f990ebe0b --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_only_current_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_only_current_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_only_current_diff_2_fail.json new file mode 100644 index 000000000..e51c314d8 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_only_current_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_only_current_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_only_current_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..095219e52 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_only_current_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_only_previous_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_only_previous_diff_1_fail.json new file mode 100644 index 000000000..c935e8a7b --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_only_previous_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_only_previous_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_only_previous_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..205e9fa16 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_only_previous_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_only_previous_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_only_previous_diff_2_fail.json new file mode 100644 index 000000000..52bdc281c --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_only_previous_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_only_previous_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_only_previous_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..9493cd06b --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_only_previous_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_with_majority_diff_1.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_with_majority_diff_1.json new file mode 100644 index 000000000..8fa7d4636 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_with_majority_diff_1.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_with_majority_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_with_majority_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..d78400076 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_with_majority_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_with_majority_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_with_majority_diff_2_fail.json new file mode 100644 index 000000000..9a69b1750 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_with_majority_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_with_majority_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_with_majority_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..2002a6f6e --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/2_bits_3&4_with_majority_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_no_majority_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_no_majority_diff_1_fail.json new file mode 100644 index 000000000..4d822de17 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_no_majority_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_no_majority_diff_1_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_no_majority_diff_1_slot_gt_target.json new file mode 100644 index 000000000..2898a0e00 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_no_majority_diff_1_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_no_majority_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_no_majority_diff_2_fail.json new file mode 100644 index 000000000..38cd82163 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_no_majority_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_no_majority_diff_2_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_no_majority_diff_2_slot_gt_target.json new file mode 100644 index 000000000..2898a0e00 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_no_majority_diff_2_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_only_current_diff_1.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_only_current_diff_1.json new file mode 100644 index 000000000..b193bbff9 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_only_current_diff_1.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_only_current_diff_1_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_only_current_diff_1_slot_gt_target.json new file mode 100644 index 000000000..d7965a1d8 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_only_current_diff_1_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_only_current_diff_2.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_only_current_diff_2.json new file mode 100644 index 000000000..354dd75ff --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_only_current_diff_2.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_only_current_diff_2_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_only_current_diff_2_slot_gt_target.json new file mode 100644 index 000000000..3ffb90e6a --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_only_current_diff_2_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_only_previous_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_only_previous_diff_1_fail.json new file mode 100644 index 000000000..a30f3ed3c --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_only_previous_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_only_previous_diff_1_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_only_previous_diff_1_slot_gt_target.json new file mode 100644 index 000000000..51f295b01 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_only_previous_diff_1_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_only_previous_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_only_previous_diff_2_fail.json new file mode 100644 index 000000000..6e637e729 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_only_previous_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_only_previous_diff_2_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_only_previous_diff_2_slot_gt_target.json new file mode 100644 index 000000000..0357b9078 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_only_previous_diff_2_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_with_majority_diff_1.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_with_majority_diff_1.json new file mode 100644 index 000000000..c96defc98 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_with_majority_diff_1.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_with_majority_diff_1_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_with_majority_diff_1_slot_gt_target.json new file mode 100644 index 000000000..5eb9b211c --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_with_majority_diff_1_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_with_majority_diff_2.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_with_majority_diff_2.json new file mode 100644 index 000000000..7fb666402 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_with_majority_diff_2.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_with_majority_diff_2_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_with_majority_diff_2_slot_gt_target.json new file mode 100644 index 000000000..2898a0e00 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&3_with_majority_diff_2_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + true, + false + ], + "previous_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_no_majority_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_no_majority_diff_1_fail.json new file mode 100644 index 000000000..95d89529b --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_no_majority_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_no_majority_diff_1_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_no_majority_diff_1_slot_gt_target.json new file mode 100644 index 000000000..28c92d48f --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_no_majority_diff_1_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_no_majority_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_no_majority_diff_2_fail.json new file mode 100644 index 000000000..766579e2b --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_no_majority_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_no_majority_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_no_majority_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..d7d137bf3 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_no_majority_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_only_current_diff_1.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_only_current_diff_1.json new file mode 100644 index 000000000..7a256cede --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_only_current_diff_1.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_only_current_diff_1_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_only_current_diff_1_slot_gt_target.json new file mode 100644 index 000000000..32ffa0dee --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_only_current_diff_1_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_only_current_diff_2.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_only_current_diff_2.json new file mode 100644 index 000000000..67a787209 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_only_current_diff_2.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_only_current_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_only_current_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..168624298 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_only_current_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_only_previous_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_only_previous_diff_1_fail.json new file mode 100644 index 000000000..f34674f35 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_only_previous_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_only_previous_diff_1_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_only_previous_diff_1_slot_gt_target.json new file mode 100644 index 000000000..c7d30ff18 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_only_previous_diff_1_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_only_previous_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_only_previous_diff_2_fail.json new file mode 100644 index 000000000..4009d152b --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_only_previous_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_only_previous_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_only_previous_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..bfb2fd6a3 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_only_previous_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_with_majority_diff_1.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_with_majority_diff_1.json new file mode 100644 index 000000000..c091680e5 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_with_majority_diff_1.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_with_majority_diff_1_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_with_majority_diff_1_slot_gt_target.json new file mode 100644 index 000000000..314d52f43 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_with_majority_diff_1_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_with_majority_diff_2.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_with_majority_diff_2.json new file mode 100644 index 000000000..0e2a4b6c5 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_with_majority_diff_2.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_with_majority_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_with_majority_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..546a7acfc --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&2&4_with_majority_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + false, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_no_majority_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_no_majority_diff_1_fail.json new file mode 100644 index 000000000..a331113d0 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_no_majority_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_no_majority_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_no_majority_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..81d597466 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_no_majority_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_no_majority_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_no_majority_diff_2_fail.json new file mode 100644 index 000000000..c7affc1e4 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_no_majority_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_no_majority_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_no_majority_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..73cab8607 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_no_majority_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_only_current_diff_1.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_only_current_diff_1.json new file mode 100644 index 000000000..3e8f63c99 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_only_current_diff_1.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_only_current_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_only_current_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..6b08dc4c4 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_only_current_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_only_current_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_only_current_diff_2_fail.json new file mode 100644 index 000000000..c9405df5b --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_only_current_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_only_current_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_only_current_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..239a89c9d --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_only_current_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_only_previous_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_only_previous_diff_1_fail.json new file mode 100644 index 000000000..766b11a65 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_only_previous_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_only_previous_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_only_previous_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..7560fd3d6 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_only_previous_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_only_previous_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_only_previous_diff_2_fail.json new file mode 100644 index 000000000..7b2ee8aaf --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_only_previous_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_only_previous_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_only_previous_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..e06ca1b77 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_only_previous_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_with_majority_diff_1.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_with_majority_diff_1.json new file mode 100644 index 000000000..4a7546ed9 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_with_majority_diff_1.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_with_majority_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_with_majority_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..91636b5a5 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_with_majority_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_with_majority_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_with_majority_diff_2_fail.json new file mode 100644 index 000000000..33e2f0666 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_with_majority_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_with_majority_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_with_majority_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..59ea58833 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_1&3&4_with_majority_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + false, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_no_majority_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_no_majority_diff_1_fail.json new file mode 100644 index 000000000..a61c5bf38 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_no_majority_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_no_majority_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_no_majority_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..6d2150519 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_no_majority_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_no_majority_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_no_majority_diff_2_fail.json new file mode 100644 index 000000000..238141f11 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_no_majority_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_no_majority_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_no_majority_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..eec4e3d02 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_no_majority_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_only_current_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_only_current_diff_1_fail.json new file mode 100644 index 000000000..77f7f094a --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_only_current_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_only_current_diff_1_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_only_current_diff_1_slot_gt_target_fail.json new file mode 100644 index 000000000..77f7f094a --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_only_current_diff_1_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_only_current_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_only_current_diff_2_fail.json new file mode 100644 index 000000000..776e04648 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_only_current_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_only_current_diff_2_slot_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_only_current_diff_2_slot_gt_target_fail.json new file mode 100644 index 000000000..f4e2a5797 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_only_current_diff_2_slot_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_only_previous_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_only_previous_diff_1_fail.json new file mode 100644 index 000000000..f16884dd7 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_only_previous_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_only_previous_diff_1_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_only_previous_diff_1_slot_gt_target.json new file mode 100644 index 000000000..722550b0f --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_only_previous_diff_1_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_only_previous_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_only_previous_diff_2_fail.json new file mode 100644 index 000000000..5f08de10f --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_only_previous_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_only_previous_diff_2_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_only_previous_diff_2_slot_gt_target.json new file mode 100644 index 000000000..138b58fa9 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_only_previous_diff_2_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + false, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_with_majority_diff_1.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_with_majority_diff_1.json new file mode 100644 index 000000000..6bf968e02 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_with_majority_diff_1.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_with_majority_diff_1_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_with_majority_diff_1_slot_gt_target.json new file mode 100644 index 000000000..0c76e8d1a --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_with_majority_diff_1_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_with_majority_diff_2.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_with_majority_diff_2.json new file mode 100644 index 000000000..c50d0d07a --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_with_majority_diff_2.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_with_majority_diff_2_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_with_majority_diff_2_slot_gt_target.json new file mode 100644 index 000000000..b21c75404 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/3_bits_2&3&4_with_majority_diff_2_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + false, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_invalid_slot_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_invalid_slot_fail.json new file mode 100644 index 000000000..4e8c3c395 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_invalid_slot_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 123456790, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_no_majority_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_no_majority_diff_1_fail.json new file mode 100644 index 000000000..9025692ec --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_no_majority_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_no_majority_diff_1_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_no_majority_diff_1_slot_gt_target.json new file mode 100644 index 000000000..081c2e880 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_no_majority_diff_1_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_no_majority_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_no_majority_diff_2_fail.json new file mode 100644 index 000000000..74eab078e --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_no_majority_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_no_majority_diff_2_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_no_majority_diff_2_slot_gt_target.json new file mode 100644 index 000000000..09f289c39 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_no_majority_diff_2_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_only_current_diff_1.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_only_current_diff_1.json new file mode 100644 index 000000000..9a9d907fc --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_only_current_diff_1.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_only_current_diff_1_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_only_current_diff_1_slot_gt_target.json new file mode 100644 index 000000000..d7f26b25c --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_only_current_diff_1_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_only_current_diff_2.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_only_current_diff_2.json new file mode 100644 index 000000000..9c8064772 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_only_current_diff_2.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_only_current_diff_2_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_only_current_diff_2_slot_gt_target.json new file mode 100644 index 000000000..3c3127e83 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_only_current_diff_2_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 1, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_only_previous_diff_1_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_only_previous_diff_1_fail.json new file mode 100644 index 000000000..ce1c7b922 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_only_previous_diff_1_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_only_previous_diff_1_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_only_previous_diff_1_slot_gt_target.json new file mode 100644 index 000000000..518e86d18 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_only_previous_diff_1_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_only_previous_diff_2_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_only_previous_diff_2_fail.json new file mode 100644 index 000000000..d2b99c62e --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_only_previous_diff_2_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_only_previous_diff_2_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_only_previous_diff_2_slot_gt_target.json new file mode 100644 index 000000000..7406dd798 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_only_previous_diff_2_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 1, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_1.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_1.json new file mode 100644 index 000000000..08b8d6700 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_1.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_1_invalid_justified_checkpoint_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_1_invalid_justified_checkpoint_fail.json new file mode 100644 index 000000000..44aafaac6 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_1_invalid_justified_checkpoint_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 12345, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb0" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_1_invalid_justified_checkpoint_root_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_1_invalid_justified_checkpoint_root_fail.json new file mode 100644 index 000000000..0a3b56073 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_1_invalid_justified_checkpoint_root_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb2" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_1_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_1_slot_gt_target.json new file mode 100644 index 000000000..8ddf46009 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_1_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_1_slot_gt_target_invalid_justified_checkpoint_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_1_slot_gt_target_invalid_justified_checkpoint_fail.json new file mode 100644 index 000000000..acc3286ea --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_1_slot_gt_target_invalid_justified_checkpoint_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 12345, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb3" + }, + "current_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_1_slot_gt_target_invalid_justified_checkpoint_root_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_1_slot_gt_target_invalid_justified_checkpoint_root_fail.json new file mode 100644 index 000000000..0cd7d31b8 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_1_slot_gt_target_invalid_justified_checkpoint_root_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 123456789, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb2" + }, + "current_justified_checkpoint": { + "epoch": 1234567, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb3" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_2.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_2.json new file mode 100644 index 000000000..bfb979db6 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_2.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_2_invalid_justified_checkpoint_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_2_invalid_justified_checkpoint_fail.json new file mode 100644 index 000000000..11389210e --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_2_invalid_justified_checkpoint_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 123456787, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb2" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_2_invalid_justified_checkpoint_root_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_2_invalid_justified_checkpoint_root_fail.json new file mode 100644 index 000000000..d1c4ee495 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_2_invalid_justified_checkpoint_root_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb2" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_2_slot_gt_target.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_2_slot_gt_target.json new file mode 100644 index 000000000..2c4e2d90a --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_2_slot_gt_target.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "current_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_2_slot_gt_target_invalid_justified_checkpoint_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_2_slot_gt_target_invalid_justified_checkpoint_fail.json new file mode 100644 index 000000000..4a5fd19dc --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_2_slot_gt_target_invalid_justified_checkpoint_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 12345678, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb3" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_2_slot_gt_target_invalid_justified_checkpoint_root_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_2_slot_gt_target_invalid_justified_checkpoint_root_fail.json new file mode 100644 index 000000000..6263953ff --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/4_bits_with_majority_diff_2_slot_gt_target_invalid_justified_checkpoint_root_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 123456788, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb2" + }, + "current_justified_checkpoint": { + "epoch": 1234567, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb3" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/invalid_source_target_distance_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/invalid_source_target_distance_fail.json new file mode 100644 index 000000000..a8364b0df --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/invalid_source_target_distance_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456787, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/source_eq_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/source_eq_target_fail.json new file mode 100644 index 000000000..3fca3a14c --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/source_eq_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617280, + "target": { + "epoch": 123456790, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456790, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/tests/prove_finality/source_gt_target_fail.json b/casper-finality-proofs/src/test_engine/tests/prove_finality/source_gt_target_fail.json new file mode 100644 index 000000000..bd055fe95 --- /dev/null +++ b/casper-finality-proofs/src/test_engine/tests/prove_finality/source_gt_target_fail.json @@ -0,0 +1,28 @@ +{ + "slot": 3950617312, + "target": { + "epoch": 123456789, + "root": "b85c1507c01db2a58ffcb044a4a785232f5a216b76377c2618a186577d6ec88a" + }, + "source": { + "epoch": 123456790, + "root": "0xc014dab4e45229aa677898bac663fe791c2d4ec62af0e328f02c5a0ba3f1eeb1" + }, + "total_number_of_validators": 65536, + "previous_epoch_attested_validators": 52430, + "current_epoch_attested_validators": 52430, + "justification_bits": [ + true, + true, + true, + true + ], + "previous_justified_checkpoint": { + "epoch": 0, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "current_justified_checkpoint": { + "epoch": 123456788, + "root": "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} \ No newline at end of file diff --git a/casper-finality-proofs/src/test_engine/types/compute_shuffled_index_data.rs b/casper-finality-proofs/src/test_engine/types/compute_shuffled_index_data.rs index c6ebe7dfe..53d61e909 100644 --- a/casper-finality-proofs/src/test_engine/types/compute_shuffled_index_data.rs +++ b/casper-finality-proofs/src/test_engine/types/compute_shuffled_index_data.rs @@ -3,7 +3,7 @@ use ethers::types::H256; use serde_derive::{Deserialize, Serialize}; #[derive(Debug, Default, Clone, PartialEq, Eq, Deserialize, Serialize)] -pub struct TestData { +pub struct ComputeShuffledIndexData { pub count: u64, pub seed: H256, pub mapping: Vec, diff --git a/casper-finality-proofs/src/test_engine/types/mod.rs b/casper-finality-proofs/src/test_engine/types/mod.rs index 36decff0c..573d54143 100644 --- a/casper-finality-proofs/src/test_engine/types/mod.rs +++ b/casper-finality-proofs/src/test_engine/types/mod.rs @@ -1 +1,2 @@ pub mod compute_shuffled_index_data; +pub mod prove_finality_data; diff --git a/casper-finality-proofs/src/test_engine/types/prove_finality_data.rs b/casper-finality-proofs/src/test_engine/types/prove_finality_data.rs new file mode 100644 index 000000000..91432bbcb --- /dev/null +++ b/casper-finality-proofs/src/test_engine/types/prove_finality_data.rs @@ -0,0 +1,22 @@ +use core::fmt::Debug; +use primitive_types::H256; +use serde_derive::{Deserialize, Serialize}; + +#[derive(Debug, Default, Clone, PartialEq, Eq, Deserialize, Serialize)] +pub struct ProveFinalityData { + pub slot: u64, + pub total_number_of_validators: u64, + pub previous_epoch_attested_validators: u64, + pub current_epoch_attested_validators: u64, + pub source: CheckpointBlockData, + pub target: CheckpointBlockData, + pub justification_bits: Vec, + pub previous_justified_checkpoint: CheckpointBlockData, + pub current_justified_checkpoint: CheckpointBlockData, +} + +#[derive(Debug, Default, Clone, PartialEq, Eq, Deserialize, Serialize)] +pub struct CheckpointBlockData { + pub epoch: u64, + pub root: H256, +} diff --git a/casper-finality-proofs/src/test_engine/utils/setup.rs b/casper-finality-proofs/src/test_engine/utils/setup.rs index d5d3ad81d..201ff14ac 100644 --- a/casper-finality-proofs/src/test_engine/utils/setup.rs +++ b/casper-finality-proofs/src/test_engine/utils/setup.rs @@ -5,6 +5,9 @@ use crate::test_engine::wrappers::compute_shuffled_index::wrapper_mainnet::{ use crate::test_engine::wrappers::compute_shuffled_index::wrapper_minimal::{ wrapper as wrapper_minimal, MINIMAL_CIRCUIT as circuit_minimal, }; +use crate::test_engine::wrappers::wrapper_prove_finality::{ + wrapper as wrapper_prove_finality, CIRCUIT as circuit_prove_finality, +}; use crate::test_engine::wrappers::wrapper_weigh_justification_and_finalization::{ wrapper as wrapper_weigh_justification_and_finalization, CIRCUIT as circuit_weigh_justification_and_finalization, @@ -17,6 +20,7 @@ pub enum TestWrappers { WrapperComputeShuffledIndexConsensusMainnet, WrapperComputeShuffledIndexConsensusMinimal, WrapperWeighJustificationAndFinalizationConsensusMainnet, + WrapperProveFinality, } pub fn map_test_to_wrapper( @@ -46,6 +50,12 @@ pub fn map_test_to_wrapper( }), Box::new(|path, should_assert| wrapper_minimal(&path, should_assert)), ), + TestWrappers::WrapperProveFinality => ( + Box::new(|| { + Lazy::force(&circuit_prove_finality); + }), + Box::new(|path, should_assert| wrapper_prove_finality(&path, should_assert)), + ), } } @@ -66,6 +76,11 @@ pub fn init_tests() -> Vec { "../vendor/consensus-spec-tests/tests/minimal/phase0/shuffling/core/shuffle".to_string(), false, )); + tests.push(TestCase::new( + TestWrappers::WrapperProveFinality, + "./src/test_engine/tests/prove_finality".to_string(), + false, + )); tests } diff --git a/casper-finality-proofs/src/test_engine/wrappers/compute_shuffled_index/mod.rs b/casper-finality-proofs/src/test_engine/wrappers/compute_shuffled_index/mod.rs index b0c547f0a..adbbbe8c5 100644 --- a/casper-finality-proofs/src/test_engine/wrappers/compute_shuffled_index/mod.rs +++ b/casper-finality-proofs/src/test_engine/wrappers/compute_shuffled_index/mod.rs @@ -1,2 +1,2 @@ pub mod wrapper_mainnet; -pub mod wrapper_minimal; \ No newline at end of file +pub mod wrapper_minimal; diff --git a/casper-finality-proofs/src/test_engine/wrappers/compute_shuffled_index/wrapper_mainnet.rs b/casper-finality-proofs/src/test_engine/wrappers/compute_shuffled_index/wrapper_mainnet.rs index c147a8a32..a48dac37f 100644 --- a/casper-finality-proofs/src/test_engine/wrappers/compute_shuffled_index/wrapper_mainnet.rs +++ b/casper-finality-proofs/src/test_engine/wrappers/compute_shuffled_index/wrapper_mainnet.rs @@ -1,6 +1,6 @@ use crate::assert_equal; use crate::compute_shuffled_index::circuit::define; -use crate::test_engine::types::compute_shuffled_index_data::TestData; +use crate::test_engine::types::compute_shuffled_index_data::ComputeShuffledIndexData; use crate::test_engine::utils::parsers::parse_file::read_fixture; use once_cell::sync::Lazy; use plonky2x::backend::circuit::MockCircuitBuild; @@ -16,7 +16,7 @@ pub static MAINNET_CIRCUIT: Lazy> = Lazy: }); pub fn wrapper(path: &str, should_assert: bool) -> Result { - let json_data: TestData = read_fixture::(path); + let json_data = read_fixture::(path); let mut result_indices: Vec = Vec::new(); diff --git a/casper-finality-proofs/src/test_engine/wrappers/compute_shuffled_index/wrapper_minimal.rs b/casper-finality-proofs/src/test_engine/wrappers/compute_shuffled_index/wrapper_minimal.rs index 90ca3741c..8a63428e0 100644 --- a/casper-finality-proofs/src/test_engine/wrappers/compute_shuffled_index/wrapper_minimal.rs +++ b/casper-finality-proofs/src/test_engine/wrappers/compute_shuffled_index/wrapper_minimal.rs @@ -1,6 +1,6 @@ use crate::assert_equal; use crate::compute_shuffled_index::circuit::define; -use crate::test_engine::types::compute_shuffled_index_data::TestData; +use crate::test_engine::types::compute_shuffled_index_data::ComputeShuffledIndexData; use crate::test_engine::utils::parsers::parse_file::read_fixture; use once_cell::sync::Lazy; use plonky2x::backend::circuit::MockCircuitBuild; @@ -16,7 +16,7 @@ pub static MINIMAL_CIRCUIT: Lazy> = Lazy: }); pub fn wrapper(path: &str, should_assert: bool) -> Result { - let json_data: TestData = read_fixture::(path); + let json_data = read_fixture::(path); let mut result_indices: Vec = Vec::new(); diff --git a/casper-finality-proofs/src/test_engine/wrappers/mod.rs b/casper-finality-proofs/src/test_engine/wrappers/mod.rs index b3cd13e40..78ce53afb 100644 --- a/casper-finality-proofs/src/test_engine/wrappers/mod.rs +++ b/casper-finality-proofs/src/test_engine/wrappers/mod.rs @@ -1,2 +1,3 @@ pub mod compute_shuffled_index; +pub mod wrapper_prove_finality; pub mod wrapper_weigh_justification_and_finalization; diff --git a/casper-finality-proofs/src/test_engine/wrappers/wrapper_prove_finality.rs b/casper-finality-proofs/src/test_engine/wrappers/wrapper_prove_finality.rs new file mode 100644 index 000000000..6b7f8232e --- /dev/null +++ b/casper-finality-proofs/src/test_engine/wrappers/wrapper_prove_finality.rs @@ -0,0 +1,75 @@ +use once_cell::sync::Lazy; +use plonky2x::{ + backend::circuit::{Circuit, CircuitBuild, DefaultParameters, PlonkParameters}, + frontend::{builder::CircuitBuilder, uint::uint64::U64Variable}, +}; + +use crate::{ + prove_finality::circuit::ProveFinality, + test_engine::{ + types::prove_finality_data::ProveFinalityData, utils::parsers::parse_file::read_fixture, + }, + weigh_justification_and_finalization::{ + checkpoint::{CheckpointValue, CheckpointVariable}, + justification_bits::{JustificationBitsValue, JustificationBitsVariable}, + }, +}; + +// Singleton-like pattern +pub static CIRCUIT: Lazy> = Lazy::new(|| { + let mut builder = CircuitBuilder::::new(); + ProveFinality::define(&mut builder); + builder.build() +}); + +pub fn wrapper(path: &str, _should_assert: bool) -> Result { + type L = DefaultParameters; + const D: usize = 2; + let mut builder = CircuitBuilder::::new(); + ProveFinality::define(&mut builder); + let mut input = CIRCUIT.input(); + let json_data = read_fixture::(path); + + let total_number_of_validators = json_data.total_number_of_validators; + let previous_epoch_attested_validators = json_data.previous_epoch_attested_validators; + let current_epoch_attested_validators = json_data.current_epoch_attested_validators; + let slot = json_data.slot; + let source = CheckpointValue { + epoch: json_data.source.epoch, + root: json_data.source.root, + }; + + let target = CheckpointValue { + epoch: json_data.target.epoch, + root: json_data.target.root, + }; + + let justification_bits = JustificationBitsValue::<>::Field> { + bits: json_data.justification_bits, + }; + + let previous_justified_checkpoint = CheckpointValue { + epoch: json_data.previous_justified_checkpoint.epoch, + root: json_data.previous_justified_checkpoint.root, + }; + + let current_justified_checkpoint = CheckpointValue { + epoch: json_data.current_justified_checkpoint.epoch, + root: json_data.current_justified_checkpoint.root, + }; + + input.write::(source.clone()); + input.write::(target); + input.write::(slot); + input.write::(total_number_of_validators); + input.write::(justification_bits); + input.write::(previous_epoch_attested_validators); + input.write::(current_epoch_attested_validators); + input.write::(previous_justified_checkpoint); + input.write::(current_justified_checkpoint); + + let (proof, output) = CIRCUIT.prove(&input); + CIRCUIT.verify(&proof, &input, &output); + + Ok(String::new()) +} diff --git a/casper-finality-proofs/src/weigh_justification_and_finalization/epoch_processing.rs b/casper-finality-proofs/src/weigh_justification_and_finalization/epoch_processing.rs index 37bdffacd..373f7015c 100644 --- a/casper-finality-proofs/src/weigh_justification_and_finalization/epoch_processing.rs +++ b/casper-finality-proofs/src/weigh_justification_and_finalization/epoch_processing.rs @@ -6,7 +6,7 @@ use crate::{ }; use plonky2x::prelude::{BoolVariable, CircuitBuilder, PlonkParameters, U64Variable}; -fn is_supermajority_link, const D: usize>( +pub fn is_supermajority_link, const D: usize>( builder: &mut CircuitBuilder, target_balance: Gwei, total_active_balance: Gwei, diff --git a/casper-finality-proofs/src/weigh_justification_and_finalization/mod.rs b/casper-finality-proofs/src/weigh_justification_and_finalization/mod.rs index dd23013b4..8e0a168b1 100644 --- a/casper-finality-proofs/src/weigh_justification_and_finalization/mod.rs +++ b/casper-finality-proofs/src/weigh_justification_and_finalization/mod.rs @@ -1,8 +1,8 @@ mod beacon_state_field_verification; mod circuit; -mod epoch_processing; pub mod checkpoint; +pub mod epoch_processing; pub mod justification_bits; pub use circuit::WeighJustificationAndFinalization;