From cc33e1a4c629f874d0343671f98285fc0b569d9e Mon Sep 17 00:00:00 2001 From: srdtrk Date: Sat, 2 Nov 2024 12:03:19 +0800 Subject: [PATCH 1/6] feat: added new lib --- Cargo.lock | 12 ++ packages/prover/Cargo.toml | 15 ++ packages/prover/README.md | 3 + packages/prover/src/lib.rs | 5 + packages/prover/src/programs.rs | 47 +++++++ packages/prover/src/prover.rs | 236 ++++++++++++++++++++++++++++++++ packages/utils/src/lib.rs | 3 +- 7 files changed, 319 insertions(+), 2 deletions(-) create mode 100644 packages/prover/Cargo.toml create mode 100644 packages/prover/README.md create mode 100644 packages/prover/src/lib.rs create mode 100644 packages/prover/src/programs.rs create mode 100644 packages/prover/src/prover.rs diff --git a/Cargo.lock b/Cargo.lock index 389a279..8b3c23c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7047,6 +7047,18 @@ dependencies = [ "unionlabs", ] +[[package]] +name = "sp1-ics07-tendermint-prover" +version = "0.1.0" +dependencies = [ + "ibc-client-tendermint-types", + "ibc-core-commitment-types", + "ibc-proto", + "log", + "sp1-ics07-tendermint-solidity", + "sp1-sdk", +] + [[package]] name = "sp1-ics07-tendermint-solidity" version = "0.1.0" diff --git a/packages/prover/Cargo.toml b/packages/prover/Cargo.toml new file mode 100644 index 000000000..43e9ed1 --- /dev/null +++ b/packages/prover/Cargo.toml @@ -0,0 +1,15 @@ +[package] +name = "sp1-ics07-tendermint-prover" +version = { workspace = true } +authors = { workspace = true } +edition = { workspace = true } +repository = { workspace = true } +license = { workspace = true } + +[dependencies] +sp1-sdk = { workspace = true } +ibc-client-tendermint-types = { workspace = true } +ibc-core-commitment-types = { workspace = true } +ibc-proto = { workspace = true } +sp1-ics07-tendermint-solidity = { workspace = true } +log = { workspace = true } diff --git a/packages/prover/README.md b/packages/prover/README.md new file mode 100644 index 000000000..db7028e --- /dev/null +++ b/packages/prover/README.md @@ -0,0 +1,3 @@ +# Prover Library for SP1 ICS-07 Tendermint + +This crate provides a prover library for `sp1-ics07-tendermint`. diff --git a/packages/prover/src/lib.rs b/packages/prover/src/lib.rs new file mode 100644 index 000000000..66e0d5f --- /dev/null +++ b/packages/prover/src/lib.rs @@ -0,0 +1,5 @@ +#![doc = include_str!("../README.md")] +#![deny(clippy::nursery, clippy::pedantic, warnings, missing_docs)] + +pub mod programs; +pub mod prover; diff --git a/packages/prover/src/programs.rs b/packages/prover/src/programs.rs new file mode 100644 index 000000000..df7f12e --- /dev/null +++ b/packages/prover/src/programs.rs @@ -0,0 +1,47 @@ +//! Programs for `sp1-ics07-tendermint`. + +use sp1_sdk::{MockProver, Prover, SP1VerifyingKey}; + +/// Trait for SP1 ICS07 Tendermint programs. +pub trait SP1Program { + /// The ELF file for the program. + const ELF: &'static [u8]; + + /// Get the verifying key for the program using [`MockProver`]. + #[must_use] + fn get_vkey() -> SP1VerifyingKey { + let mock_prover = MockProver::new(); + let (_, vkey) = mock_prover.setup(Self::ELF); + vkey + } +} + +/// SP1 ICS07 Tendermint update client program. +pub struct UpdateClientProgram; + +/// SP1 ICS07 Tendermint verify (non)membership program. +pub struct MembershipProgram; + +/// SP1 ICS07 Tendermint update client and verify (non)membership program. +pub struct UpdateClientAndMembershipProgram; + +/// SP1 ICS07 Tendermint misbehaviour program. +pub struct MisbehaviourProgram; + +impl SP1Program for UpdateClientProgram { + const ELF: &'static [u8] = + include_bytes!("../../elf/update-client-riscv32im-succinct-zkvm-elf"); +} + +impl SP1Program for MembershipProgram { + const ELF: &'static [u8] = include_bytes!("../../elf/membership-riscv32im-succinct-zkvm-elf"); +} + +impl SP1Program for UpdateClientAndMembershipProgram { + const ELF: &'static [u8] = + include_bytes!("../../elf/uc-and-membership-riscv32im-succinct-zkvm-elf"); +} + +impl SP1Program for MisbehaviourProgram { + const ELF: &'static [u8] = include_bytes!("../../elf/misbehaviour-riscv32im-succinct-zkvm-elf"); +} diff --git a/packages/prover/src/prover.rs b/packages/prover/src/prover.rs new file mode 100644 index 000000000..2d24b2c --- /dev/null +++ b/packages/prover/src/prover.rs @@ -0,0 +1,236 @@ +//! Prover for SP1 ICS07 Tendermint programs. + +use crate::programs::{ + MembershipProgram, MisbehaviourProgram, SP1Program, UpdateClientAndMembershipProgram, + UpdateClientProgram, +}; +use ibc_client_tendermint_types::{Header, Misbehaviour}; +use ibc_core_commitment_types::merkle::MerkleProof; +use ibc_proto::Protobuf; +use sp1_ics07_tendermint_solidity::IICS07TendermintMsgs::{ + ConsensusState as SolConsensusState, Env, +}; +use sp1_sdk::{ProverClient, SP1ProofWithPublicValues, SP1ProvingKey, SP1Stdin, SP1VerifyingKey}; + +/// A prover for for [`SP1Program`] programs. +#[allow(clippy::module_name_repetitions)] +pub struct SP1ICS07TendermintProver { + /// [`sp1_sdk::ProverClient`] for generating proofs. + pub prover_client: ProverClient, + /// The proving key. + pub pkey: SP1ProvingKey, + /// The verifying key. + pub vkey: SP1VerifyingKey, + _phantom: std::marker::PhantomData, +} + +impl Default for SP1ICS07TendermintProver { + fn default() -> Self { + Self::new() + } +} + +impl SP1ICS07TendermintProver { + /// Create a new prover. + #[must_use] + pub fn new() -> Self { + log::info!("Initializing SP1 ProverClient..."); + let prover_client = ProverClient::new(); + let (pkey, vkey) = prover_client.setup(T::ELF); + log::info!("SP1 ProverClient initialized"); + Self { + prover_client, + pkey, + vkey, + _phantom: std::marker::PhantomData, + } + } +} + +impl SP1ICS07TendermintProver { + /// Generate a proof of an update from `trusted_consensus_state` to a proposed header. + /// + /// # Panics + /// Panics if the inputs cannot be encoded, the proof cannot be generated or the proof is + /// invalid. + #[must_use] + pub fn generate_proof( + &self, + trusted_consensus_state: &SolConsensusState, + proposed_header: &Header, + contract_env: &Env, + ) -> SP1ProofWithPublicValues { + // Encode the inputs into our program. + // NOTE: We are using SolConsensusState because I'm failing to serialize the + // ConsensusState struct properly. It always seems modified when deserialized. + let encoded_1 = bincode::serialize(&trusted_consensus_state).unwrap(); + // NOTE: The Header struct is not deserializable by bincode, so we use CBOR instead. + let encoded_2 = serde_cbor::to_vec(proposed_header).unwrap(); + let encoded_3 = bincode::serialize(contract_env).unwrap(); + // TODO: find an encoding that works for all the structs above. + + // Write the encoded light blocks to stdin. + let mut stdin = SP1Stdin::new(); + stdin.write_vec(encoded_1); + stdin.write_vec(encoded_2); + stdin.write_vec(encoded_3); + + // Generate the proof. Depending on SP1_PROVER env variable, this may be a mock, local or network proof. + let proof = self + .prover_client + .prove(&self.pkey, stdin) + .plonk() + .run() + .expect("proving failed"); + + // Verify proof. + self.prover_client + .verify(&proof, &self.vkey) + .expect("Verification failed"); + + // Return the proof. + proof + } +} + +impl SP1ICS07TendermintProver { + /// Generate a proof of verify (non)membership for multiple key-value pairs. + /// + /// # Panics + /// Panics if the proof cannot be generated or the proof is invalid. + #[must_use] + pub fn generate_proof( + &self, + commitment_root: &[u8], + kv_proofs: Vec<(Vec>, Vec, MerkleProof)>, + ) -> SP1ProofWithPublicValues { + assert!(!kv_proofs.is_empty(), "No key-value pairs to prove"); + let len = u8::try_from(kv_proofs.len()).expect("too many key-value pairs"); + + let mut stdin = SP1Stdin::new(); + stdin.write_slice(commitment_root); + stdin.write_vec(vec![len]); + for (path, value, proof) in kv_proofs { + stdin.write_vec(bincode::serialize(&path).unwrap()); + stdin.write_vec(value); + stdin.write_vec(proof.encode_vec()); + } + + // Generate the proof. Depending on SP1_PROVER env variable, this may be a mock, local or + // network proof. + let proof = self + .prover_client + .prove(&self.pkey, stdin) + .plonk() + .run() + .expect("proving failed"); + + // Verify proof. + self.prover_client + .verify(&proof, &self.vkey) + .expect("Verification failed"); + + // Return the proof. + proof + } +} + +impl SP1ICS07TendermintProver { + /// Generate a proof of an update from `trusted_consensus_state` to a proposed header and + /// verify (non)membership for multiple key-value pairs on the commitment root of + /// `proposed_header`. + /// + /// # Panics + /// Panics if the inputs cannot be encoded, the proof cannot be generated or the proof is + /// invalid. + #[must_use] + pub fn generate_proof( + &self, + trusted_consensus_state: &SolConsensusState, + proposed_header: &Header, + contract_env: &Env, + kv_proofs: Vec<(Vec>, Vec, MerkleProof)>, + ) -> SP1ProofWithPublicValues { + assert!(!kv_proofs.is_empty(), "No key-value pairs to prove"); + let len = u8::try_from(kv_proofs.len()).expect("too many key-value pairs"); + // Encode the inputs into our program. + // NOTE: We are using SolConsensusState because I'm failing to serialize the + // ConsensusState struct properly. It always seems modified when deserialized. + let encoded_1 = bincode::serialize(&trusted_consensus_state).unwrap(); + // NOTE: The Header struct is not deserializable by bincode, so we use CBOR instead. + let encoded_2 = serde_cbor::to_vec(proposed_header).unwrap(); + let encoded_3 = bincode::serialize(contract_env).unwrap(); + // TODO: find an encoding that works for all the structs above. + + // Write the encoded light blocks to stdin. + let mut stdin = SP1Stdin::new(); + stdin.write_vec(encoded_1); + stdin.write_vec(encoded_2); + stdin.write_vec(encoded_3); + stdin.write_vec(vec![len]); + for (path, value, proof) in kv_proofs { + stdin.write_vec(bincode::serialize(&path).unwrap()); + stdin.write_vec(value); + stdin.write_vec(proof.encode_vec()); + } + + // Generate the proof. Depending on SP1_PROVER env variable, this may be a mock, local or network proof. + let proof = self + .prover_client + .prove(&self.pkey, stdin) + .plonk() + .run() + .expect("proving failed"); + + // Verify proof. + self.prover_client + .verify(&proof, &self.vkey) + .expect("Verification failed"); + + // Return the proof. + proof + } +} + +impl SP1ICS07TendermintProver { + /// Generate a proof of a misbehaviour. + /// + /// # Panics + /// Panics if the proof cannot be generated or the proof is invalid. + #[must_use] + pub fn generate_proof( + &self, + contract_env: &Env, + misbehaviour: &Misbehaviour, + trusted_consensus_state_1: &SolConsensusState, + trusted_consensus_state_2: &SolConsensusState, + ) -> SP1ProofWithPublicValues { + let encoded_1 = bincode::serialize(contract_env).unwrap(); + let encoded_2 = serde_cbor::to_vec(misbehaviour).unwrap(); + let encoded_3 = bincode::serialize(trusted_consensus_state_1).unwrap(); + let encoded_4 = bincode::serialize(trusted_consensus_state_2).unwrap(); + + let mut stdin = SP1Stdin::new(); + stdin.write_vec(encoded_1); + stdin.write_vec(encoded_2); + stdin.write_vec(encoded_3); + stdin.write_vec(encoded_4); + + // Generate the proof. Depending on SP1_PROVER env variable, this may be a mock, local or + // network proof. + let proof = self + .prover_client + .prove(&self.pkey, stdin) + .plonk() + .run() + .expect("proving failed"); + + // Verify proof. + self.prover_client + .verify(&proof, &self.vkey) + .expect("Verification failed"); + + // Return the proof. + proof + } +} diff --git a/packages/utils/src/lib.rs b/packages/utils/src/lib.rs index be337c6..32be559 100644 --- a/packages/utils/src/lib.rs +++ b/packages/utils/src/lib.rs @@ -1,6 +1,5 @@ #![doc = include_str!("../README.md")] -#![deny(missing_docs)] -#![deny(clippy::nursery, clippy::pedantic, warnings)] +#![deny(clippy::nursery, clippy::pedantic, warnings, missing_docs)] use ibc_core_commitment_types::{merkle::MerkleProof, proto::ics23::CommitmentProof}; use tendermint::merkle::proof::ProofOps; From 6810d8fbdb1ecbd6c280298384a1e8cc07705660 Mon Sep 17 00:00:00 2001 From: srdtrk Date: Sat, 2 Nov 2024 12:11:21 +0800 Subject: [PATCH 2/6] imp: finished new lib --- Cargo.lock | 4 +++- operator/Cargo.toml | 3 --- packages/prover/Cargo.toml | 5 +++++ {operator => packages/prover}/build.rs | 8 ++++---- packages/prover/src/programs.rs | 10 ++++++---- 5 files changed, 18 insertions(+), 12 deletions(-) rename {operator => packages/prover}/build.rs (86%) diff --git a/Cargo.lock b/Cargo.lock index 8b3c23c..468e47d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7034,7 +7034,6 @@ dependencies = [ "serde_json", "serde_with", "sha2 0.10.8", - "sp1-helper", "sp1-ics07-tendermint-solidity", "sp1-ics07-tendermint-update-client", "sp1-ics07-tendermint-utils", @@ -7051,10 +7050,13 @@ dependencies = [ name = "sp1-ics07-tendermint-prover" version = "0.1.0" dependencies = [ + "bincode", "ibc-client-tendermint-types", "ibc-core-commitment-types", "ibc-proto", "log", + "serde_cbor", + "sp1-helper", "sp1-ics07-tendermint-solidity", "sp1-sdk", ] diff --git a/operator/Cargo.toml b/operator/Cargo.toml index 6d02531..b2b4134 100644 --- a/operator/Cargo.toml +++ b/operator/Cargo.toml @@ -50,6 +50,3 @@ clap = { workspace = true } log = { workspace = true } async-trait = { workspace = true } hex = { workspace = true } - -[build-dependencies] -sp1-helper = { workspace = true } diff --git a/packages/prover/Cargo.toml b/packages/prover/Cargo.toml index 43e9ed1..2e58178 100644 --- a/packages/prover/Cargo.toml +++ b/packages/prover/Cargo.toml @@ -13,3 +13,8 @@ ibc-core-commitment-types = { workspace = true } ibc-proto = { workspace = true } sp1-ics07-tendermint-solidity = { workspace = true } log = { workspace = true } +bincode = { workspace = true } +serde_cbor = { workspace = true } + +[build-dependencies] +sp1-helper = { workspace = true } diff --git a/operator/build.rs b/packages/prover/build.rs similarity index 86% rename from operator/build.rs rename to packages/prover/build.rs index 6e764ba..62a52a6 100644 --- a/operator/build.rs +++ b/packages/prover/build.rs @@ -5,7 +5,7 @@ use sp1_helper::{build_program_with_args, BuildArgs}; fn main() { // Build the update-client program. build_program_with_args( - "../programs/update-client", + "../../programs/update-client", BuildArgs { elf_name: "update-client-riscv32im-succinct-zkvm-elf".to_string(), ..Default::default() @@ -13,7 +13,7 @@ fn main() { ); // Build the membership program. build_program_with_args( - "../programs/membership", + "../../programs/membership", BuildArgs { elf_name: "membership-riscv32im-succinct-zkvm-elf".to_string(), ..Default::default() @@ -21,7 +21,7 @@ fn main() { ); // Build the uc-and-membership program. build_program_with_args( - "../programs/uc-and-membership", + "../../programs/uc-and-membership", BuildArgs { elf_name: "uc-and-membership-riscv32im-succinct-zkvm-elf".to_string(), ..Default::default() @@ -29,7 +29,7 @@ fn main() { ); // Build the misbehaviour program. build_program_with_args( - "../programs/misbehaviour", + "../../programs/misbehaviour", BuildArgs { elf_name: "misbehaviour-riscv32im-succinct-zkvm-elf".to_string(), ..Default::default() diff --git a/packages/prover/src/programs.rs b/packages/prover/src/programs.rs index df7f12e..7bdd722 100644 --- a/packages/prover/src/programs.rs +++ b/packages/prover/src/programs.rs @@ -30,18 +30,20 @@ pub struct MisbehaviourProgram; impl SP1Program for UpdateClientProgram { const ELF: &'static [u8] = - include_bytes!("../../elf/update-client-riscv32im-succinct-zkvm-elf"); + include_bytes!("../../../elf/update-client-riscv32im-succinct-zkvm-elf"); } impl SP1Program for MembershipProgram { - const ELF: &'static [u8] = include_bytes!("../../elf/membership-riscv32im-succinct-zkvm-elf"); + const ELF: &'static [u8] = + include_bytes!("../../../elf/membership-riscv32im-succinct-zkvm-elf"); } impl SP1Program for UpdateClientAndMembershipProgram { const ELF: &'static [u8] = - include_bytes!("../../elf/uc-and-membership-riscv32im-succinct-zkvm-elf"); + include_bytes!("../../../elf/uc-and-membership-riscv32im-succinct-zkvm-elf"); } impl SP1Program for MisbehaviourProgram { - const ELF: &'static [u8] = include_bytes!("../../elf/misbehaviour-riscv32im-succinct-zkvm-elf"); + const ELF: &'static [u8] = + include_bytes!("../../../elf/misbehaviour-riscv32im-succinct-zkvm-elf"); } From 5c412eb1f4cf1968d61411be03cf5bbc55b531e8 Mon Sep 17 00:00:00 2001 From: srdtrk Date: Sat, 2 Nov 2024 12:18:58 +0800 Subject: [PATCH 3/6] imp: replaced with new lib --- Cargo.lock | 1 + Cargo.toml | 1 + operator/Cargo.toml | 1 + operator/src/lib.rs | 2 - operator/src/programs.rs | 47 ---- operator/src/prover.rs | 236 ------------------ operator/src/runners/fixtures/membership.rs | 3 +- operator/src/runners/fixtures/misbehaviour.rs | 16 +- operator/src/runners/fixtures/uc_and_mem.rs | 5 +- .../src/runners/fixtures/update_client.rs | 5 +- operator/src/runners/genesis.rs | 8 +- operator/src/runners/operator.rs | 5 +- 12 files changed, 26 insertions(+), 304 deletions(-) delete mode 100644 operator/src/programs.rs delete mode 100644 operator/src/prover.rs diff --git a/Cargo.lock b/Cargo.lock index 468e47d..0853fec 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7034,6 +7034,7 @@ dependencies = [ "serde_json", "serde_with", "sha2 0.10.8", + "sp1-ics07-tendermint-prover", "sp1-ics07-tendermint-solidity", "sp1-ics07-tendermint-update-client", "sp1-ics07-tendermint-utils", diff --git a/Cargo.toml b/Cargo.toml index e8d3ca4..afc9d99 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,6 +19,7 @@ authors = ["srdtrk "] sp1-zkvm = "3.0" sp1-ics07-tendermint-solidity = { path = "./packages/solidity/" } +sp1-ics07-tendermint-prover = { path = "./packages/prover/" } sp1-ics07-tendermint-update-client = { path = "./programs/update-client/" } sp1-ics07-tendermint-membership = { path = "./programs/membership/" } sp1-ics07-tendermint-uc-and-membership = { path = "./programs/uc-and-membership/" } diff --git a/operator/Cargo.toml b/operator/Cargo.toml index b2b4134..269f71b 100644 --- a/operator/Cargo.toml +++ b/operator/Cargo.toml @@ -26,6 +26,7 @@ ibc-core-host-cosmos = { workspace = true } sp1-ics07-tendermint-update-client = { workspace = true } sp1-ics07-tendermint-solidity = { workspace = true, features = ["rpc"] } sp1-ics07-tendermint-utils = { workspace = true } +sp1-ics07-tendermint-prover = { workspace = true } unionlabs = { workspace = true } union-protos = { workspace = true } diff --git a/operator/src/lib.rs b/operator/src/lib.rs index 9dc6be5..781481c 100644 --- a/operator/src/lib.rs +++ b/operator/src/lib.rs @@ -3,7 +3,5 @@ pub mod cli; pub mod helpers; -pub mod programs; -pub mod prover; pub(crate) mod rpc; pub mod runners; diff --git a/operator/src/programs.rs b/operator/src/programs.rs deleted file mode 100644 index df7f12e..000000000 --- a/operator/src/programs.rs +++ /dev/null @@ -1,47 +0,0 @@ -//! Programs for `sp1-ics07-tendermint`. - -use sp1_sdk::{MockProver, Prover, SP1VerifyingKey}; - -/// Trait for SP1 ICS07 Tendermint programs. -pub trait SP1Program { - /// The ELF file for the program. - const ELF: &'static [u8]; - - /// Get the verifying key for the program using [`MockProver`]. - #[must_use] - fn get_vkey() -> SP1VerifyingKey { - let mock_prover = MockProver::new(); - let (_, vkey) = mock_prover.setup(Self::ELF); - vkey - } -} - -/// SP1 ICS07 Tendermint update client program. -pub struct UpdateClientProgram; - -/// SP1 ICS07 Tendermint verify (non)membership program. -pub struct MembershipProgram; - -/// SP1 ICS07 Tendermint update client and verify (non)membership program. -pub struct UpdateClientAndMembershipProgram; - -/// SP1 ICS07 Tendermint misbehaviour program. -pub struct MisbehaviourProgram; - -impl SP1Program for UpdateClientProgram { - const ELF: &'static [u8] = - include_bytes!("../../elf/update-client-riscv32im-succinct-zkvm-elf"); -} - -impl SP1Program for MembershipProgram { - const ELF: &'static [u8] = include_bytes!("../../elf/membership-riscv32im-succinct-zkvm-elf"); -} - -impl SP1Program for UpdateClientAndMembershipProgram { - const ELF: &'static [u8] = - include_bytes!("../../elf/uc-and-membership-riscv32im-succinct-zkvm-elf"); -} - -impl SP1Program for MisbehaviourProgram { - const ELF: &'static [u8] = include_bytes!("../../elf/misbehaviour-riscv32im-succinct-zkvm-elf"); -} diff --git a/operator/src/prover.rs b/operator/src/prover.rs deleted file mode 100644 index 81a6a30..000000000 --- a/operator/src/prover.rs +++ /dev/null @@ -1,236 +0,0 @@ -//! Prover for SP1 ICS07 Tendermint programs. - -use crate::programs::{ - MembershipProgram, MisbehaviourProgram, SP1Program, UpdateClientAndMembershipProgram, - UpdateClientProgram, -}; -use ibc_client_tendermint::types::{Header, Misbehaviour}; -use ibc_core_commitment_types::merkle::MerkleProof; -use ibc_proto::Protobuf; -use sp1_ics07_tendermint_solidity::IICS07TendermintMsgs::{ - ConsensusState as SolConsensusState, Env, -}; -use sp1_sdk::{ProverClient, SP1ProofWithPublicValues, SP1ProvingKey, SP1Stdin, SP1VerifyingKey}; - -/// A prover for for [`SP1Program`] programs. -#[allow(clippy::module_name_repetitions)] -pub struct SP1ICS07TendermintProver { - /// [`sp1_sdk::ProverClient`] for generating proofs. - pub prover_client: ProverClient, - /// The proving key. - pub pkey: SP1ProvingKey, - /// The verifying key. - pub vkey: SP1VerifyingKey, - _phantom: std::marker::PhantomData, -} - -impl Default for SP1ICS07TendermintProver { - fn default() -> Self { - Self::new() - } -} - -impl SP1ICS07TendermintProver { - /// Create a new prover. - #[must_use] - pub fn new() -> Self { - log::info!("Initializing SP1 ProverClient..."); - let prover_client = ProverClient::new(); - let (pkey, vkey) = prover_client.setup(T::ELF); - log::info!("SP1 ProverClient initialized"); - Self { - prover_client, - pkey, - vkey, - _phantom: std::marker::PhantomData, - } - } -} - -impl SP1ICS07TendermintProver { - /// Generate a proof of an update from `trusted_consensus_state` to a proposed header. - /// - /// # Panics - /// Panics if the inputs cannot be encoded, the proof cannot be generated or the proof is - /// invalid. - #[must_use] - pub fn generate_proof( - &self, - trusted_consensus_state: &SolConsensusState, - proposed_header: &Header, - contract_env: &Env, - ) -> SP1ProofWithPublicValues { - // Encode the inputs into our program. - // NOTE: We are using SolConsensusState because I'm failing to serialize the - // ConsensusState struct properly. It always seems modified when deserialized. - let encoded_1 = bincode::serialize(&trusted_consensus_state).unwrap(); - // NOTE: The Header struct is not deserializable by bincode, so we use CBOR instead. - let encoded_2 = serde_cbor::to_vec(proposed_header).unwrap(); - let encoded_3 = bincode::serialize(contract_env).unwrap(); - // TODO: find an encoding that works for all the structs above. - - // Write the encoded light blocks to stdin. - let mut stdin = SP1Stdin::new(); - stdin.write_vec(encoded_1); - stdin.write_vec(encoded_2); - stdin.write_vec(encoded_3); - - // Generate the proof. Depending on SP1_PROVER env variable, this may be a mock, local or network proof. - let proof = self - .prover_client - .prove(&self.pkey, stdin) - .plonk() - .run() - .expect("proving failed"); - - // Verify proof. - self.prover_client - .verify(&proof, &self.vkey) - .expect("Verification failed"); - - // Return the proof. - proof - } -} - -impl SP1ICS07TendermintProver { - /// Generate a proof of verify (non)membership for multiple key-value pairs. - /// - /// # Panics - /// Panics if the proof cannot be generated or the proof is invalid. - #[must_use] - pub fn generate_proof( - &self, - commitment_root: &[u8], - kv_proofs: Vec<(Vec>, Vec, MerkleProof)>, - ) -> SP1ProofWithPublicValues { - assert!(!kv_proofs.is_empty(), "No key-value pairs to prove"); - let len = u8::try_from(kv_proofs.len()).expect("too many key-value pairs"); - - let mut stdin = SP1Stdin::new(); - stdin.write_slice(commitment_root); - stdin.write_vec(vec![len]); - for (path, value, proof) in kv_proofs { - stdin.write_vec(bincode::serialize(&path).unwrap()); - stdin.write_vec(value); - stdin.write_vec(proof.encode_vec()); - } - - // Generate the proof. Depending on SP1_PROVER env variable, this may be a mock, local or - // network proof. - let proof = self - .prover_client - .prove(&self.pkey, stdin) - .plonk() - .run() - .expect("proving failed"); - - // Verify proof. - self.prover_client - .verify(&proof, &self.vkey) - .expect("Verification failed"); - - // Return the proof. - proof - } -} - -impl SP1ICS07TendermintProver { - /// Generate a proof of an update from `trusted_consensus_state` to a proposed header and - /// verify (non)membership for multiple key-value pairs on the commitment root of - /// `proposed_header`. - /// - /// # Panics - /// Panics if the inputs cannot be encoded, the proof cannot be generated or the proof is - /// invalid. - #[must_use] - pub fn generate_proof( - &self, - trusted_consensus_state: &SolConsensusState, - proposed_header: &Header, - contract_env: &Env, - kv_proofs: Vec<(Vec>, Vec, MerkleProof)>, - ) -> SP1ProofWithPublicValues { - assert!(!kv_proofs.is_empty(), "No key-value pairs to prove"); - let len = u8::try_from(kv_proofs.len()).expect("too many key-value pairs"); - // Encode the inputs into our program. - // NOTE: We are using SolConsensusState because I'm failing to serialize the - // ConsensusState struct properly. It always seems modified when deserialized. - let encoded_1 = bincode::serialize(&trusted_consensus_state).unwrap(); - // NOTE: The Header struct is not deserializable by bincode, so we use CBOR instead. - let encoded_2 = serde_cbor::to_vec(proposed_header).unwrap(); - let encoded_3 = bincode::serialize(contract_env).unwrap(); - // TODO: find an encoding that works for all the structs above. - - // Write the encoded light blocks to stdin. - let mut stdin = SP1Stdin::new(); - stdin.write_vec(encoded_1); - stdin.write_vec(encoded_2); - stdin.write_vec(encoded_3); - stdin.write_vec(vec![len]); - for (path, value, proof) in kv_proofs { - stdin.write_vec(bincode::serialize(&path).unwrap()); - stdin.write_vec(value); - stdin.write_vec(proof.encode_vec()); - } - - // Generate the proof. Depending on SP1_PROVER env variable, this may be a mock, local or network proof. - let proof = self - .prover_client - .prove(&self.pkey, stdin) - .plonk() - .run() - .expect("proving failed"); - - // Verify proof. - self.prover_client - .verify(&proof, &self.vkey) - .expect("Verification failed"); - - // Return the proof. - proof - } -} - -impl SP1ICS07TendermintProver { - /// Generate a proof of a misbehaviour. - /// - /// # Panics - /// Panics if the proof cannot be generated or the proof is invalid. - #[must_use] - pub fn generate_proof( - &self, - contract_env: &Env, - misbehaviour: &Misbehaviour, - trusted_consensus_state_1: &SolConsensusState, - trusted_consensus_state_2: &SolConsensusState, - ) -> SP1ProofWithPublicValues { - let encoded_1 = bincode::serialize(contract_env).unwrap(); - let encoded_2 = serde_cbor::to_vec(misbehaviour).unwrap(); - let encoded_3 = bincode::serialize(trusted_consensus_state_1).unwrap(); - let encoded_4 = bincode::serialize(trusted_consensus_state_2).unwrap(); - - let mut stdin = SP1Stdin::new(); - stdin.write_vec(encoded_1); - stdin.write_vec(encoded_2); - stdin.write_vec(encoded_3); - stdin.write_vec(encoded_4); - - // Generate the proof. Depending on SP1_PROVER env variable, this may be a mock, local or - // network proof. - let proof = self - .prover_client - .prove(&self.pkey, stdin) - .plonk() - .run() - .expect("proving failed"); - - // Verify proof. - self.prover_client - .verify(&proof, &self.vkey) - .expect("Verification failed"); - - // Return the proof. - proof - } -} diff --git a/operator/src/runners/fixtures/membership.rs b/operator/src/runners/fixtures/membership.rs index 64e34ec..867699f 100644 --- a/operator/src/runners/fixtures/membership.rs +++ b/operator/src/runners/fixtures/membership.rs @@ -3,8 +3,6 @@ use crate::{ cli::command::{fixtures::MembershipCmd, OutputPath}, helpers::union::convert_to_union_proof, - programs::MembershipProgram, - prover::SP1ICS07TendermintProver, rpc::TendermintRpcExt, runners::genesis::SP1ICS07TendermintGenesis, }; @@ -14,6 +12,7 @@ use ibc_client_tendermint::types::ConsensusState; use ibc_core_commitment_types::merkle::MerkleProof; use serde::{Deserialize, Serialize}; use serde_with::serde_as; +use sp1_ics07_tendermint_prover::{programs::MembershipProgram, prover::SP1ICS07TendermintProver}; use sp1_ics07_tendermint_solidity::{ IICS07TendermintMsgs::{ClientState, ConsensusState as SolConsensusState}, IMembershipMsgs::{ diff --git a/operator/src/runners/fixtures/misbehaviour.rs b/operator/src/runners/fixtures/misbehaviour.rs index 25a8859..27a7c2d 100644 --- a/operator/src/runners/fixtures/misbehaviour.rs +++ b/operator/src/runners/fixtures/misbehaviour.rs @@ -1,17 +1,19 @@ //! Runner for generating `misbehaviour` fixtures -use crate::cli::command::fixtures::MisbehaviourCmd; -use crate::cli::command::OutputPath; -use crate::helpers::light_block::LightBlockExt; -use crate::programs::MisbehaviourProgram; -use crate::prover::SP1ICS07TendermintProver; -use crate::rpc::TendermintRpcExt; -use crate::runners::genesis::SP1ICS07TendermintGenesis; +use crate::{ + cli::command::{fixtures::MisbehaviourCmd, OutputPath}, + helpers::light_block::LightBlockExt, + rpc::TendermintRpcExt, + runners::genesis::SP1ICS07TendermintGenesis, +}; use alloy_sol_types::SolValue; use ibc_client_tendermint::types::Misbehaviour; use ibc_proto::ibc::lightclients::tendermint::v1::Misbehaviour as RawMisbehaviour; use serde::{Deserialize, Serialize}; use serde_with::serde_as; +use sp1_ics07_tendermint_prover::{ + programs::MisbehaviourProgram, prover::SP1ICS07TendermintProver, +}; use sp1_ics07_tendermint_solidity::{ IICS07TendermintMsgs::{ClientState, ConsensusState, Env}, IMisbehaviourMsgs::MsgSubmitMisbehaviour, diff --git a/operator/src/runners/fixtures/uc_and_mem.rs b/operator/src/runners/fixtures/uc_and_mem.rs index 8604b18..cb48f0e 100644 --- a/operator/src/runners/fixtures/uc_and_mem.rs +++ b/operator/src/runners/fixtures/uc_and_mem.rs @@ -3,8 +3,6 @@ use crate::{ cli::command::{fixtures::UpdateClientAndMembershipCmd, OutputPath}, helpers::light_block::LightBlockExt, - programs::UpdateClientAndMembershipProgram, - prover::SP1ICS07TendermintProver, rpc::TendermintRpcExt, runners::{ fixtures::membership::SP1ICS07MembershipFixture, genesis::SP1ICS07TendermintGenesis, @@ -14,6 +12,9 @@ use alloy_sol_types::SolValue; use core::str; use ibc_client_tendermint::types::ConsensusState; use ibc_core_commitment_types::merkle::MerkleProof; +use sp1_ics07_tendermint_prover::{ + programs::UpdateClientAndMembershipProgram, prover::SP1ICS07TendermintProver, +}; use sp1_ics07_tendermint_solidity::{ IICS07TendermintMsgs::{ClientState, ConsensusState as SolConsensusState, Env}, IMembershipMsgs::{MembershipProof, SP1MembershipAndUpdateClientProof}, diff --git a/operator/src/runners/fixtures/update_client.rs b/operator/src/runners/fixtures/update_client.rs index c9da4e6..1009d59 100644 --- a/operator/src/runners/fixtures/update_client.rs +++ b/operator/src/runners/fixtures/update_client.rs @@ -3,14 +3,15 @@ use crate::{ cli::command::{fixtures::UpdateClientCmd, OutputPath}, helpers::light_block::LightBlockExt, - programs::UpdateClientProgram, - prover::SP1ICS07TendermintProver, rpc::TendermintRpcExt, runners::genesis::SP1ICS07TendermintGenesis, }; use alloy_sol_types::SolValue; use serde::{Deserialize, Serialize}; use serde_with::serde_as; +use sp1_ics07_tendermint_prover::{ + programs::UpdateClientProgram, prover::SP1ICS07TendermintProver, +}; use sp1_ics07_tendermint_solidity::{ IICS07TendermintMsgs::{ClientState, ConsensusState, Env}, ISP1Msgs::SP1Proof, diff --git a/operator/src/runners/genesis.rs b/operator/src/runners/genesis.rs index 9ececf6..b75acd7 100644 --- a/operator/src/runners/genesis.rs +++ b/operator/src/runners/genesis.rs @@ -3,14 +3,14 @@ use crate::{ cli::command::{genesis::Args, OutputPath}, helpers::light_block::LightBlockExt, - programs::{ - MembershipProgram, MisbehaviourProgram, SP1Program, UpdateClientAndMembershipProgram, - UpdateClientProgram, - }, rpc::TendermintRpcExt, }; use alloy_sol_types::SolValue; use serde_with::serde_as; +use sp1_ics07_tendermint_prover::programs::{ + MembershipProgram, MisbehaviourProgram, SP1Program, UpdateClientAndMembershipProgram, + UpdateClientProgram, +}; use sp1_ics07_tendermint_solidity::IICS07TendermintMsgs::ConsensusState as SolConsensusState; use sp1_sdk::{utils::setup_logger, HashableKey}; use std::path::PathBuf; diff --git a/operator/src/runners/operator.rs b/operator/src/runners/operator.rs index cfecb1c..50e267e 100644 --- a/operator/src/runners/operator.rs +++ b/operator/src/runners/operator.rs @@ -5,14 +5,15 @@ use std::env; use crate::{ cli::command::operator::Args, helpers::{self, light_block::LightBlockExt}, - programs::UpdateClientProgram, - prover::SP1ICS07TendermintProver, rpc::TendermintRpcExt, }; use alloy::providers::ProviderBuilder; use alloy_sol_types::SolValue; use log::{debug, info}; use reqwest::Url; +use sp1_ics07_tendermint_prover::{ + programs::UpdateClientProgram, prover::SP1ICS07TendermintProver, +}; use sp1_ics07_tendermint_solidity::{ sp1_ics07_tendermint, IICS07TendermintMsgs::Env, ISP1Msgs::SP1Proof, IUpdateClientMsgs::MsgUpdateClient, From 79812ad5c653262b987153b43a974f0f4571e07f Mon Sep 17 00:00:00 2001 From: srdtrk Date: Sat, 2 Nov 2024 12:25:19 +0800 Subject: [PATCH 4/6] deps: cleaned up some deps --- Cargo.lock | 3 --- Cargo.toml | 1 - operator/Cargo.toml | 3 --- operator/src/runners/fixtures/membership.rs | 3 +-- operator/src/runners/fixtures/misbehaviour.rs | 3 +-- operator/src/runners/fixtures/update_client.rs | 3 +-- operator/src/runners/genesis.rs | 3 +-- 7 files changed, 4 insertions(+), 15 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0853fec..72369d5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7013,8 +7013,6 @@ dependencies = [ "alloy-primitives 0.8.9", "alloy-sol-types 0.8.9", "anyhow", - "async-trait", - "bincode", "clap", "cosmos-sdk-proto", "dotenv", @@ -7030,7 +7028,6 @@ dependencies = [ "protos", "reqwest 0.12.8", "serde", - "serde_cbor", "serde_json", "serde_with", "sha2 0.10.8", diff --git a/Cargo.toml b/Cargo.toml index afc9d99..0b66a47 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -82,7 +82,6 @@ subtle-encoding = "0.5" anyhow = "1.0" clap = { version = "4.0", features = ["derive", "env"] } log = "0.4" -async-trait = "0.1" hex = "0.4" prost = { version = "0.13", default-features = false } futures = "0.3" diff --git a/operator/Cargo.toml b/operator/Cargo.toml index 269f71b..0ac1f47 100644 --- a/operator/Cargo.toml +++ b/operator/Cargo.toml @@ -41,13 +41,10 @@ futures = { workspace = true } serde_json = { workspace = true } serde = { workspace = true } serde_with = { workspace = true } -bincode = { workspace = true } -serde_cbor = { workspace = true } sha2 = { workspace = true } dotenv = { workspace = true } subtle-encoding = { workspace = true } anyhow = { workspace = true } clap = { workspace = true } log = { workspace = true } -async-trait = { workspace = true } hex = { workspace = true } diff --git a/operator/src/runners/fixtures/membership.rs b/operator/src/runners/fixtures/membership.rs index 867699f..9b1093f 100644 --- a/operator/src/runners/fixtures/membership.rs +++ b/operator/src/runners/fixtures/membership.rs @@ -11,7 +11,6 @@ use core::str; use ibc_client_tendermint::types::ConsensusState; use ibc_core_commitment_types::merkle::MerkleProof; use serde::{Deserialize, Serialize}; -use serde_with::serde_as; use sp1_ics07_tendermint_prover::{programs::MembershipProgram, prover::SP1ICS07TendermintProver}; use sp1_ics07_tendermint_solidity::{ IICS07TendermintMsgs::{ClientState, ConsensusState as SolConsensusState}, @@ -27,7 +26,7 @@ use tendermint_rpc::{Client, HttpClient}; use unionlabs::encoding::{EncodeAs, EthAbi}; /// The fixture data to be used in [`MembershipProgram`] tests. -#[serde_as] +#[serde_with::serde_as] #[derive(Debug, Clone, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct SP1ICS07MembershipFixture { diff --git a/operator/src/runners/fixtures/misbehaviour.rs b/operator/src/runners/fixtures/misbehaviour.rs index 27a7c2d..338185e 100644 --- a/operator/src/runners/fixtures/misbehaviour.rs +++ b/operator/src/runners/fixtures/misbehaviour.rs @@ -10,7 +10,6 @@ use alloy_sol_types::SolValue; use ibc_client_tendermint::types::Misbehaviour; use ibc_proto::ibc::lightclients::tendermint::v1::Misbehaviour as RawMisbehaviour; use serde::{Deserialize, Serialize}; -use serde_with::serde_as; use sp1_ics07_tendermint_prover::{ programs::MisbehaviourProgram, prover::SP1ICS07TendermintProver, }; @@ -24,7 +23,7 @@ use std::path::PathBuf; use tendermint_rpc::HttpClient; /// The fixture data to be used in [`SP1ICS07SubmitMisbehaviourFixture`] tests. -#[serde_as] +#[serde_with::serde_as] #[derive(Debug, Clone, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] struct SP1ICS07SubmitMisbehaviourFixture { diff --git a/operator/src/runners/fixtures/update_client.rs b/operator/src/runners/fixtures/update_client.rs index 1009d59..e7d7065 100644 --- a/operator/src/runners/fixtures/update_client.rs +++ b/operator/src/runners/fixtures/update_client.rs @@ -8,7 +8,6 @@ use crate::{ }; use alloy_sol_types::SolValue; use serde::{Deserialize, Serialize}; -use serde_with::serde_as; use sp1_ics07_tendermint_prover::{ programs::UpdateClientProgram, prover::SP1ICS07TendermintProver, }; @@ -22,7 +21,7 @@ use std::path::PathBuf; use tendermint_rpc::HttpClient; /// The fixture data to be used in [`UpdateClientProgram`] tests. -#[serde_as] +#[serde_with::serde_as] #[derive(Debug, Clone, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] struct SP1ICS07UpdateClientFixture { diff --git a/operator/src/runners/genesis.rs b/operator/src/runners/genesis.rs index b75acd7..6970b8f 100644 --- a/operator/src/runners/genesis.rs +++ b/operator/src/runners/genesis.rs @@ -6,7 +6,6 @@ use crate::{ rpc::TendermintRpcExt, }; use alloy_sol_types::SolValue; -use serde_with::serde_as; use sp1_ics07_tendermint_prover::programs::{ MembershipProgram, MisbehaviourProgram, SP1Program, UpdateClientAndMembershipProgram, UpdateClientProgram, @@ -18,7 +17,7 @@ use tendermint_light_client_verifier::types::{LightBlock, TrustThreshold}; use tendermint_rpc::HttpClient; /// The genesis data for the SP1 ICS07 Tendermint contract. -#[serde_as] +#[serde_with::serde_as] #[derive(Debug, Clone, serde::Deserialize, serde::Serialize)] #[serde(rename_all = "camelCase")] #[allow(clippy::module_name_repetitions)] From 06f2b17d37e979877532ca16907f30a16ba6f26a Mon Sep 17 00:00:00 2001 From: srdtrk Date: Sat, 2 Nov 2024 12:25:53 +0800 Subject: [PATCH 5/6] deps: ran 'cargo update' --- Cargo.lock | 453 ++++++++++++++++++++++++++--------------------------- 1 file changed, 223 insertions(+), 230 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 72369d5..234d8d3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -129,11 +129,11 @@ dependencies = [ [[package]] name = "alloy-chains" -version = "0.1.42" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dca4a1469a3e572e9ba362920ff145f5d0a00a3e71a64ddcb4a3659cf64c76a7" +checksum = "836cf02383d9ebb35502d379bcd1ae803155094077eaab9c29131d888cd5fa3e" dependencies = [ - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "num_enum 0.7.3", "strum 0.26.3", ] @@ -145,7 +145,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "705687d5bfd019fee57cf9e206b27b30a9a9617535d5590a02b171e813208f8e" dependencies = [ "alloy-eips 0.4.2", - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "alloy-rlp", "auto_impl", "c-kzg", @@ -159,7 +159,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41ed961a48297c732a5d97ee321aa8bb5009ecadbcb077d8bec90cb54e651629" dependencies = [ "alloy-eips 0.5.4", - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "alloy-rlp", "alloy-serde 0.5.4", "auto_impl", @@ -178,11 +178,11 @@ dependencies = [ "alloy-json-abi", "alloy-network", "alloy-network-primitives", - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "alloy-provider", "alloy-pubsub", "alloy-rpc-types-eth", - "alloy-sol-types 0.8.9", + "alloy-sol-types 0.8.10", "alloy-transport", "futures", "futures-util", @@ -191,27 +191,27 @@ dependencies = [ [[package]] name = "alloy-core" -version = "0.8.9" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cce174ca699ddee3bfb2ec1fbd99ad7efd05eca20c5c888d8320db41f7e8f04" +checksum = "b72bf30967a232bec83809bea1623031f6285a013096229330c68c406192a4ca" dependencies = [ "alloy-dyn-abi", "alloy-json-abi", - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "alloy-rlp", - "alloy-sol-types 0.8.9", + "alloy-sol-types 0.8.10", ] [[package]] name = "alloy-dyn-abi" -version = "0.8.9" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5647fce5a168f9630f935bf7821c4207b1755184edaeba783cb4e11d35058484" +checksum = "f5228b189b18b85761340dc9eaac0141148a8503657b36f9bc3a869413d987ca" dependencies = [ "alloy-json-abi", - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "alloy-sol-type-parser", - "alloy-sol-types 0.8.9", + "alloy-sol-types 0.8.10", "const-hex", "itoa", "serde", @@ -225,7 +225,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0069cf0642457f87a01a014f6dc29d5d893cd4fd8fddf0c3cdfad1bb3ebafc41" dependencies = [ - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "alloy-rlp", "serde", ] @@ -236,7 +236,7 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea59dc42102bc9a1905dc57901edc6dd48b9f38115df86c7d252acba70d71d04" dependencies = [ - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "alloy-rlp", ] @@ -246,7 +246,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64ffc577390ce50234e02d841214b3dc0bea6aaaae8e04bbf3cb82e9a45da9eb" dependencies = [ - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "alloy-rlp", "derive_more 1.0.0", "k256", @@ -261,7 +261,7 @@ checksum = "6ffb906284a1e1f63c4607da2068c8197458a352d0b3e9796e67353d72a9be85" dependencies = [ "alloy-eip2930", "alloy-eip7702 0.1.1", - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "alloy-rlp", "c-kzg", "derive_more 1.0.0", @@ -278,7 +278,7 @@ checksum = "b69e06cf9c37be824b9d26d6d101114fdde6af0c87de2828b414c05c4b3daa71" dependencies = [ "alloy-eip2930", "alloy-eip7702 0.3.2", - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "alloy-rlp", "alloy-serde 0.5.4", "c-kzg", @@ -294,7 +294,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8429cf4554eed9b40feec7f4451113e76596086447550275e3def933faf47ce3" dependencies = [ - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "alloy-serde 0.4.2", "serde", ] @@ -305,18 +305,18 @@ version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dde15e14944a88bd6a57d325e9a49b75558746fe16aaccc79713ae50a6a9574c" dependencies = [ - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "alloy-serde 0.5.4", "serde", ] [[package]] name = "alloy-json-abi" -version = "0.8.9" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b5671117c38b1c2306891f97ad3828d85487087f54ebe2c7591a055ea5bcea7" +checksum = "31a0f0d51db8a1a30a4d98a9f90e090a94c8f44cb4d9eafc7e03aa6d00aae984" dependencies = [ - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "alloy-sol-type-parser", "serde", "serde_json", @@ -328,8 +328,8 @@ version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af5979e0d5a7bf9c7eb79749121e8256e59021af611322aee56e77e20776b4b3" dependencies = [ - "alloy-primitives 0.8.9", - "alloy-sol-types 0.8.9", + "alloy-primitives 0.8.10", + "alloy-sol-types 0.8.10", "serde", "serde_json", "thiserror", @@ -346,11 +346,11 @@ dependencies = [ "alloy-eips 0.5.4", "alloy-json-rpc", "alloy-network-primitives", - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "alloy-rpc-types-eth", "alloy-serde 0.5.4", "alloy-signer", - "alloy-sol-types 0.8.9", + "alloy-sol-types 0.8.10", "async-trait", "auto_impl", "futures-utils-wasm", @@ -365,7 +365,7 @@ checksum = "514f70ee2a953db21631cd817b13a1571474ec77ddc03d47616d5e8203489fde" dependencies = [ "alloy-consensus 0.5.4", "alloy-eips 0.5.4", - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "alloy-serde 0.5.4", "serde", ] @@ -377,7 +377,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27444ea67d360508753022807cdd0b49a95c878924c9c5f8f32668b7d7768245" dependencies = [ "alloy-genesis 0.5.4", - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "k256", "rand", "serde_json", @@ -411,9 +411,9 @@ dependencies = [ [[package]] name = "alloy-primitives" -version = "0.8.9" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c71738eb20c42c5fb149571e76536a0f309d142f3957c28791662b96baf77a3d" +checksum = "8edae627382349b56cd6a7a2106f4fd69b243a9233e560c55c2e03cabb7e1d3c" dependencies = [ "alloy-rlp", "bytes", @@ -450,7 +450,7 @@ dependencies = [ "alloy-network", "alloy-network-primitives", "alloy-node-bindings", - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "alloy-pubsub", "alloy-rpc-client", "alloy-rpc-types-anvil", @@ -470,7 +470,7 @@ dependencies = [ "lru", "parking_lot", "pin-project", - "reqwest 0.12.8", + "reqwest 0.12.9", "schnellru", "serde", "serde_json", @@ -488,7 +488,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96ba46eb69ddf7a9925b81f15229cb74658e6eebe5dd30a5b74e2cd040380573" dependencies = [ "alloy-json-rpc", - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "alloy-transport", "bimap", "futures", @@ -519,7 +519,7 @@ checksum = "2b09cae092c27b6f1bde952653a22708691802e57bfef4a2973b80bea21efd3f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -529,7 +529,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7fc2bd1e7403463a5f2c61e955bcc9d3072b63aa177442b0f9aa6a6d22a941e3" dependencies = [ "alloy-json-rpc", - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "alloy-pubsub", "alloy-transport", "alloy-transport-http", @@ -537,7 +537,7 @@ dependencies = [ "alloy-transport-ws", "futures", "pin-project", - "reqwest 0.12.8", + "reqwest 0.12.9", "serde", "serde_json", "tokio", @@ -554,7 +554,7 @@ version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eea9bf1abdd506f985a53533f5ac01296bcd6102c5e139bbc5d40bc468d2c916" dependencies = [ - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "alloy-rpc-types-engine", "alloy-rpc-types-eth", "alloy-serde 0.5.4", @@ -567,7 +567,7 @@ version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2382fc63fb0cf3e02818d547b80cb66cc49a31f8803d0c328402b2008bc13650" dependencies = [ - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "alloy-serde 0.5.4", "serde", ] @@ -580,7 +580,7 @@ checksum = "886d22d41992287a235af2f3af4299b5ced2bcafb81eb835572ad35747476946" dependencies = [ "alloy-consensus 0.5.4", "alloy-eips 0.5.4", - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "alloy-rlp", "alloy-serde 0.5.4", "derive_more 1.0.0", @@ -597,10 +597,10 @@ dependencies = [ "alloy-consensus 0.5.4", "alloy-eips 0.5.4", "alloy-network-primitives", - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "alloy-rlp", "alloy-serde 0.5.4", - "alloy-sol-types 0.8.9", + "alloy-sol-types 0.8.10", "derive_more 1.0.0", "itertools 0.13.0", "serde", @@ -613,7 +613,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9dff0ab1cdd43ca001e324dc27ee0e8606bd2161d6623c63e0e0b8c4dfc13600" dependencies = [ - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "serde", "serde_json", ] @@ -624,7 +624,7 @@ version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "028e72eaa9703e4882344983cfe7636ce06d8cce104a78ea62fd19b46659efc4" dependencies = [ - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "serde", "serde_json", ] @@ -635,7 +635,7 @@ version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "592c185d7100258c041afac51877660c7bf6213447999787197db4842f0e938e" dependencies = [ - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "async-trait", "auto_impl", "elliptic-curve", @@ -651,7 +651,7 @@ checksum = "6614f02fc1d5b079b2a4a5320018317b506fd0a6d67c1fd5542a71201724986c" dependencies = [ "alloy-consensus 0.5.4", "alloy-network", - "alloy-primitives 0.8.9", + "alloy-primitives 0.8.10", "alloy-signer", "async-trait", "k256", @@ -670,21 +670,21 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] name = "alloy-sol-macro" -version = "0.8.9" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0900b83f4ee1f45c640ceee596afbc118051921b9438fdb5a3175c1a7e05f8b" +checksum = "841eabaa4710f719fddbc24c95d386eae313f07e6da4babc25830ee37945be0c" dependencies = [ - "alloy-sol-macro-expander 0.8.9", - "alloy-sol-macro-input 0.8.9", + "alloy-sol-macro-expander 0.8.10", + "alloy-sol-macro-input 0.8.10", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -700,27 +700,27 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", "syn-solidity 0.7.7", "tiny-keccak", ] [[package]] name = "alloy-sol-macro-expander" -version = "0.8.9" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a41b1e78dde06b5e12e6702fa8c1d30621bf07728ba75b801fb801c9c6a0ba10" +checksum = "6672337f19d837b9f7073c45853aeb528ed9f7dd6a4154ce683e9e5cb7794014" dependencies = [ "alloy-json-abi", - "alloy-sol-macro-input 0.8.9", + "alloy-sol-macro-input 0.8.10", "const-hex", "heck 0.5.0", "indexmap 2.6.0", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.85", - "syn-solidity 0.8.9", + "syn 2.0.86", + "syn-solidity 0.8.10", "tiny-keccak", ] @@ -735,15 +735,15 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", "syn-solidity 0.7.7", ] [[package]] name = "alloy-sol-macro-input" -version = "0.8.9" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91dc311a561a306664393407b88d3e53ae58581624128afd8a15faa5de3627dc" +checksum = "0dff37dd20bfb118b777c96eda83b2067f4226d2644c5cfa00187b3bc01770ba" dependencies = [ "alloy-json-abi", "const-hex", @@ -752,15 +752,15 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.85", - "syn-solidity 0.8.9", + "syn 2.0.86", + "syn-solidity 0.8.10", ] [[package]] name = "alloy-sol-type-parser" -version = "0.8.9" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45d1fbee9e698f3ba176b6e7a145f4aefe6d2b746b611e8bb246fe11a0e9f6c4" +checksum = "5b853d42292dbb159671a3edae3b2750277ff130f32b726fe07dc2b17aa6f2b5" dependencies = [ "serde", "winnow 0.6.20", @@ -780,13 +780,13 @@ dependencies = [ [[package]] name = "alloy-sol-types" -version = "0.8.9" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "086f41bc6ebcd8cb15f38ba20e47be38dd03692149681ce8061c35d960dbf850" +checksum = "aa828bb1b9a6dc52208fbb18084fb9ce2c30facc2bfda6a5d922349b4990354f" dependencies = [ "alloy-json-abi", - "alloy-primitives 0.8.9", - "alloy-sol-macro 0.8.9", + "alloy-primitives 0.8.10", + "alloy-sol-macro 0.8.10", "const-hex", "serde", ] @@ -819,7 +819,7 @@ checksum = "91fd1a5d0827939847983b46f2f79510361f901dc82f8e3c38ac7397af142c6e" dependencies = [ "alloy-json-rpc", "alloy-transport", - "reqwest 0.12.8", + "reqwest 0.12.9", "serde_json", "tower", "tracing", @@ -855,7 +855,7 @@ dependencies = [ "alloy-transport", "futures", "http 1.1.0", - "rustls 0.23.15", + "rustls 0.23.16", "serde_json", "tokio", "tokio-tungstenite", @@ -909,9 +909,9 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8365de52b16c035ff4fcafe0092ba9390540e3e352870ac09933bebcaa2c8c56" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" [[package]] name = "anstyle-parse" @@ -943,9 +943,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.91" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c042108f3ed77fd83760a5fd79b53be043192bb3b9dba91d8c574c0ada7850c8" +checksum = "74f37166d7d48a0284b99dd824694c26119c700b53bf0d1540cdb147dbdaaf13" [[package]] name = "ark-ff" @@ -1102,7 +1102,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -1113,7 +1113,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -1141,7 +1141,7 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -1299,7 +1299,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -1537,9 +1537,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.31" +version = "1.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2e7962b54006dcfcc61cb72735f4d89bb97061dd6a7ed882ec6b8ee53714c6f" +checksum = "538b056773ee67775e422d15c33169f5415706855814b96505c84ee942f2bae2" dependencies = [ "jobserver", "libc", @@ -1570,6 +1570,12 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + [[package]] name = "chrono" version = "0.4.38" @@ -1635,7 +1641,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -1933,7 +1939,7 @@ dependencies = [ [[package]] name = "curve25519-dalek" version = "4.1.3" -source = "git+https://github.com/sp1-patches/curve25519-dalek?branch=patch-curve25519-v4.1.3#1d73fd95f1a76bee8f46643cf78bbccc1fb06ede" +source = "git+https://github.com/sp1-patches/curve25519-dalek?branch=patch-curve25519-v4.1.3#dbdd0ffeea0ff767affc3f6765d1edbdaa9e2cb9" dependencies = [ "anyhow", "cfg-if", @@ -1941,7 +1947,7 @@ dependencies = [ "curve25519-dalek-derive", "fiat-crypto", "rustc_version 0.4.1", - "sp1-lib 1.2.0", + "sp1-lib", "subtle", "zeroize", ] @@ -1949,24 +1955,24 @@ dependencies = [ [[package]] name = "curve25519-dalek-derive" version = "0.1.1" -source = "git+https://github.com/sp1-patches/curve25519-dalek?branch=patch-curve25519-v4.1.3#1d73fd95f1a76bee8f46643cf78bbccc1fb06ede" +source = "git+https://github.com/sp1-patches/curve25519-dalek?branch=patch-curve25519-v4.1.3#dbdd0ffeea0ff767affc3f6765d1edbdaa9e2cb9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] name = "curve25519-dalek-ng" version = "4.1.1" -source = "git+https://github.com/sp1-patches/curve25519-dalek-ng?branch=patch-v4.1.1#8dd77b20f3e78965a0cc57070a04465b9d52c49e" +source = "git+https://github.com/sp1-patches/curve25519-dalek-ng?branch=patch-v4.1.1#3fb3e7f6047ddeef0f0c9212f4604bd30d64bd28" dependencies = [ "anyhow", "byteorder", "cfg-if", "digest 0.9.0", "rand_core 0.6.4", - "sp1-lib 1.2.0", + "sp1-lib", "subtle-ng", "zeroize", ] @@ -2016,7 +2022,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -2038,7 +2044,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core 0.20.10", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -2178,7 +2184,7 @@ checksum = "d65d7ce8132b7c0e54497a4d9a55a1c2a0912a0d786cf894472ba818fba45762" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -2191,7 +2197,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version 0.4.1", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -2211,7 +2217,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", "unicode-xid", ] @@ -2265,7 +2271,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -2311,7 +2317,7 @@ dependencies = [ "hex-literal", "rfc6979", "signature", - "sp1-lib 3.0.0", + "sp1-lib", "spki", ] @@ -2434,7 +2440,7 @@ checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -2445,7 +2451,7 @@ checksum = "6d3e2610493c0a1fc3bf33fb420650c6ebf7990c55e3d5e71a57bee374486824" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -2648,7 +2654,7 @@ dependencies = [ "regex", "serde", "serde_json", - "syn 2.0.85", + "syn 2.0.86", "toml", "walkdir", ] @@ -2670,7 +2676,7 @@ dependencies = [ "regex", "serde", "serde_json", - "syn 2.0.85", + "syn 2.0.86", "toml", "walkdir", ] @@ -2687,7 +2693,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -2703,7 +2709,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -2729,7 +2735,7 @@ dependencies = [ "serde", "serde_json", "strum 0.25.0", - "syn 2.0.85", + "syn 2.0.86", "tempfile", "thiserror", "tiny-keccak", @@ -2759,7 +2765,7 @@ dependencies = [ "serde", "serde_json", "strum 0.26.3", - "syn 2.0.85", + "syn 2.0.86", "tempfile", "thiserror", "tiny-keccak", @@ -2859,7 +2865,7 @@ dependencies = [ "prettyplease", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -3032,7 +3038,7 @@ dependencies = [ "proc-macro2", "quote", "sp-crypto-hashing", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -3045,7 +3051,7 @@ dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -3056,7 +3062,7 @@ checksum = "ed971c6435503a099bdac99fe4c5bea08981709e5b5a0a8535a1856f48561191" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -3140,7 +3146,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -3591,7 +3597,7 @@ dependencies = [ "http 1.1.0", "hyper 1.5.0", "hyper-util", - "rustls 0.23.15", + "rustls 0.23.16", "rustls-pki-types", "tokio", "tokio-rustls 0.26.0", @@ -3630,9 +3636,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41296eb09f183ac68eec06e03cdbea2e759633d4067b2f6552fc2e009bcad08b" +checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" dependencies = [ "bytes", "futures-channel", @@ -3998,7 +4004,7 @@ checksum = "2f0eb1d08a424a2d714652aca4c2738a016c90f4eb78f6f64913f9fe2c77fe34" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -4380,9 +4386,9 @@ dependencies = [ [[package]] name = "libm" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a00419de735aac21d53b0de5ce2c03bd3627277cf471300f27ebc89f7d828047" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" [[package]] name = "libredox" @@ -4446,7 +4452,7 @@ dependencies = [ "macro_magic_core", "macro_magic_macros", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -4460,7 +4466,7 @@ dependencies = [ "macro_magic_core_macros", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -4471,7 +4477,7 @@ checksum = "b02abfe41815b5bd98dbd4260173db2c116dda171dc0fe7838cb206333b83308" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -4482,7 +4488,7 @@ checksum = "73ea28ee64b88876bf45277ed9a5817c1817df061a74f2b988971a12570e5869" dependencies = [ "macro_magic_core", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -4492,7 +4498,7 @@ source = "git+https://github.com/unionlabs/union?rev=fe4b10691c3fb28436c44fa2604 dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -4778,7 +4784,7 @@ dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -4865,7 +4871,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -5394,7 +5400,7 @@ checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -5453,7 +5459,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" dependencies = [ "proc-macro2", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -5544,7 +5550,7 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -5555,7 +5561,7 @@ checksum = "834da187cfe638ae8abb0203f0b33e5ccdb02a28e7199f2f47b3e2754f50edca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -5624,7 +5630,7 @@ dependencies = [ "prost 0.12.6", "prost-types 0.12.6", "regex", - "syn 2.0.85", + "syn 2.0.86", "tempfile", ] @@ -5638,7 +5644,7 @@ dependencies = [ "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -5651,7 +5657,7 @@ dependencies = [ "itertools 0.13.0", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -5701,7 +5707,7 @@ dependencies = [ "quinn-proto", "quinn-udp", "rustc-hash 2.0.0", - "rustls 0.23.15", + "rustls 0.23.16", "socket2", "thiserror", "tokio", @@ -5718,7 +5724,7 @@ dependencies = [ "rand", "ring 0.17.8", "rustc-hash 2.0.0", - "rustls 0.23.15", + "rustls 0.23.16", "slab", "thiserror", "tinyvec", @@ -5727,10 +5733,11 @@ dependencies = [ [[package]] name = "quinn-udp" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fe68c2e9e1a1234e218683dbdf9f9dfcb094113c5ac2b938dfcb9bab4c4140b" +checksum = "e346e016eacfff12233c243718197ca12f148c84e1e84268a896699b41c71780" dependencies = [ + "cfg_aliases", "libc", "once_cell", "socket2", @@ -5944,9 +5951,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.8" +version = "0.12.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f713147fbe92361e52392c73b8c9e48c04c6625bce969ef54dc901e58e042a7b" +checksum = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f" dependencies = [ "base64 0.22.1", "bytes", @@ -5970,7 +5977,7 @@ dependencies = [ "percent-encoding", "pin-project-lite", "quinn", - "rustls 0.23.15", + "rustls 0.23.16", "rustls-pemfile 2.2.0", "rustls-pki-types", "serde", @@ -6001,7 +6008,7 @@ dependencies = [ "anyhow", "async-trait", "http 1.1.0", - "reqwest 0.12.8", + "reqwest 0.12.9", "serde", "thiserror", "tower-service", @@ -6206,9 +6213,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.15" +version = "0.23.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fbb44d7acc4e873d613422379f69f237a1b141928c02f6bc6ccfddddc2d7993" +checksum = "eee87ff5d9b36712a58574e12e9f0ea80f915a5b0ac518d322b24a465617925e" dependencies = [ "once_cell", "ring 0.17.8", @@ -6338,7 +6345,7 @@ dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -6380,7 +6387,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -6506,9 +6513,9 @@ checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" [[package]] name = "serde" -version = "1.0.213" +version = "1.0.214" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ea7893ff5e2466df8d720bb615088341b295f849602c6956047f8f80f0e9bc1" +checksum = "f55c3193aca71c12ad7890f1785d2b73e1b9f63a0bbc353c08ef26fe03fc56b5" dependencies = [ "serde_derive", ] @@ -6556,13 +6563,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.213" +version = "1.0.214" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e85ad2009c50b58e87caa8cd6dac16bdf511bbfb7af6c33df902396aa480fa5" +checksum = "de523f781f095e28fa605cdce0f8307e451cc0fd14e2eb4cd2e98a355b147766" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -6573,7 +6580,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -6606,7 +6613,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -6657,7 +6664,7 @@ dependencies = [ "darling 0.20.10", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -6682,7 +6689,7 @@ checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -6841,9 +6848,9 @@ dependencies = [ [[package]] name = "sp1-build" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8929a4197b02537dbcd16a078e9424d40985438091df64a9373ebd10e5557083" +checksum = "8c121875505b3f039891e9e26fa2c007e8e66b68df1ac5cc315604f722c88b76" dependencies = [ "anyhow", "cargo_metadata", @@ -6854,9 +6861,9 @@ dependencies = [ [[package]] name = "sp1-core-executor" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ff9718f87f207404aee3f447c4438e2a35791092dc24ce65ff95db699ed49c1" +checksum = "c4e28289e0dc59f08955c50cb89a406dd7943d48451e6bfb8bdf7d41f81019c8" dependencies = [ "bincode", "bytemuck", @@ -6888,9 +6895,9 @@ dependencies = [ [[package]] name = "sp1-core-machine" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ac8b5f2cecb7b2174495fc7a3e004bdb78e1c7ea44577ac0acc0d1e90b817ea" +checksum = "849dd9b6c96f6be669ecb860793db7b0436671ade8b1629ae8c46cd10e4bbed9" dependencies = [ "bincode", "cfg-if", @@ -6936,9 +6943,9 @@ dependencies = [ [[package]] name = "sp1-curves" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1af9ff15e524ebe58286d7ee9bc345657b45b13091b5dc58fdce61542b65a47" +checksum = "eaef1763516b57c6e845c74fbf7dede28a0930111e7eb62b97c923d869b195f6" dependencies = [ "cfg-if", "curve25519-dalek 4.1.3", @@ -6958,9 +6965,9 @@ dependencies = [ [[package]] name = "sp1-derive" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f1490c07bd283f59169eae6e67df355b5de8ba10cc75bf6dbfc05a28fdccfc6" +checksum = "abc46a1a182a61be3cb3bb153368fe64f1c172ce439fe3ff03dda41573f8fa87" dependencies = [ "quote", "syn 1.0.109", @@ -6968,9 +6975,9 @@ dependencies = [ [[package]] name = "sp1-helper" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae43cd2ae4ba94fc2ba7835fb0131375f52b93f385116a7a55e858a29044b592" +checksum = "60b67bf2005eea5b8871e347690e2ce45c68822dbb57dea584dca9edd02bc2cc" dependencies = [ "sp1-build", ] @@ -6979,7 +6986,7 @@ dependencies = [ name = "sp1-ics07-tendermint-membership" version = "0.1.0" dependencies = [ - "alloy-sol-types 0.8.9", + "alloy-sol-types 0.8.10", "bincode", "ibc-core-commitment-types", "ibc-proto", @@ -6991,7 +6998,7 @@ dependencies = [ name = "sp1-ics07-tendermint-misbehaviour" version = "0.1.0" dependencies = [ - "alloy-sol-types 0.8.9", + "alloy-sol-types 0.8.10", "bincode", "ibc-client-tendermint", "ibc-core-client", @@ -7010,8 +7017,8 @@ name = "sp1-ics07-tendermint-operator" version = "0.1.0" dependencies = [ "alloy 0.5.4", - "alloy-primitives 0.8.9", - "alloy-sol-types 0.8.9", + "alloy-primitives 0.8.10", + "alloy-sol-types 0.8.10", "anyhow", "clap", "cosmos-sdk-proto", @@ -7026,7 +7033,7 @@ dependencies = [ "ibc-proto", "log", "protos", - "reqwest 0.12.8", + "reqwest 0.12.9", "serde", "serde_json", "serde_with", @@ -7064,7 +7071,7 @@ name = "sp1-ics07-tendermint-solidity" version = "0.1.0" dependencies = [ "alloy-contract", - "alloy-sol-types 0.8.9", + "alloy-sol-types 0.8.10", "hex", "ibc-client-tendermint-types", "ibc-core-client-types", @@ -7079,7 +7086,7 @@ dependencies = [ name = "sp1-ics07-tendermint-uc-and-membership" version = "0.1.0" dependencies = [ - "alloy-sol-types 0.8.9", + "alloy-sol-types 0.8.10", "bincode", "ibc-client-tendermint-types", "ibc-core-commitment-types", @@ -7095,7 +7102,7 @@ dependencies = [ name = "sp1-ics07-tendermint-update-client" version = "0.1.0" dependencies = [ - "alloy-sol-types 0.8.9", + "alloy-sol-types 0.8.10", "bincode", "ibc-client-tendermint", "ibc-core-client", @@ -7125,23 +7132,9 @@ dependencies = [ [[package]] name = "sp1-lib" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bea7811abd2d3a991007fcb284f41152840b8388c171288d0c52c6793956609c" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "hex", - "serde", - "snowbridge-amcl", -] - -[[package]] -name = "sp1-lib" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c372b16988e765af85ccf958b18b26d89c05886f2592d313a285415dcc769cb" +checksum = "14deb700469a37ec075bcf88dac3815b026dd9c4b9cb175980826f1fbb2e4e80" dependencies = [ "bincode", "serde", @@ -7149,9 +7142,9 @@ dependencies = [ [[package]] name = "sp1-primitives" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "025f06b633588e246308ad5f67b32f0f7d1cbeab38f7a842314699270bc706f5" +checksum = "7a3a60fc832cfe2c7b5441b0f386f6ce7c768f62f3d49de20a76fa2648886373" dependencies = [ "bincode", "hex", @@ -7167,9 +7160,9 @@ dependencies = [ [[package]] name = "sp1-prover" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bd16530cb12f1cecb1b6902142d8d0d87507f88de84bc714f10c29a7fd3769c" +checksum = "987ab8760329e50674cadd809e92bf380d58889eb9577980c974d9a93d89d447" dependencies = [ "anyhow", "bincode", @@ -7209,9 +7202,9 @@ dependencies = [ [[package]] name = "sp1-recursion-circuit" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98d0a8ceee12600bd14d2e2d31b54db00b7985e30acedbfe8e1c1a9e41d7992f" +checksum = "c67d0a5a6dc242134aa177b6c33b08ff9646bcc25c30ac301f8f5e6e0059529c" dependencies = [ "hashbrown 0.14.5", "itertools 0.13.0", @@ -7243,9 +7236,9 @@ dependencies = [ [[package]] name = "sp1-recursion-compiler" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "591d60768948dcef34a1fc16c3c6cf457e32fdee83d55ec14dbb94cd4447c030" +checksum = "ad51b87ef8640f4566f642d8ecd650348c9e87e312a572dfcd64ba2e982883e2" dependencies = [ "backtrace", "itertools 0.13.0", @@ -7265,9 +7258,9 @@ dependencies = [ [[package]] name = "sp1-recursion-core" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85c15a51b675accb41608f7bf7ef5f95c23b47ceac38a9a87833a2b12c3bc190" +checksum = "d3c434abe6932ea93f2e54767041f037aecc8b55f20844a6ed9786293ec67371" dependencies = [ "backtrace", "ff 0.13.0", @@ -7301,9 +7294,9 @@ dependencies = [ [[package]] name = "sp1-recursion-derive" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5b2aaa03093afb2b0f58379bb4f0d7898344ef1bb8dd326ec02db7125c1a590" +checksum = "866117afb5938197584bae8880de18443931f36a268842ff8f74cb7a3059d36b" dependencies = [ "quote", "syn 1.0.109", @@ -7311,9 +7304,9 @@ dependencies = [ [[package]] name = "sp1-recursion-gnark-ffi" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a12889c662cf64870e72bb3ba8096f3465bf442f5f179c07b50c86f5c47ce80" +checksum = "973625e2d9f5ee8a7ce9bc83184f629af81b5bcd29720cda11c53b3f7eb1acd3" dependencies = [ "anyhow", "bincode", @@ -7358,7 +7351,7 @@ dependencies = [ "p3-field", "p3-fri", "prost 0.13.3", - "reqwest 0.12.8", + "reqwest 0.12.9", "reqwest-middleware", "serde", "sp1-core-executor", @@ -7378,9 +7371,9 @@ dependencies = [ [[package]] name = "sp1-stark" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec27b60e797a52eed7af54e032498edcaf8f1ab0649077cbaa6f146a740380dd" +checksum = "dfb820084dc880e82459d0988f5b379de79839a984d5dd668a4a4d8b9ca2b60f" dependencies = [ "arrayref", "getrandom", @@ -7414,9 +7407,9 @@ dependencies = [ [[package]] name = "sp1-zkvm" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce08dc324dade0709260b01c76c8eeb665f2ef7c652c2002e2edf5a492ded7f1" +checksum = "9a5691948f95f2acbea5c7ccef08d70105a08b5fbbabe8dd5ed94b120bc2c9c3" dependencies = [ "cfg-if", "getrandom", @@ -7424,7 +7417,7 @@ dependencies = [ "libm", "rand", "sha2 0.10.8", - "sp1-lib 3.0.0", + "sp1-lib", ] [[package]] @@ -7528,7 +7521,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -7541,7 +7534,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -7578,9 +7571,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.85" +version = "2.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5023162dfcd14ef8f32034d8bcd4cc5ddc61ef7a247c024a33e24e1f24d21b56" +checksum = "e89275301d38033efb81a6e60e3497e734dfcc62571f2854bf4b16690398824c" dependencies = [ "proc-macro2", "quote", @@ -7596,19 +7589,19 @@ dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] name = "syn-solidity" -version = "0.8.9" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d5e0c2ea8db64b2898b62ea2fbd60204ca95e0b2c6bdf53ff768bbe916fbe4d" +checksum = "16320d4a2021ba1a32470b3759676114a918885e9800e68ad60f2c67969fba62" dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -7809,22 +7802,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.65" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d11abd9594d9b38965ef50805c5e469ca9cc6f197f883f717e0269a3057b3d5" +checksum = "5d171f59dbaa811dbbb1aee1e73db92ec2b122911a48e1390dfe327a821ddede" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.65" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae71770322cbd277e69d762a16c444af02aa0575ac0d174f0b9562d3b37f8602" +checksum = "b08be0f17bd307950653ce45db00cd31200d82b624b36e181337d9c7d92765b5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -7929,7 +7922,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -7958,7 +7951,7 @@ version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" dependencies = [ - "rustls 0.23.15", + "rustls 0.23.16", "rustls-pki-types", "tokio", ] @@ -7983,7 +7976,7 @@ checksum = "edc5f74e248dc973e0dbb7b74c7e0d6fcc301c694ff50049504004ef4d0cdcd9" dependencies = [ "futures-util", "log", - "rustls 0.23.15", + "rustls 0.23.16", "rustls-pki-types", "tokio", "tokio-rustls 0.26.0", @@ -8097,7 +8090,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -8181,7 +8174,7 @@ dependencies = [ "httparse", "log", "rand", - "rustls 0.23.15", + "rustls 0.23.16", "rustls-pki-types", "sha1", "thiserror", @@ -8201,7 +8194,7 @@ dependencies = [ "http-body-util", "hyper 1.5.0", "prost 0.13.3", - "reqwest 0.12.8", + "reqwest 0.12.9", "serde", "serde_json", "thiserror", @@ -8494,7 +8487,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", "wasm-bindgen-shared", ] @@ -8528,7 +8521,7 @@ checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -8913,7 +8906,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] @@ -8933,7 +8926,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.85", + "syn 2.0.86", ] [[package]] From cbe9d11ff6d96286f2381264e78777bc6b0c274e Mon Sep 17 00:00:00 2001 From: srdtrk Date: Sat, 2 Nov 2024 13:02:57 +0800 Subject: [PATCH 6/6] imp: regenerated all fixtures --- contracts/fixtures/memberships_fixture.json | 16 ++++++++-------- ...our_breaking_time_monotonicity_fixture.json | 12 ++++++------ .../misbehaviour_double_sign_fixture.json | 14 +++++++------- .../fixtures/uc_and_memberships_fixture.json | 16 ++++++++-------- .../fixtures/union_membership_fixture.json | 16 ++++++++-------- .../fixtures/union_nonmembership_fixture.json | 16 ++++++++-------- contracts/fixtures/update_client_fixture.json | 18 +++++++++--------- 7 files changed, 54 insertions(+), 54 deletions(-) diff --git a/contracts/fixtures/memberships_fixture.json b/contracts/fixtures/memberships_fixture.json index 7ac17de..404628f 100644 --- a/contracts/fixtures/memberships_fixture.json +++ b/contracts/fixtures/memberships_fixture.json @@ -1,10 +1,10 @@ { - "trustedClientState": "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000002dc55b000000000000000000000000000000000000000000000000000000000012750000000000000000000000000000000000000000000000000000000000001baf80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000076d6f6368612d3400000000000000000000000000000000000000000000000000", - "trustedConsensusState": "00000000000000000000000000000000000000000000000000000000671c5fbabb46d709a81d092fed68f31b2f1939ceeea4144a52c04555a14e8fbbadf00d5878ab69d7643ddd63c025de44e46191c475327fe5cc43f0b4ecd73bfe5c8baa36", - "updateClientVkey": "0x00eb2083fbdbb910c4eaab86890e92a3e11deebe26c7380ab434540738000dd1", - "membershipVkey": "0x003209f1bf3c8ae79092f83e53ca32a2cb5dbbc3a07b38e194b625450dd8a05d", - "ucAndMembershipVkey": "0x005309564fc62917614e1c340e342d0f61b45aa2895595e92832b2eddf45fc89", - "misbehaviourVkey": "0x0062b4336b37fc39c42ca0e51e42b2fc58ae79337ce2fca10203907d38e6170e", - "proofHeight": "000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000002dc55b", - "membershipProof": "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000671c5fbabb46d709a81d092fed68f31b2f1939ceeea4144a52c04555a14e8fbbadf00d5878ab69d7643ddd63c025de44e46191c475327fe5cc43f0b4ecd73bfe5c8baa36003209f1bf3c8ae79092f83e53ca32a2cb5dbbc3a07b38e194b625450dd8a05d000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000020bb46d709a81d092fed68f31b2f1939ceeea4144a52c04555a14e8fbbadf00d58000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000369626300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023636c69656e74732f30372d74656e6465726d696e742d302f636c69656e745374617465000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b70a2b2f6962632e6c69676874636c69656e74732e74656e6465726d696e742e76312e436c69656e7453746174651287010a1174686574612d746573746e65742d3030311204080110031a040880840722040880c60a2a02082832003a0510b7e3c60842190a090801180120012a0100120c0a02000110211804200c300142190a090801180120012a0100120c0a02000110201801200130014a07757067726164654a10757067726164656449424353746174655001580100000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000369626300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025636c69656e74732f30372d74656e6465726d696e742d3030312f636c69656e7453746174650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036454bdcae30b5087e975532acb90ecc5ba71cce15f1d88506e2e74e1b43f14f54f17b93cd62a0f257eb0751293055b5934ee6b6ff65b6b1484debb0ad522e8e46d6285981029e2d745e174747e766442fa01293c3ce75f311c815a0f72c3d2a0dbcb32018129b45baaa266aa248937fd1a50fe8db46c52b84d2a3bc3a3940fe6715ad146f601e92b2880ced52d319acff21c2bb2a8dfe10afc42830f2fcd3bc1b057d237a42272090a7ebbb562df3f610408250c7d6074b44c82d51c347a2b11cfbdc30ad723ea8fd6bd9ae61dc0445a6fa3b1333e5e7c0368220c0cc65e9b5bf3a1c77375026f445ddf674d187f8abc75a4d057c4a90c913c597d2b94a2420298dc426fde14f2ef79d447d2f9548973e65e19c8262417e914e85cfc1d81cac86d123ce8970767136da4889073d745b5e703b56838e0c8d6199854a3646b8c01552fdd82b224863d119d4104f756eba1e1c9d12e4ac75da3f81fa303ba80f9ae9f76664aa8247328378765cdad6888643d028e90b0454b3c3c7762cc1ddb54ec97bac29eab0b43a9c9c815b0ad7cd152bb12c7f1072d9343191449b2701a4030172dfb88520e7e136c3922ee8317e44b537abde9c5ab2f483a3382aeb3629de3ffbb325ff913dbbb9804534be9bc209140d158fbc7a1384c9b17d8a835fdf45e402eb38c0921299634e69bc5de8bc0731c5a7291660e27a9a46986bff125b4537c8161363e1eb0e00b6b79fe1e39ac6f592f3e631854a6fbb8063a876c30f57a2b6048300c0d2eb2223cbde64d5e3f60b155cb76d56e3105244f87e94976646b9fca935db5015b8d1dedb4dc66bf27a5eb369d6914986b2bd93ebe8967411fa5357ddea1f317f52b85ae7a740e812e70d1898be6a7071162fc7cb936e0ee99615c5455d3da006d55eefc7342f09f5564514f53a19102d92b53cd3abd23a2a968262c68354b10bedc2624bde7d34d66a5787dc4ecd65195641e05ced29f2a49266d2bc323482bf2efcb3f5d205a7b49c549f708268a01bcade1038f04dd58eea8930667db9624dea0b41ba0f2930b033f65d5e4a476c950c1a9faf38fbe185f773c01298a31030fb3fc7ee2124ed5c7dbf1e9a32aec4047fc5e154edcb4aa2dfc19a0e1623911de066ba6ba859df17a18224c38c87133f48e4bf4f86d8226502ba82ae97731227b721f1cdca17fb36ffac46737c236eeb4fe03454c1e245f99374ed1df9bd600000000000000000000000000000000000000000000000000000000" + "trustedClientState": "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000002e8888000000000000000000000000000000000000000000000000000000000012750000000000000000000000000000000000000000000000000000000000001baf80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000076d6f6368612d3400000000000000000000000000000000000000000000000000", + "trustedConsensusState": "000000000000000000000000000000000000000000000000000000006725a98d0abbde8dbb182098f9f08db967904771dff53ba4a5dc13e93a2574bbeea4b8a24147b8cb4cff65685f01a2398bf76ed3a5eb409c5b796d685271469f106ea6cb", + "updateClientVkey": "0x0058b7643092abdce2dc75a47edef881996a5364849493f288bec2705a6e9f03", + "membershipVkey": "0x00c80749d48831352ad92fc58779c3ab38c1ed5f7db1fd8bd6c029da59855a36", + "ucAndMembershipVkey": "0x0020d0cbc9d739da4c4315159cc8e7293e0bf37805ed9abac135ece2e8dd4277", + "misbehaviourVkey": "0x00ee502921248a6f7de906d33f7891bb4ecdcdacd5de9c2c0aebf7c6cc0c315d", + "proofHeight": "000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000002e8888", + "membershipProof": "000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000006725a98d0abbde8dbb182098f9f08db967904771dff53ba4a5dc13e93a2574bbeea4b8a24147b8cb4cff65685f01a2398bf76ed3a5eb409c5b796d685271469f106ea6cb00c80749d48831352ad92fc58779c3ab38c1ed5f7db1fd8bd6c029da59855a36000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000000000000000000000000000000000000000044000000000000000000000000000000000000000000000000000000000000000200abbde8dbb182098f9f08db967904771dff53ba4a5dc13e93a2574bbeea4b8a2000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000369626300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023636c69656e74732f30372d74656e6465726d696e742d302f636c69656e745374617465000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b70a2b2f6962632e6c69676874636c69656e74732e74656e6465726d696e742e76312e436c69656e7453746174651287010a1174686574612d746573746e65742d3030311204080110031a040880840722040880c60a2a02082832003a0510b7e3c60842190a090801180120012a0100120c0a02000110211804200c300142190a090801180120012a0100120c0a02000110201801200130014a07757067726164654a10757067726164656449424353746174655001580100000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000369626300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025636c69656e74732f30372d74656e6465726d696e742d3030312f636c69656e7453746174650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036454bdcae32b65a7063a37e4ea00e46bb60e00528f2836235812bfe3f199286333adc87fdd14f23e36b7834493f0ac5edfba569c7f9b0424c6d7f4995fded63a7ac865c2bc165015c2121d6caed7e311874a28b4b7e3099c034918b0c93a6978cbd907e6872dd8608f677fd433a7b6a2ecf10662ab77829ef60223f2d4f03817cfadb6266922e131a4e71d8d1cbb17d3e443e3e137f74afea77275da51ba54d7fe10333103190c60611bcb3cf0ac1d783dd1c6e25449f1363fcd12e077177706ec7b8e82e83039d5b0fc26e3163b856fc97f84ccc0fc74af1b63f3dd93a5a1c3edb7d6191922f5a97426de9e480958bb12ef162c195ed8451c3681da7012cd31315674324e20c575f7e803cc7a8c69a7ccb9264e782e4266d708a565bc6631f299e7b33aa82f778fa45bcc60d6452965c32f5d0e6150d63c500599cbca5c76f52648118fe1177a8e5c664b6cefffb99fb2d0e6975f220218f0b4b9937323745724190de2c72f2061c8dab6f3d55bdd20a675a16e0d1ae088a8596e26acd7c2c19a2776c172160fe54a89f740ac1df25fc1aa80bdcba40fd05f5555255d056c73e61493f2541de1abb68a96076895858794f37ebc82084b3433315b1c4b5c6175e28a74d88901b13322d0d0d6984034d662d280747cc860bbf89b914849d45bc0b6a5a436120314dbbe5a454757f75516668606e2ecb9d7edfcacdf2af2e4167d77528932f22e36122c42329baea992584f60ec45e16ae21b43043b1b59e7925d9c87bb9e64061b97e31dd829b9770ee80f49b16039e8d80415f130fa519782373615d713242da8b30b938cfb286d1c5225f0a7b809488f8d4ff6f8eecc53643be6d947c3c12c515b2078f7f95d7ae73db8be9911a6175eb0fcd58be9359bdae7d2808e812f0b66aeff5b65ccd73e24092b18b332fcf9fc2baa48e37f3f06efca623433e84b0cd4bc693d9130b8b8abd99199564437b838653d54efa77a970ef837a1e3a0ed233605771426386cf0211a83441ac9fbb3e4600698c05b9d548c341c72fd58d308ed15735dbc5e1d0ab1591e8ba73aa6f1d51a3b2d4ea70904b439473266a3d1146b6fbc18c02b6a6b0402fec30d7ee660852571c6adce49a876341aa1a7cc2c1ed0bf70756c5095ac55be32581c1dcc41486e551fe0276703d178a8a95abc2708d93a99edfbb85d93b9d09549d385a7e0af06ba663a898006d41b31cdfe9fe500000000000000000000000000000000000000000000000000000000" } \ No newline at end of file diff --git a/contracts/fixtures/misbehaviour_breaking_time_monotonicity_fixture.json b/contracts/fixtures/misbehaviour_breaking_time_monotonicity_fixture.json index dfbccd6..6c5f293 100644 --- a/contracts/fixtures/misbehaviour_breaking_time_monotonicity_fixture.json +++ b/contracts/fixtures/misbehaviour_breaking_time_monotonicity_fixture.json @@ -1,9 +1,9 @@ { "trustedClientState": "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000012754500000000000000000000000000000000000000000000000000000000001baf800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000673696d642d310000000000000000000000000000000000000000000000000000", - "trustedConsensusState": "00000000000000000000000000000000000000000000000000000000671c67a42b4d03ced67e382e78e786820aea29498f251bc61b71bee21ebf9a14dee248d9a1fdfeefbb06d2883c73a91ae33e23638bfb99a520597b147dc84a65ad70c999", - "updateClientVkey": "0x00eb2083fbdbb910c4eaab86890e92a3e11deebe26c7380ab434540738000dd1", - "membershipVkey": "0x003209f1bf3c8ae79092f83e53ca32a2cb5dbbc3a07b38e194b625450dd8a05d", - "ucAndMembershipVkey": "0x005309564fc62917614e1c340e342d0f61b45aa2895595e92832b2eddf45fc89", - "misbehaviourVkey": "0x0062b4336b37fc39c42ca0e51e42b2fc58ae79337ce2fca10203907d38e6170e", - "submitMsg": "000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200062b4336b37fc39c42ca0e51e42b2fc58ae79337ce2fca10203907d38e6170e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000671c67a42b4d03ced67e382e78e786820aea29498f251bc61b71bee21ebf9a14dee248d9a1fdfeefbb06d2883c73a91ae33e23638bfb99a520597b147dc84a65ad70c99900000000000000000000000000000000000000000000000000000000671c67a42b4d03ced67e382e78e786820aea29498f251bc61b71bee21ebf9a14dee248d9a1fdfeefbb06d2883c73a91ae33e23638bfb99a520597b147dc84a65ad70c99900000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000012754500000000000000000000000000000000000000000000000000000000671c67cc000000000000000000000000000000000000000000000000000000000000000673696d642d310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036454bdcae307c468201368e3f93f11067f5607d241847cbd53ef4c2d87977ba571da81b8002a97a3758ae19a4d97f27036a30aff980845f67f51da5eb720d9e1dc8ee7bf052748862e8f4f5dd9ba54dbc5c35ae386f4dc93232346d6ac89e4517ecee17a5a27fd400765f395ff0501c749abc39b3952802bb008b04e1097b356c64809134a224fa9eca1a612f2869474e2d8153772d3de47f3fe08aa968f9569af8d2f951529d9452abd756484db80da1f82ba33838325880df6d223d295792d1577bdf03d0ac8403296005bdbb52a778bc0194b5c35ed1dd638e6f2052661525d0fe5a486275c5088013e59f67d6e4b8d473bf1f039e3399cf0bf488ce32c56c54bb59a63033405050f162a0e3563dd47119de5058f2463d4dd8833fe62c4c95a0e59bd420f4116ecbbfaabc06c06642e67636cfe55129a3246429b834e21b790b5e6ca19268fb25ce149f14a3f795cd564eda5811f1ec1a11a4487189081e4a172068b59183b7fd66d8736c3f02b9895cf06ef348312eda2b05f99478f2bf4f7f4ba0ba31830cd28d9e52b60e8fbe2f7d3135dbe639678161cc8c4df907df27fb8dd727f2a22a2e54ca9e69444cb86a0bfc1a4449883cdad57f19662351cdf6a7b37acb810d1e5faec7ba541887c1e04cb93dcd930191843c53f3f1c643bc381614dcf842bfa512939210d50df2dbbddcac81db1ec282aada4397fd8536bdbebe4c7771c1b7eb87becb0055127d628ae45fef57f379efdaaf5fa5383aabd2e04694c4cde28e972d067540991eb8ed71f5b695ba34b02c113adb3b67a5ef8a3660e438bad1adf424a5ff5c1b301f1857918cfcc7f50ae3e95c30a6cd7e0044891261285682ed9cb1d7a4ae2b53a2ad598fe3b5126babe82b6cd41b5c6a6f53901a657ef8c00953dbf5cbbefdad93ba2f26348cc1e69e35bb3fa6947cd8e55bf2590682fd309bf88c6de2505c1ca214e5de5957898c0e9be488f0c430f4ebbe247966b00c41cf75258038250c376c58375c79d04af938a6dcfa8d3d020aa541de71b34034419b8d1ac9726fa3d76327bae5d790cbc4370625f3623a07ad3a9a35b18e258b82efabf16c18fc29b03a1d9dda6c724fb042982c866612b6e7bbf0a7e9dae9ff3053405708633271a2e79489a041671a69e0605dc8d7f2aecb69263857ba7d91f07c6593b6a6eb74c971d547e8f845ffeae25f9a0ea192ce5d18dbe14e6574a9600000000000000000000000000000000000000000000000000000000" + "trustedConsensusState": "000000000000000000000000000000000000000000000000000000006725b074a9fc76f14a4110e0d2533c005bfaffcd543186f31e62cefdb06e5dce103f9b398334aeba32a15b1c07651f392d5c9a808dd9d5d90df1b0de774e8726ed26c304", + "updateClientVkey": "0x0058b7643092abdce2dc75a47edef881996a5364849493f288bec2705a6e9f03", + "membershipVkey": "0x00c80749d48831352ad92fc58779c3ab38c1ed5f7db1fd8bd6c029da59855a36", + "ucAndMembershipVkey": "0x0020d0cbc9d739da4c4315159cc8e7293e0bf37805ed9abac135ece2e8dd4277", + "misbehaviourVkey": "0x00ee502921248a6f7de906d33f7891bb4ecdcdacd5de9c2c0aebf7c6cc0c315d", + "submitMsg": "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000ee502921248a6f7de906d33f7891bb4ecdcdacd5de9c2c0aebf7c6cc0c315d000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000006725b074a9fc76f14a4110e0d2533c005bfaffcd543186f31e62cefdb06e5dce103f9b398334aeba32a15b1c07651f392d5c9a808dd9d5d90df1b0de774e8726ed26c304000000000000000000000000000000000000000000000000000000006725b074a9fc76f14a4110e0d2533c005bfaffcd543186f31e62cefdb06e5dce103f9b398334aeba32a15b1c07651f392d5c9a808dd9d5d90df1b0de774e8726ed26c30400000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000127545000000000000000000000000000000000000000000000000000000006725b0a6000000000000000000000000000000000000000000000000000000000000000673696d642d310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036454bdcae3110459c35baf20c6977d9c5e806c193449f28527964592414ed1620d865d2fe7030c443baf732d3fa9618847b740495aa3665a2136fc8b0843bed55c93a4f60a039470319d88a011b007b62e351d2a1b78cb17290ac50122c76c9112699b3813100994d26f55de2c92c0e171b7858410e185ffbe40f0773a8f2744e9a5ad8b6f1d1d1095aa1b01789b33db9677290a57de2ed38672ec98312bc5fb684145c86101dd3c5e555e81fc06ed907d1fbb9d8654d07c101c5498753d905f7ae4acffc22013c8a7dff6c587f257118222d1e5358dc5880e78b54863b24cb6d69ce3303408f84cdd7ef434d3ad6b422fedaa443e77e829c7e020823b629e555def3b115713e88048e92baf77f6b09726a94809926b3ea0e0bad3f9b8b3336a91ae0788a10759da211c7246cd9ca6c2a93192f988c264a2cddf840438183b4ec43bb159020f948995a2f47004c26b3b6e4306118f2da8a7f88d429660416fef6e46a1dff00411c718d7ea943495823bfcac97ff3c3b91e74df303b5dbb5d05b38b12edb632711874a1ca577ff2a09c06330a98c7669cae82c12cdea1ba3d1f0d4ce6a823d3038b1ba560f7b11a8b2ec981a69d252503f13e2f842bdf35f07f7e62c18678615716a03b1622308a15082f48c36afc6b881c02f38ea3d0f1794d2f0b280d2a1270596d4bfd898bda48fb343ebd1bbeb234fd16e9215129579c1b99ab5cdc20e0e5f7cac9e32d1f85d9ccb156fc7b99d93753323137efac66b269e526f524cc802b0031a83f808507556e23820db02fa6ca19b6ea3fc49eb418760baef6f7cd62b35253741e5c507e39bf63d135c06c68c9a61da4f0f2e810448c4824518054c0fbbf5bcc662d44542ddfae7399ca61d1350dfe5991aa034af56a2d1c8ce53ee23064d97c559077edcbad85c91296e0c45afe88dbb41ab79749d70149ef9654b1a6326a7c4d0ee25c5b7d935296e89f3ab964a6293c029afc1f4bbe0d6c109341dfb13738ca0449623936074624bac19fd7bb15d23739011ec42b4a2e30ea24d0fd6789c310b7a1b7336dbf80402809498cfa893d3fbf465de4b7c70b9029266181f9b33fd1388afc3908dc785a857b2e013701c65d8f07e9c412e474db5c8e91e09d98c8063ef14639e5f676942b8e07e8b00f4d9aad2814e900e7549c67f190d2c59805115a874b5b5297e47dd9b862a0c6a8f17fa0c7656cb0773465d55ce00000000000000000000000000000000000000000000000000000000" } diff --git a/contracts/fixtures/misbehaviour_double_sign_fixture.json b/contracts/fixtures/misbehaviour_double_sign_fixture.json index 1f37a3a..57f2ae0 100644 --- a/contracts/fixtures/misbehaviour_double_sign_fixture.json +++ b/contracts/fixtures/misbehaviour_double_sign_fixture.json @@ -1,9 +1,9 @@ { - "trustedClientState": "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000012754500000000000000000000000000000000000000000000000000000000001baf800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000673696d642d310000000000000000000000000000000000000000000000000000", - "trustedConsensusState": "00000000000000000000000000000000000000000000000000000000671c66d7b0a2616dcde6d1073943e12437278f8686cf8a699c8fdff7acf46407a63a083becb2f0dd8fd1213e806cd8059c7ff109b3c08649981575c8d18879235992d52e", - "updateClientVkey": "0x00eb2083fbdbb910c4eaab86890e92a3e11deebe26c7380ab434540738000dd1", - "membershipVkey": "0x003209f1bf3c8ae79092f83e53ca32a2cb5dbbc3a07b38e194b625450dd8a05d", - "ucAndMembershipVkey": "0x005309564fc62917614e1c340e342d0f61b45aa2895595e92832b2eddf45fc89", - "misbehaviourVkey": "0x0062b4336b37fc39c42ca0e51e42b2fc58ae79337ce2fca10203907d38e6170e", - "submitMsg": "000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200062b4336b37fc39c42ca0e51e42b2fc58ae79337ce2fca10203907d38e6170e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000000000000671c66d7b0a2616dcde6d1073943e12437278f8686cf8a699c8fdff7acf46407a63a083becb2f0dd8fd1213e806cd8059c7ff109b3c08649981575c8d18879235992d52e00000000000000000000000000000000000000000000000000000000671c66d7b0a2616dcde6d1073943e12437278f8686cf8a699c8fdff7acf46407a63a083becb2f0dd8fd1213e806cd8059c7ff109b3c08649981575c8d18879235992d52e00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000012754500000000000000000000000000000000000000000000000000000000671c6710000000000000000000000000000000000000000000000000000000000000000673696d642d310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036454bdcae30c7e306bb989a992e3719bbf7611593f5919fe5799128e5afda8e7e4ef44753323ee19e831ba13dd39ce78f239cf5807afafd0542dbf556dfc74fe02e0d44d1d0b200beb4bd72638d8e892d490942c323a0f40ff4cb7b756c692a2a2de98b60828e7bd227f226970db4ab092501593f1a0cc89b9932bdcab70a009cbdd90cd99239f528f9bd6f58416a2da2710614f57a063768c49a39f603cd49275e7653f780e24d4eebdfb2cec111b9d41f2e5a65fc1e545b0f89cc8513172b9406376f4f20096799b69fc08bdbac488411c9cd6ad5342f2df44d60694b02ec8b94d8588621d6f4ceb129e592ad639ef804e4db0b32ed09507bfe4ce575ea38ebb124c701a152475a17ace9008b30ffcc237b8b49b4e811326d815ef9cb93d4cb04a82c7dd212f14be671cb52581878a45d835caa6742b06e7f8a54f97db3b3bcb3198419d0bfc5148604499b465f6f648d812c42ddfb54a0ad22fb1f59a4bd51e64636d440de39a57dabfb817c910b00909025229bb5b6a401f327e4fd35a13adea519c450a06ce2f36d27382a9ff1f2b6f27945ae19599f9656420032762cb3642e1f12302a6aa0521fc0a3b5b91b7f0823b3748e7976380b5ed1f5a8dd5700da58fcfaf18ac23d3cbf86f8d22803ef635882967306be281316b8d89cdf78c834a45dfcf2548253d531964896330539b7f9e4e264c1253f73739144a806c89c99778cdc52517a8a078896b8df791f3768b60cff70e4ed54b84cc7571f38876e625fe30200df5ab5515eb966587665902d1c3633437d6f7264b9016bdb3c6537ee08d6c3209d4c87562d5d6dd1ee398b7947602624253d439611ec924374698d1a9166de60373d573eb9778d89532b771aef2c19287e8e572fbebba9762bb2611b4743f7a0333f13afd9daf359604b12b07003a5e6115233713e675b973582feb8756705818469ad0ed758a3f8af9e775dfe0dd55dbb11677045635864ce31fc069e8137c15680c748e9832479aaefc553541d4361446f535e6e62bc1e2e11e4e4374db7b2a599cf85d383460b0d5f5ef4c302e0fab9cd6831a24bda7f30a15835482a8d12320b277eb8aad61aa96ce2517cec3c70080b39d2ede666284210d4cf337d31e167116c7a5b30f540526923f9c1d7aac4b85a3740089a283194f72008bbd0f9e2c94cf1f0ab8d2e6387540ec718c86a77d75f7faa246c8da3f384bc6597bc13300000000000000000000000000000000000000000000000000000000" + "trustedClientState": "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000012754500000000000000000000000000000000000000000000000000000000001baf800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000673696d642d310000000000000000000000000000000000000000000000000000", + "trustedConsensusState": "000000000000000000000000000000000000000000000000000000006725af985331d8884509e2d9fedbd60df69b1c7a7feb65e91064c4776bf4c04f2f151010e4e36934e787ce16fd3b3820bf467dc75b5df2ec7e02d5c902b9982fc55d0e8e", + "updateClientVkey": "0x0058b7643092abdce2dc75a47edef881996a5364849493f288bec2705a6e9f03", + "membershipVkey": "0x00c80749d48831352ad92fc58779c3ab38c1ed5f7db1fd8bd6c029da59855a36", + "ucAndMembershipVkey": "0x0020d0cbc9d739da4c4315159cc8e7293e0bf37805ed9abac135ece2e8dd4277", + "misbehaviourVkey": "0x00ee502921248a6f7de906d33f7891bb4ecdcdacd5de9c2c0aebf7c6cc0c315d", + "submitMsg": "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000ee502921248a6f7de906d33f7891bb4ecdcdacd5de9c2c0aebf7c6cc0c315d000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000006725af985331d8884509e2d9fedbd60df69b1c7a7feb65e91064c4776bf4c04f2f151010e4e36934e787ce16fd3b3820bf467dc75b5df2ec7e02d5c902b9982fc55d0e8e000000000000000000000000000000000000000000000000000000006725af985331d8884509e2d9fedbd60df69b1c7a7feb65e91064c4776bf4c04f2f151010e4e36934e787ce16fd3b3820bf467dc75b5df2ec7e02d5c902b9982fc55d0e8e00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000127545000000000000000000000000000000000000000000000000000000006725afde000000000000000000000000000000000000000000000000000000000000000673696d642d310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036454bdcae3014ec3832e395c283af70db6558bc390ae95d83d217945c46764fbaa8abd1c3e1b430d599a17f92077104933efe7251eb46268cc4c44a6935c36d8127a81d6ff092750130dabd47b048bfdd564d9c9a778577a6532854774cb2b7aeaa76c7c3f0c046dcd13490689685a473030abb972a4aaf5baf85999468add38e01f8789f61689e5e632e0f45ca698caeb25eb40490fb3a6de5c7f93b71905686a9bdd1e871b2de1dddd13800ca4378e1ef014bef2ceb7cb4db7619445c22a306f6bf08aaa1f7ec418cb00700f558e019975d8829d7a3f6a853192895b784d721a538a087e2ee5e8529878b164af15d6ac255404a8eec9a4b07b18bd6b47c71dcc345c12d72b78e0b7324e10f2552bba6c990d4c5456a168e15c7d412c8fda19f2ebae6aca14d590cea92a23cadd367910f1d9f853be299cc58c5c82475ac7df3321fcbb1e17b4c8787afb0bf39b13c09710fcf93f6da0124fa9fb58a82ec4c833f1338ffe224350c6878d24161c110b86fb3a4011d0dbb5e6921fe910d477b35d2652832d26b9fb4ecf2445d3717689faec00c4d5baccb5806b687f705c07c453ee89cc8c2532353d8755a68cf0917ffa37d59bf7d5457c9ce6dffd89a299eaf84e89d795041076709cb8cc8afeb7bab8f633ab70295b293cfe02d013fcb86b9d63d52d5c2d2b3c9d99ab64c9b1b189be8d66bcf42a52a3d8213e988f0aa49b5299d8626b26d100bc6e9aac26c12f8802347d5e335a6d0be748520b7022b4e9e62486a2790e2ecd2456944071140c43c47777d40c4c4b875d82dc620c3c7f7e8c4a247f75061653830692b08998a3ce0d74e2feaa7649405c6f67021a538c6d34bab61e29185f38cbb7037dbf5fb5aed281e242a3579017087da0224ee1c1698e455c125302f92fdf0f2b5f207ae906f6cc7e02e498c415488f8a0e64a593ee74f2b4062e1a0ef7a09f1f50a4c541a795a5949b64d86a0141a25152412c0c5e63966024d71332c53ed1d58db7a38862d00360074a81a876947d5edfd4122294ba3395f4252978e220e1518c7e524f789dc9edbfc4a3191f2500b0626f01390a7d64ec24d90ad35e5aad37f16a99b290ea33b2866cfc948aeceb308a0a87d8789b833ece0b068ccc36f8e4d08313c8df303b0cfedac128864df3712cb479c688eefaca4f3411b87283dad460bce3414879d085e46b925e5873d9a7c8f34d8a96d168ffb9bf00000000000000000000000000000000000000000000000000000000" } diff --git a/contracts/fixtures/uc_and_memberships_fixture.json b/contracts/fixtures/uc_and_memberships_fixture.json index 1f4f29c..6ef8683 100644 --- a/contracts/fixtures/uc_and_memberships_fixture.json +++ b/contracts/fixtures/uc_and_memberships_fixture.json @@ -1,10 +1,10 @@ { - "trustedClientState": "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000002dc55b000000000000000000000000000000000000000000000000000000000012750000000000000000000000000000000000000000000000000000000000001baf80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000076d6f6368612d3400000000000000000000000000000000000000000000000000", - "trustedConsensusState": "00000000000000000000000000000000000000000000000000000000671c5fbabb46d709a81d092fed68f31b2f1939ceeea4144a52c04555a14e8fbbadf00d5878ab69d7643ddd63c025de44e46191c475327fe5cc43f0b4ecd73bfe5c8baa36", - "updateClientVkey": "0x00eb2083fbdbb910c4eaab86890e92a3e11deebe26c7380ab434540738000dd1", - "membershipVkey": "0x003209f1bf3c8ae79092f83e53ca32a2cb5dbbc3a07b38e194b625450dd8a05d", - "ucAndMembershipVkey": "0x005309564fc62917614e1c340e342d0f61b45aa2895595e92832b2eddf45fc89", - "misbehaviourVkey": "0x0062b4336b37fc39c42ca0e51e42b2fc58ae79337ce2fca10203907d38e6170e", - "proofHeight": "000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000002dc5b5", - "membershipProof": "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ae000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020005309564fc62917614e1c340e342d0f61b45aa2895595e92832b2eddf45fc8900000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000068000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000671c5fbabb46d709a81d092fed68f31b2f1939ceeea4144a52c04555a14e8fbbadf00d5878ab69d7643ddd63c025de44e46191c475327fe5cc43f0b4ecd73bfe5c8baa3600000000000000000000000000000000000000000000000000000000671c6403271bc16756f2cac7c304242ab23f59efc9785cb350b692d67b63ed2714e87b6878ab69d7643ddd63c025de44e46191c475327fe5cc43f0b4ecd73bfe5c8baa360000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000002dc55b000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000002dc5b500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000012750000000000000000000000000000000000000000000000000000000000671c64af00000000000000000000000000000000000000000000000000000000000000076d6f6368612d340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000369626300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023636c69656e74732f30372d74656e6465726d696e742d302f636c69656e745374617465000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b70a2b2f6962632e6c69676874636c69656e74732e74656e6465726d696e742e76312e436c69656e7453746174651287010a1174686574612d746573746e65742d3030311204080110031a040880840722040880c60a2a02082832003a0510b7e3c60842190a090801180120012a0100120c0a02000110211804200c300142190a090801180120012a0100120c0a02000110201801200130014a07757067726164654a10757067726164656449424353746174655001580100000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000369626300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025636c69656e74732f30372d74656e6465726d696e742d3030312f636c69656e7453746174650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036454bdcae3142e588ebd24fd1077f7b66f95c868137d1320fba94a2d3f7b4537c284d5d48f07502dd691ac7aa1fc118e8670d05d4f178057897aa833744b32f61dd0047d840210d4e70b0141373f3f7f81b73bb27cd8a91f5f8f48d4480d2fd4535518b39705b1f1a163a2a69e947365cc5a28aa922e745bc8692e06a069a66df564a3105708f650457c2dcac4678275bee5a5effc34b350be84c94242505be53d20dbd8e824b21cb3347062d08a77ce13a89a3038b6f8a276c0f4a7edb9baecc2d068f6471b655643346e1f050d472905f554d11eeab58361d8fbd0fad3a1dbc0067f8c570d55385d6516c933d46e25d228c7d5101f94fc9ad72cc66982c02b5f4dad632b1ee4a22dda62c3b95e833147411190a53b08f2eebbbcb81c940914d36d3278ae021fc046b2cb9969181e6ddbcd3d88449b5a9aa4338a4554de819e5a1cac9a54146827090f2090b1237c932e800118642f1a519e1159d183e572547fb39c0fa021f7df6abe1757ae03ff0e42858b46727bc63cb0da83617a4e65eb89f6eecf9d13d900eae7cd1de4c8176acbe7d9dcfa675b500c51787177a4f0b85d2019a38e044406f5d8b6e7678d5d45c5b880059232d48f42a306a92d81965238bffc5ccc24497f2bf9b587427c74f88ba318fef7bb23b80ba8ca8857269ae423e3ae903328206c99d36d1b5c1faeb0c7268080e2f718e76e7c5912555a8eed87693dd7a11feb69c83f745f41718f853f07f04b94c357846d3d431e27e765341318c513ab248de5d2db2e051cec87b253a0f10ef78ecfec11f30ec4799b8579d0ffbfca111a29529d6cd22296f7887c427b5fb8d250d0229bcdc6d5225248bedfd0d527781850747b0f8ea52f315a12306bcf53475c1762db36f71a62b8f420970b4461311b6658273a750335b51b41a7f9319f637a6e6b44edf7d019f0d25c6be2adcbb805e84e4137036ca90cb387199e3371f17a51033ac5f5297b69fc699d07fe3869093fc80d0775a83ab371a1015b7331d4bbd42b1bbc05db51eebca3d1f2bf33231c0643c93f5b504cf09f4ef10e4d0e671e5b066e58165a25d68a0872f1a3235b015c0a05632afeb9a08f4cba25e02b82aafd9173bc978530f9c34e0313b4c978262a8d1e6efbc916918bf00f545403d41e58a1b366d86cb7fc0b789408120ea71b0ee7497564b77db3dcbeec137e8cb6a3e568852e696b4fa62c9e921314daf900000000000000000000000000000000000000000000000000000000" + "trustedClientState": "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000002e8888000000000000000000000000000000000000000000000000000000000012750000000000000000000000000000000000000000000000000000000000001baf80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000076d6f6368612d3400000000000000000000000000000000000000000000000000", + "trustedConsensusState": "000000000000000000000000000000000000000000000000000000006725a98d0abbde8dbb182098f9f08db967904771dff53ba4a5dc13e93a2574bbeea4b8a24147b8cb4cff65685f01a2398bf76ed3a5eb409c5b796d685271469f106ea6cb", + "updateClientVkey": "0x0058b7643092abdce2dc75a47edef881996a5364849493f288bec2705a6e9f03", + "membershipVkey": "0x00c80749d48831352ad92fc58779c3ab38c1ed5f7db1fd8bd6c029da59855a36", + "ucAndMembershipVkey": "0x0020d0cbc9d739da4c4315159cc8e7293e0bf37805ed9abac135ece2e8dd4277", + "misbehaviourVkey": "0x00ee502921248a6f7de906d33f7891bb4ecdcdacd5de9c2c0aebf7c6cc0c315d", + "proofHeight": "000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000002e88e2", + "membershipProof": "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000ae0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200020d0cbc9d739da4c4315159cc8e7293e0bf37805ed9abac135ece2e8dd4277000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000680000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000006725a98d0abbde8dbb182098f9f08db967904771dff53ba4a5dc13e93a2574bbeea4b8a24147b8cb4cff65685f01a2398bf76ed3a5eb409c5b796d685271469f106ea6cb000000000000000000000000000000000000000000000000000000006725adc16136b010dd7b9e68564def4d7c55c48a338a8303e0e4180b29dca9ba58b2ae7f4147b8cb4cff65685f01a2398bf76ed3a5eb409c5b796d685271469f106ea6cb0000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000002e8888000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000002e88e200000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000127500000000000000000000000000000000000000000000000000000000006725ae8200000000000000000000000000000000000000000000000000000000000000076d6f6368612d340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000369626300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023636c69656e74732f30372d74656e6465726d696e742d302f636c69656e745374617465000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b70a2b2f6962632e6c69676874636c69656e74732e74656e6465726d696e742e76312e436c69656e7453746174651287010a1174686574612d746573746e65742d3030311204080110031a040880840722040880c60a2a02082832003a0510b7e3c60842190a090801180120012a0100120c0a02000110211804200c300142190a090801180120012a0100120c0a02000110201801200130014a07757067726164654a10757067726164656449424353746174655001580100000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000369626300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025636c69656e74732f30372d74656e6465726d696e742d3030312f636c69656e7453746174650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036454bdcae3180e8879e55f1b3e96d43d96e40e2005ae014380bae6ba9b1e883656748d424e1319218f72b5a4af75f2fb0777355bc4c10e4e16f61335bcbf8603034faf296223c7d3b3c502586120a5ef75ab77d1a4dcaf197c1f326853d69cd4c31813fc1b025f70966f86cfa75445aa938a6b4d9d9e249863373cf4efd8ff37a4b51cadf90401063c714873a81b2384f23021f59ed6e38b42a0a41a137e619ed43481038b2a337c64e5e411b86f3de07e418ffda38642de3fc5b602af58bbbc82e1c095a313405dff25bc2eae61860d74821a42924984a9e4f280248ac41010a12d2e7e832747f528bff3df170c02b64d570ccf1eb240259f286552635778b40f84fdfa620b995e76757537a4e0b676a0a1d73d7eeb17cda24304bb67eb24d1b727b3536909bbe9385b9b785f7a7dad7dd9b0e5656b282889669630f0657765a7e89b5d5c14841d085046eb8b21625d17a8081d8b2aaf2771d59f129a62109a9db3e2c08714b14fe278b2504fbd67ecb4b81f514d7133ad32056232f46e9350b3c11bb30e1413b8d4a923828bc08ca50238b1d90cba3826208f736b7564d48b49f9ef0f74246f8a046c76b16191e5939fc98ca29d9c22f42eee87e642af66cfe597be7ee12d7dea85a301c5580c3aa7b0fd5569384603f35305d9c0fddcaf3cf1b0ae0ea20ae40deb045ccb59fd8d67ca95cd87003c95a16ac9e1b86b27717151a13f228622d823979885d3a2de39983b82fa4e613b51b0c4e9771d7c1bc0c3e8d69482980969363603c0b4b61692a89b7047435ada6911c2e6df24b9e8a736d539045c201a3e9ec64a2897a90cf244e548627c2928ea0498a20233fb4990360a10343bc20e47f215ca70e6ca221a450bb6a492fa85dd4ad8c7b3e8a207e88034f6dca3a720299024abf6b92748df2739760658927b2e0cfe4f424e4956d0bb9e252e1a8525a512d6ce439ea3068f367ec86655d0ba4d7d703a955fa42c8c2f9eac64e80b2ecc51356ca6b6d7ca17a4a8b1d859f6231e2110bec716a0b12dbc526d98d1fe24ac3981deb66335bb2161e933342a69120e30654cb6894d0bfd66c8943e7e4816a1f37d974fdf7717cf5243a70e1c997754ab2cc80f2d53780ba2462caff0682dc48fb508e2bd097720f6af3f5efc16cf34df603c002c937caaa03e1a3301c7004cb8fcffeb50ed35eb077df7831e216c722a99378a9f20b30890f20c0e5c0800000000000000000000000000000000000000000000000000000000" } \ No newline at end of file diff --git a/contracts/fixtures/union_membership_fixture.json b/contracts/fixtures/union_membership_fixture.json index b0e7020..f93bd8e 100644 --- a/contracts/fixtures/union_membership_fixture.json +++ b/contracts/fixtures/union_membership_fixture.json @@ -1,10 +1,10 @@ { - "trustedClientState": "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000002dc55b000000000000000000000000000000000000000000000000000000000012750000000000000000000000000000000000000000000000000000000000001baf80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000076d6f6368612d3400000000000000000000000000000000000000000000000000", - "trustedConsensusState": "00000000000000000000000000000000000000000000000000000000671c5fbabb46d709a81d092fed68f31b2f1939ceeea4144a52c04555a14e8fbbadf00d5878ab69d7643ddd63c025de44e46191c475327fe5cc43f0b4ecd73bfe5c8baa36", - "updateClientVkey": "0x00eb2083fbdbb910c4eaab86890e92a3e11deebe26c7380ab434540738000dd1", - "membershipVkey": "0x003209f1bf3c8ae79092f83e53ca32a2cb5dbbc3a07b38e194b625450dd8a05d", - "ucAndMembershipVkey": "0x005309564fc62917614e1c340e342d0f61b45aa2895595e92832b2eddf45fc89", - "misbehaviourVkey": "0x0062b4336b37fc39c42ca0e51e42b2fc58ae79337ce2fca10203907d38e6170e", - "proofHeight": "000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000002dc55b", - "membershipProof": "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000018600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000671c5fbabb46d709a81d092fed68f31b2f1939ceeea4144a52c04555a14e8fbbadf00d5878ab69d7643ddd63c025de44e46191c475327fe5cc43f0b4ecd73bfe5c8baa3600000000000000000000000000000000000000000000000000000000000017a0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000011e0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000023636c69656e74732f30372d74656e6465726d696e742d302f636c69656e745374617465000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b70a2b2f6962632e6c69676874636c69656e74732e74656e6465726d696e742e76312e436c69656e7453746174651287010a1174686574612d746573746e65742d3030311204080110031a040880840722040880c60a2a02082832003a0510b7e3c60842190a090801180120012a0100120c0a02000110211804200c300142190a090801180120012a0100120c0a02000110201801200130014a07757067726164654a10757067726164656449424353746174655001580100000000000000000000000000000000000000000000000000000000000000000000000000000000050002dcc4090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004800000000000000000000000000000000000000000000000000000000000000540000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006e000000000000000000000000000000000000000000000000000000000000007c000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000000000000000000000000000000000000000009800000000000000000000000000000000000000000000000000000000000000a600000000000000000000000000000000000000000000000000000000000000b400000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000dc00000000000000000000000000000000000000000000000000000000000000ea00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000070406f89c96022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120daf45dd9978b7647487078dc1f3ee843393a2c624e77f8e3a4b825bef6e1007e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000070814f89c96022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120e88165b5726805cec7748dcd6a4e8392bdc6243a47204df600253f59dff01a3400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000280c40a0a4b40220967ca3168e6321c49f8857de515343145448445d0e90eb82ef06b4f15aab5a59200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000290e9401a0a4b40220d4894f99f9b7b74be424fda4262a55968c15d5e24585faeafcd105c50560ed392000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000029109602aea3e80220a9d5bc253f222b1b92ea412046e38581ec4e3582771387a98905fb3069044e8e2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000008128803aea3e802200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021202d1259f24b2578100ea3b58a21701f54ef6fcac369cf44ea4f1815a45db0880f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000814c808aea3e8022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212049d9dddc9d2bb36a1e8367e752fa450773368098347beb0c8a1dad984119d2c50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000816e20daea3e802200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021200c202e0e1c4407c19b7c4180e9e60b39952fc34033ffb37342114a15999dc79c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000818d01fde80ec0220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120395a96ad856b82251de2fcbfdc91e2f92c08860c8bf1f36e6650dd894477b3b6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000081ad657b295ee0220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120c48060c129260ceb51f692a3d936b9ee410a6772f0121c6b05fb8eec11fc3967000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000091caab501b295ee02200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120103cc57aaa215d08d72cb6b93bd55724812f12387e4e3274535effe5cbb1d8ae00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002a1edcf801b295ee02207109d98a001a33bc8ea446ed3eb673915ea50269e6dd4d728344de4b8cb378d52000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000920dcf402b295ee0220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212008d12fa549c426c5180062663cf3893d237fa93eb6f03c251c4069fe73feb529000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000092286d304b295ee0220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212081ce505e7ee1401d0309ab7ffc66490fd0e3909843d683b3199a7621253a37ce0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000924d48d07b295ee0220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212022eb7c0551160f5f19b62bc82f86eb5ba286b23387e6eb957ed18bdacd4452660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000926e4960bb295ee02200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120a7a6f6c56caeeabbba312684e027b875831b9866ab5c410cfe6f47d8adeec55a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000369626300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020939c82980aef1a5f594f991e4cfd99d5f59b0e64b6eb7660e17f77ea0d06c81000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000021015cf0b097207fd17b29ee18f53685dfbb5e9c28cc5db90a0da502629bfc19a71c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002060a0f82d7bd608e6beba7d3a4287e6e68c318bf66543726e2abcf210dd79109600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020874caf627aed782be6552b0ee352c92452729445e8a8f4a225fba7ff64d862de000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002101b4814893fdf35f329e73669b19fb64d02406dd2a831c73d964a5d1aafc1bbf1e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200bf6268e688c150ec0bd30d06cd9dc1f83917fd0b12401edbd9dfa6ca5748e96" + "trustedClientState": "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000002e8888000000000000000000000000000000000000000000000000000000000012750000000000000000000000000000000000000000000000000000000000001baf80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000076d6f6368612d3400000000000000000000000000000000000000000000000000", + "trustedConsensusState": "000000000000000000000000000000000000000000000000000000006725a98d0abbde8dbb182098f9f08db967904771dff53ba4a5dc13e93a2574bbeea4b8a24147b8cb4cff65685f01a2398bf76ed3a5eb409c5b796d685271469f106ea6cb", + "updateClientVkey": "0x0058b7643092abdce2dc75a47edef881996a5364849493f288bec2705a6e9f03", + "membershipVkey": "0x00c80749d48831352ad92fc58779c3ab38c1ed5f7db1fd8bd6c029da59855a36", + "ucAndMembershipVkey": "0x0020d0cbc9d739da4c4315159cc8e7293e0bf37805ed9abac135ece2e8dd4277", + "misbehaviourVkey": "0x00ee502921248a6f7de906d33f7891bb4ecdcdacd5de9c2c0aebf7c6cc0c315d", + "proofHeight": "000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000002e8888", + "membershipProof": "000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000176000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000006725a98d0abbde8dbb182098f9f08db967904771dff53ba4a5dc13e93a2574bbeea4b8a24147b8cb4cff65685f01a2398bf76ed3a5eb409c5b796d685271469f106ea6cb00000000000000000000000000000000000000000000000000000000000016a0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000010e0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000023636c69656e74732f30372d74656e6465726d696e742d302f636c69656e745374617465000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b70a2b2f6962632e6c69676874636c69656e74732e74656e6465726d696e742e76312e436c69656e7453746174651287010a1174686574612d746573746e65742d3030311204080110031a040880840722040880c60a2a02082832003a0510b7e3c60842190a090801180120012a0100120c0a02000110211804200c300142190a090801180120012a0100120c0a02000110201801200130014a07757067726164654a10757067726164656449424353746174655001580100000000000000000000000000000000000000000000000000000000000000000000000000000000050002dcc409000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000052000000000000000000000000000000000000000000000000000000000000005e000000000000000000000000000000000000000000000000000000000000006c000000000000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000000000000088000000000000000000000000000000000000000000000000000000000000009600000000000000000000000000000000000000000000000000000000000000a400000000000000000000000000000000000000000000000000000000000000b200000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000cc00000000000000000000000000000000000000000000000000000000000000da00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000070406f89c96022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120daf45dd9978b7647487078dc1f3ee843393a2c624e77f8e3a4b825bef6e1007e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000070814f89c96022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120e88165b5726805cec7748dcd6a4e8392bdc6243a47204df600253f59dff01a3400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000280c40a0a4b40220967ca3168e6321c49f8857de515343145448445d0e90eb82ef06b4f15aab5a59200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000290e9401a0a4b40220d4894f99f9b7b74be424fda4262a55968c15d5e24585faeafcd105c50560ed392000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000029109602aea3e80220a9d5bc253f222b1b92ea412046e38581ec4e3582771387a98905fb3069044e8e2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000008128803aea3e802200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021202d1259f24b2578100ea3b58a21701f54ef6fcac369cf44ea4f1815a45db0880f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000814c808aea3e8022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212049d9dddc9d2bb36a1e8367e752fa450773368098347beb0c8a1dad984119d2c50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000816e20daea3e802200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021200c202e0e1c4407c19b7c4180e9e60b39952fc34033ffb37342114a15999dc79c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000081ad42582a2f402200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021207af53e91dfcc7549f995fbe21566934cfd3d8f42cc0738a6af4385e1f5ed3479000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000091c8a8e0182a2f40220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212024016fe83f83091dafce2e04ce3053bb525464a13db4d0554f4781595eaf75fb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000920b8950382a2f402200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120398ac7c423cefe4fc3441e141f92331666ed1ba7302529ab9d82c992a3a329b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000092292dc0482a2f4022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021203db86de9e0b75f27e2eacc24310cbd506e7fb9ee4c3389e09a5a4be8ec716af900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002a24c4b00682a2f40220f0d3b320a01da36d4afc68cd83c08e546220efb65d8dd77dd4cc7ccec91f753e2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000926ca980a82a2f402200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120bcb81b12b5563dbe25bef3630d0338ab7d38ee7ff7e2caba36d0e1e64d7ff5470000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000928c8a90e82a2f40220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212042ae1f71e87c1add366a1140a0cd0219b4e00189c0ad725a8c94019bde24905e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000369626300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b786459786f5e7c2dd195e24ae3bfaf3be3711ba20830a7301b165bad4cb631c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000021015cf0b097207fd17b29ee18f53685dfbb5e9c28cc5db90a0da502629bfc19a71c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002060a0f82d7bd608e6beba7d3a4287e6e68c318bf66543726e2abcf210dd79109600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020392896e9ef1c77ddac6aa55378eb98a1d1332b92718bbba91caa6c7a1b2167e5000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002101bf672e93ac6e0a097e663a8127eddf90656aa8736163a385dc3176f174df9410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000206b98465929423f88758f9c415e3628171e04c1245b954c2da09d28ca094917d3" } \ No newline at end of file diff --git a/contracts/fixtures/union_nonmembership_fixture.json b/contracts/fixtures/union_nonmembership_fixture.json index 40c0a7b..84d51cb 100644 --- a/contracts/fixtures/union_nonmembership_fixture.json +++ b/contracts/fixtures/union_nonmembership_fixture.json @@ -1,10 +1,10 @@ { - "trustedClientState": "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000002dc55b000000000000000000000000000000000000000000000000000000000012750000000000000000000000000000000000000000000000000000000000001baf80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000076d6f6368612d3400000000000000000000000000000000000000000000000000", - "trustedConsensusState": "00000000000000000000000000000000000000000000000000000000671c5fbabb46d709a81d092fed68f31b2f1939ceeea4144a52c04555a14e8fbbadf00d5878ab69d7643ddd63c025de44e46191c475327fe5cc43f0b4ecd73bfe5c8baa36", - "updateClientVkey": "0x00eb2083fbdbb910c4eaab86890e92a3e11deebe26c7380ab434540738000dd1", - "membershipVkey": "0x003209f1bf3c8ae79092f83e53ca32a2cb5dbbc3a07b38e194b625450dd8a05d", - "ucAndMembershipVkey": "0x005309564fc62917614e1c340e342d0f61b45aa2895595e92832b2eddf45fc89", - "misbehaviourVkey": "0x0062b4336b37fc39c42ca0e51e42b2fc58ae79337ce2fca10203907d38e6170e", - "proofHeight": "000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000002dc55b", - "membershipProof": "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000002ae00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000671c5fbabb46d709a81d092fed68f31b2f1939ceeea4144a52c04555a14e8fbbadf00d5878ab69d7643ddd63c025de44e46191c475327fe5cc43f0b4ecd73bfe5c8baa360000000000000000000000000000000000000000000000000000000000002a2000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000002460000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000012a00000000000000000000000000000000000000000000000000000000000000025636c69656e74732f30372d74656e6465726d696e742d3030312f636c69656e745374617465000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000003e636c69656e74732f30372d74656e6465726d696e742d302f69746572617465436f6e73656e7375735374617465730000000000000000000000000111b1b70000000000000000000000000000000000000000000000000000000000000000001a636f6e73656e7375735374617465732f302d313739333638323300000000000000000000000000000000000000000000000000000000000000000000000000050002dcc4090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000048000000000000000000000000000000000000000000000000000000000000005400000000000000000000000000000000000000000000000000000000000000620000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000007c000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000000000000000000000000000000000000000009800000000000000000000000000000000000000000000000000000000000000a600000000000000000000000000000000000000000000000000000000000000b400000000000000000000000000000000000000000000000000000000000000c200000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000dc00000000000000000000000000000000000000000000000000000000000000ea00000000000000000000000000000000000000000000000000000000000000f80000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000270204dcc40920ac118e2a0d72658d56e576652d5613c5cf41412ed92b4ee006da470799587a89200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000060406dcc409200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120039b4a151e9e25704aad2b8e61053bfc62c89af872c300b33c17b3fc97c9927f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000027060edcc409201c45f73738c8c8d8b2412343cbcb7b99ea9b5b386c8c83dd5b0891e7ddb1eff720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000270a22dcc40920dc95bc73108d58f228d98e3e5068054a9df9c879c629ffb09509a1cc4b69f54f200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000060c4ad88730200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120dcd4b8849a5ab98201774358e6d3206497db37501ea2ce406e2edff6b2a051fd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000060e7284814620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212021ab5b891efb385b243194d342057b738d347587ffe6ccd95df9e9ec73b5710500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000029128803aea3e8022080eac1622baa285aad0023a88bfcf2743bdf446b77e01e2a373bd4589af1e5b4200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000814c808aea3e8022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212049d9dddc9d2bb36a1e8367e752fa450773368098347beb0c8a1dad984119d2c50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000816e20daea3e802200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021200c202e0e1c4407c19b7c4180e9e60b39952fc34033ffb37342114a15999dc79c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000818d01fde80ec0220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120395a96ad856b82251de2fcbfdc91e2f92c08860c8bf1f36e6650dd894477b3b6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000081ad657b295ee0220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120c48060c129260ceb51f692a3d936b9ee410a6772f0121c6b05fb8eec11fc3967000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000091caab501b295ee02200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120103cc57aaa215d08d72cb6b93bd55724812f12387e4e3274535effe5cbb1d8ae00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002a1edcf801b295ee02207109d98a001a33bc8ea446ed3eb673915ea50269e6dd4d728344de4b8cb378d52000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000920dcf402b295ee0220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212008d12fa549c426c5180062663cf3893d237fa93eb6f03c251c4069fe73feb529000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000092286d304b295ee0220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212081ce505e7ee1401d0309ab7ffc66490fd0e3909843d683b3199a7621253a37ce0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000924d48d07b295ee0220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212022eb7c0551160f5f19b62bc82f86eb5ba286b23387e6eb957ed18bdacd4452660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000926e4960bb295ee02200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120a7a6f6c56caeeabbba312684e027b875831b9866ab5c410cfe6f47d8adeec55a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000023636c69656e74732f30372d74656e6465726d696e742d312f636c69656e745374617465000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b70a2b2f6962632e6c69676874636c69656e74732e74656e6465726d696e742e76312e436c69656e7453746174651287010a1174686574612d746573746e65742d3030311204080110031a040880840722040880c60a2a02082832003a0510d7ddc60842190a090801180120012a0100120c0a02000110211804200c300142190a090801180120012a0100120c0a02000110201801200130014a07757067726164654a10757067726164656449424353746174655001580100000000000000000000000000000000000000000000000000000000000000000000000000000000050002babf090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006c000000000000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000000000000088000000000000000000000000000000000000000000000000000000000000009600000000000000000000000000000000000000000000000000000000000000a400000000000000000000000000000000000000000000000000000000000000b200000000000000000000000000000000000000000000000000000000000000be00000000000000000000000000000000000000000000000000000000000000cc00000000000000000000000000000000000000000000000000000000000000da00000000000000000000000000000000000000000000000000000000000000e80000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000270406dcc4092068341bdb3852fbfc1e56dbfd78302727a16e96c5a9f355e7560f9ab761cbf4a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000027060edcc409201c45f73738c8c8d8b2412343cbcb7b99ea9b5b386c8c83dd5b0891e7ddb1eff720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000270a22dcc40920dc95bc73108d58f228d98e3e5068054a9df9c879c629ffb09509a1cc4b69f54f200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000060c4ad88730200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120dcd4b8849a5ab98201774358e6d3206497db37501ea2ce406e2edff6b2a051fd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000060e7284814620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212021ab5b891efb385b243194d342057b738d347587ffe6ccd95df9e9ec73b5710500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000029128803aea3e8022080eac1622baa285aad0023a88bfcf2743bdf446b77e01e2a373bd4589af1e5b4200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000814c808aea3e8022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212049d9dddc9d2bb36a1e8367e752fa450773368098347beb0c8a1dad984119d2c50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000816e20daea3e802200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021200c202e0e1c4407c19b7c4180e9e60b39952fc34033ffb37342114a15999dc79c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000818d01fde80ec0220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120395a96ad856b82251de2fcbfdc91e2f92c08860c8bf1f36e6650dd894477b3b6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000081ad657b295ee0220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120c48060c129260ceb51f692a3d936b9ee410a6772f0121c6b05fb8eec11fc3967000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000091caab501b295ee02200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120103cc57aaa215d08d72cb6b93bd55724812f12387e4e3274535effe5cbb1d8ae00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002a1edcf801b295ee02207109d98a001a33bc8ea446ed3eb673915ea50269e6dd4d728344de4b8cb378d52000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000920dcf402b295ee0220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212008d12fa549c426c5180062663cf3893d237fa93eb6f03c251c4069fe73feb529000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000092286d304b295ee0220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212081ce505e7ee1401d0309ab7ffc66490fd0e3909843d683b3199a7621253a37ce0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000924d48d07b295ee0220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212022eb7c0551160f5f19b62bc82f86eb5ba286b23387e6eb957ed18bdacd4452660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000926e4960bb295ee02200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120a7a6f6c56caeeabbba312684e027b875831b9866ab5c410cfe6f47d8adeec55a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000369626300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020939c82980aef1a5f594f991e4cfd99d5f59b0e64b6eb7660e17f77ea0d06c81000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000021015cf0b097207fd17b29ee18f53685dfbb5e9c28cc5db90a0da502629bfc19a71c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002060a0f82d7bd608e6beba7d3a4287e6e68c318bf66543726e2abcf210dd79109600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020874caf627aed782be6552b0ee352c92452729445e8a8f4a225fba7ff64d862de000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002101b4814893fdf35f329e73669b19fb64d02406dd2a831c73d964a5d1aafc1bbf1e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200bf6268e688c150ec0bd30d06cd9dc1f83917fd0b12401edbd9dfa6ca5748e96" + "trustedClientState": "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000002e8888000000000000000000000000000000000000000000000000000000000012750000000000000000000000000000000000000000000000000000000000001baf80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000076d6f6368612d3400000000000000000000000000000000000000000000000000", + "trustedConsensusState": "000000000000000000000000000000000000000000000000000000006725a98d0abbde8dbb182098f9f08db967904771dff53ba4a5dc13e93a2574bbeea4b8a24147b8cb4cff65685f01a2398bf76ed3a5eb409c5b796d685271469f106ea6cb", + "updateClientVkey": "0x0058b7643092abdce2dc75a47edef881996a5364849493f288bec2705a6e9f03", + "membershipVkey": "0x00c80749d48831352ad92fc58779c3ab38c1ed5f7db1fd8bd6c029da59855a36", + "ucAndMembershipVkey": "0x0020d0cbc9d739da4c4315159cc8e7293e0bf37805ed9abac135ece2e8dd4277", + "misbehaviourVkey": "0x00ee502921248a6f7de906d33f7891bb4ecdcdacd5de9c2c0aebf7c6cc0c315d", + "proofHeight": "000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000002e8888", + "membershipProof": "00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000028e000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000006725a98d0abbde8dbb182098f9f08db967904771dff53ba4a5dc13e93a2574bbeea4b8a24147b8cb4cff65685f01a2398bf76ed3a5eb409c5b796d685271469f106ea6cb000000000000000000000000000000000000000000000000000000000000282000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000002260000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000011a00000000000000000000000000000000000000000000000000000000000000025636c69656e74732f30372d74656e6465726d696e742d3030312f636c69656e745374617465000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000003e636c69656e74732f30372d74656e6465726d696e742d302f69746572617465436f6e73656e7375735374617465730000000000000000000000000111b1b70000000000000000000000000000000000000000000000000000000000000000001a636f6e73656e7375735374617465732f302d313739333638323300000000000000000000000000000000000000000000000000000000000000000000000000050002dcc4090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006e000000000000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000000000000088000000000000000000000000000000000000000000000000000000000000009600000000000000000000000000000000000000000000000000000000000000a400000000000000000000000000000000000000000000000000000000000000b200000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000ce00000000000000000000000000000000000000000000000000000000000000da00000000000000000000000000000000000000000000000000000000000000e80000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000270204dcc40920ac118e2a0d72658d56e576652d5613c5cf41412ed92b4ee006da470799587a89200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000060406dcc409200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120039b4a151e9e25704aad2b8e61053bfc62c89af872c300b33c17b3fc97c9927f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000027060edcc409201c45f73738c8c8d8b2412343cbcb7b99ea9b5b386c8c83dd5b0891e7ddb1eff720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000270a22dcc40920dc95bc73108d58f228d98e3e5068054a9df9c879c629ffb09509a1cc4b69f54f200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000060c4ad88730200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120dcd4b8849a5ab98201774358e6d3206497db37501ea2ce406e2edff6b2a051fd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000060e7284814620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212021ab5b891efb385b243194d342057b738d347587ffe6ccd95df9e9ec73b5710500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000029128803aea3e8022080eac1622baa285aad0023a88bfcf2743bdf446b77e01e2a373bd4589af1e5b4200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000814c808aea3e8022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212049d9dddc9d2bb36a1e8367e752fa450773368098347beb0c8a1dad984119d2c50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000816e20daea3e802200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021200c202e0e1c4407c19b7c4180e9e60b39952fc34033ffb37342114a15999dc79c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000081ad42582a2f402200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021207af53e91dfcc7549f995fbe21566934cfd3d8f42cc0738a6af4385e1f5ed3479000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000091c8a8e0182a2f40220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212024016fe83f83091dafce2e04ce3053bb525464a13db4d0554f4781595eaf75fb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000920b8950382a2f402200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120398ac7c423cefe4fc3441e141f92331666ed1ba7302529ab9d82c992a3a329b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000092292dc0482a2f4022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021203db86de9e0b75f27e2eacc24310cbd506e7fb9ee4c3389e09a5a4be8ec716af900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002a24c4b00682a2f40220f0d3b320a01da36d4afc68cd83c08e546220efb65d8dd77dd4cc7ccec91f753e2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000926ca980a82a2f402200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120bcb81b12b5563dbe25bef3630d0338ab7d38ee7ff7e2caba36d0e1e64d7ff5470000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000928c8a90e82a2f40220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212042ae1f71e87c1add366a1140a0cd0219b4e00189c0ad725a8c94019bde24905e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000023636c69656e74732f30372d74656e6465726d696e742d312f636c69656e745374617465000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b70a2b2f6962632e6c69676874636c69656e74732e74656e6465726d696e742e76312e436c69656e7453746174651287010a1174686574612d746573746e65742d3030311204080110031a040880840722040880c60a2a02082832003a0510d7ddc60842190a090801180120012a0100120c0a02000110211804200c300142190a090801180120012a0100120c0a02000110201801200130014a07757067726164654a10757067726164656449424353746174655001580100000000000000000000000000000000000000000000000000000000000000000000000000000000050002babf09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000005e000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000780000000000000000000000000000000000000000000000000000000000000086000000000000000000000000000000000000000000000000000000000000009400000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000be00000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000d80000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000270406dcc4092068341bdb3852fbfc1e56dbfd78302727a16e96c5a9f355e7560f9ab761cbf4a020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000027060edcc409201c45f73738c8c8d8b2412343cbcb7b99ea9b5b386c8c83dd5b0891e7ddb1eff720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000270a22dcc40920dc95bc73108d58f228d98e3e5068054a9df9c879c629ffb09509a1cc4b69f54f200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000060c4ad88730200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120dcd4b8849a5ab98201774358e6d3206497db37501ea2ce406e2edff6b2a051fd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000060e7284814620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212021ab5b891efb385b243194d342057b738d347587ffe6ccd95df9e9ec73b5710500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000029128803aea3e8022080eac1622baa285aad0023a88bfcf2743bdf446b77e01e2a373bd4589af1e5b4200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000814c808aea3e8022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212049d9dddc9d2bb36a1e8367e752fa450773368098347beb0c8a1dad984119d2c50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000816e20daea3e802200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021200c202e0e1c4407c19b7c4180e9e60b39952fc34033ffb37342114a15999dc79c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000081ad42582a2f402200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021207af53e91dfcc7549f995fbe21566934cfd3d8f42cc0738a6af4385e1f5ed3479000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000091c8a8e0182a2f40220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212024016fe83f83091dafce2e04ce3053bb525464a13db4d0554f4781595eaf75fb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000920b8950382a2f402200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120398ac7c423cefe4fc3441e141f92331666ed1ba7302529ab9d82c992a3a329b2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000092292dc0482a2f4022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021203db86de9e0b75f27e2eacc24310cbd506e7fb9ee4c3389e09a5a4be8ec716af900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002a24c4b00682a2f40220f0d3b320a01da36d4afc68cd83c08e546220efb65d8dd77dd4cc7ccec91f753e2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000926ca980a82a2f402200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002120bcb81b12b5563dbe25bef3630d0338ab7d38ee7ff7e2caba36d0e1e64d7ff5470000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000928c8a90e82a2f40220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000212042ae1f71e87c1add366a1140a0cd0219b4e00189c0ad725a8c94019bde24905e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000369626300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020b786459786f5e7c2dd195e24ae3bfaf3be3711ba20830a7301b165bad4cb631c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000021015cf0b097207fd17b29ee18f53685dfbb5e9c28cc5db90a0da502629bfc19a71c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002060a0f82d7bd608e6beba7d3a4287e6e68c318bf66543726e2abcf210dd79109600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020392896e9ef1c77ddac6aa55378eb98a1d1332b92718bbba91caa6c7a1b2167e5000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002101bf672e93ac6e0a097e663a8127eddf90656aa8736163a385dc3176f174df9410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000206b98465929423f88758f9c415e3628171e04c1245b954c2da09d28ca094917d3" } \ No newline at end of file diff --git a/contracts/fixtures/update_client_fixture.json b/contracts/fixtures/update_client_fixture.json index 6d93672..2305f31 100644 --- a/contracts/fixtures/update_client_fixture.json +++ b/contracts/fixtures/update_client_fixture.json @@ -1,11 +1,11 @@ { - "trustedClientState": "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000002dc55b000000000000000000000000000000000000000000000000000000000012750000000000000000000000000000000000000000000000000000000000001baf80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000076d6f6368612d3400000000000000000000000000000000000000000000000000", - "trustedConsensusState": "00000000000000000000000000000000000000000000000000000000671c5fbabb46d709a81d092fed68f31b2f1939ceeea4144a52c04555a14e8fbbadf00d5878ab69d7643ddd63c025de44e46191c475327fe5cc43f0b4ecd73bfe5c8baa36", - "updateClientVkey": "0x00eb2083fbdbb910c4eaab86890e92a3e11deebe26c7380ab434540738000dd1", - "membershipVkey": "0x003209f1bf3c8ae79092f83e53ca32a2cb5dbbc3a07b38e194b625450dd8a05d", - "ucAndMembershipVkey": "0x005309564fc62917614e1c340e342d0f61b45aa2895595e92832b2eddf45fc89", - "misbehaviourVkey": "0x0062b4336b37fc39c42ca0e51e42b2fc58ae79337ce2fca10203907d38e6170e", - "targetConsensusState": "00000000000000000000000000000000000000000000000000000000671c6403271bc16756f2cac7c304242ab23f59efc9785cb350b692d67b63ed2714e87b6878ab69d7643ddd63c025de44e46191c475327fe5cc43f0b4ecd73bfe5c8baa36", - "targetHeight": 2999733, - "updateMsg": "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000eb2083fbdbb910c4eaab86890e92a3e11deebe26c7380ab434540738000dd1000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000671c5fbabb46d709a81d092fed68f31b2f1939ceeea4144a52c04555a14e8fbbadf00d5878ab69d7643ddd63c025de44e46191c475327fe5cc43f0b4ecd73bfe5c8baa3600000000000000000000000000000000000000000000000000000000671c6403271bc16756f2cac7c304242ab23f59efc9785cb350b692d67b63ed2714e87b6878ab69d7643ddd63c025de44e46191c475327fe5cc43f0b4ecd73bfe5c8baa360000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000002dc55b000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000002dc5b500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000012750000000000000000000000000000000000000000000000000000000000671c64a000000000000000000000000000000000000000000000000000000000000000076d6f6368612d3400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036454bdcae32ed1e9e89ee817c3a1ff38d956ccaa86984fa563a5701a4d30c64001ebf21d0003d5682abc0d5f5c93387d742952e834e0d1935cab2b53b991fb5543312709432624b4256e06f26a251432df6ef57e8be3510262b620c680b69fd054ddafbd0f125e2d702eb1bda4bcf90908205dd4a31364b0dc8b03774ed23601b494251bfb1ce24a0b1d6e24af92de7333e7951ab3219ffb16f8119aaf6d3f879c0e4347f40580f2718ce59f96c71875b6607d48453bc408d7de4c13a0bb5da51ff028fbfa301fedd4b45f7527c0b926da942b750bb7bfb344ea270357e81b1e488a7d11e82f719bd5a335d7fd2233329314ed7acf9d9a75d165652ade612b4abd184cc78202fc949a260a71c29ab23b2e6560fce6584270735c5420963dc17629574ae77a22e46874b7ec711d7565dce1eba5dbb880f8fcad959cd3194398ec7bb944345100592dd107876995b8dd0aae54b1abfc4626ce49f3c34e0d016d5b52a65316551d879f5b32fe3dba55a2cc1a54eca5f590a3dee36769d27200172b6d3950f997255b91e68113855da4a26ef4c5f1e3ee1cc8d30779a0f720a8c119df065724e816764013a86e336df6f73ff1351dfdea8db5db9e4be3e4a13e7ae6d2cea58ca900e3ed9678a0e33a915dd54bad3154426db285ec2bec6092b6ff3277e04dd8ce18dea68211e37b33cd4ce03a9aa28e44c50554df9fc704aae0c192c350f1ab7425e655979280fa4d63809c46fbe6e2a0d9d0b90ab77bb1229a03462a2c2fe28d0b87af3d50098cc5a2616931c96f4dc3f947c625f71720d34754843c4b26586700429b7a7ac5b09a04275f189b579de64a3fe35b50294990ce5f9ea03f250cd626d18580fdb774965dd13219f2e7c6e704cfa70444491fde580651afbc1de41023d65ccad2742d78eb4f1e983934b8f33f1aa9abc933f552c947de76ad2b2bfe26692d72d78909acda17cb66da535b06e1e7466541f1e1a36947a472436149350974e15f8a8fd5fc05cf5e4de40a4583bfe9a29fe452ecf80c7faf6698bea5dd0a9195c02b5360ec7eac04a2e26b50e30425d2e075615da8887db63d63f774e801deedd767a3e9b066a001e8ff8d464615cbd434828520d952e9c60f9a37a2752cef750cd3cded4fb0e8e1f7a0e5d26b0af85476c37eb8870d31bf1b49ee6ee41c3845198a11e414f45025e48c3ca260d6163d66ad3e25b4d1bee5fe8bd9ba7f00000000000000000000000000000000000000000000000000000000" + "trustedClientState": "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000002e8888000000000000000000000000000000000000000000000000000000000012750000000000000000000000000000000000000000000000000000000000001baf80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000076d6f6368612d3400000000000000000000000000000000000000000000000000", + "trustedConsensusState": "000000000000000000000000000000000000000000000000000000006725a98d0abbde8dbb182098f9f08db967904771dff53ba4a5dc13e93a2574bbeea4b8a24147b8cb4cff65685f01a2398bf76ed3a5eb409c5b796d685271469f106ea6cb", + "updateClientVkey": "0x0058b7643092abdce2dc75a47edef881996a5364849493f288bec2705a6e9f03", + "membershipVkey": "0x00c80749d48831352ad92fc58779c3ab38c1ed5f7db1fd8bd6c029da59855a36", + "ucAndMembershipVkey": "0x0020d0cbc9d739da4c4315159cc8e7293e0bf37805ed9abac135ece2e8dd4277", + "misbehaviourVkey": "0x00ee502921248a6f7de906d33f7891bb4ecdcdacd5de9c2c0aebf7c6cc0c315d", + "targetConsensusState": "000000000000000000000000000000000000000000000000000000006725adc16136b010dd7b9e68564def4d7c55c48a338a8303e0e4180b29dca9ba58b2ae7f4147b8cb4cff65685f01a2398bf76ed3a5eb409c5b796d685271469f106ea6cb", + "targetHeight": 3049698, + "updateMsg": "000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200058b7643092abdce2dc75a47edef881996a5364849493f288bec2705a6e9f03000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000006725a98d0abbde8dbb182098f9f08db967904771dff53ba4a5dc13e93a2574bbeea4b8a24147b8cb4cff65685f01a2398bf76ed3a5eb409c5b796d685271469f106ea6cb000000000000000000000000000000000000000000000000000000006725adc16136b010dd7b9e68564def4d7c55c48a338a8303e0e4180b29dca9ba58b2ae7f4147b8cb4cff65685f01a2398bf76ed3a5eb409c5b796d685271469f106ea6cb0000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000002e8888000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000002e88e200000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000127500000000000000000000000000000000000000000000000000000000006725ae7000000000000000000000000000000000000000000000000000000000000000076d6f6368612d3400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036454bdcae3058080064847a6309c8e63197743f16bc23c50e9d63f3c61cb7e3914e127f162004f07bd4fe73ea83f5f736d776ff0c7580d6b2cd4dcbd6c34386e725827b74c0dda45c1beae12754e3f56fcf316a4b268b9009a87d033b21dc582bf7d6e5bae137f1e67a0975c29154fb7bcad9449c020c148aeaf4ab952600bb396897464e81e4c26a07b7d3d0fe5f6e01ade40bbc1d4139adf014e331d4b2b0f5e90fae0ce0949f7163263bc17d5f8d01998e9f20ed7d11df7f84e181c430edc2c44f73b68164e24e8bc7f29417b7affc16a684b1c5d23a630e34a6b3068cd745ce303d4ce0328a926681b1368ba5e38137e15230499b08b8aacd9e2d635066cdff98697f30c6af0ec1505007f58179450921745a355997dea20dc9f965a9a02a1f80d70491ce397c5f09b5c6fa1820d4bc57cd1dae827f314e72a3879227a7b7bd8d700052912e346fe14c2c4baa7d4af1bf533f399286b0995663f1c740c21d52ee28bc52dd7c497e90c495a471e5c8fd2f79dfb379fb1b0235df498734daf5c28b59ee40b7ceed02e159807ae2ae0ec8b2e3ac30a265f912e562fbcf55a106be6127f031116144da13798f6f6f28b9726d0ef6af056e7913d45b3a7154900dff64fa47d2811aca87cb5792b287d46aed275f99e16bc2930d905827c5939bec75af64e440f4aa032abfb9e0024e770c05fc72d06fbc5e1a6168ebb327859cc70d7bf29740979cee2e9b81c06b39a5c95509983146b09e1c8e7c8d3189d014f8b1a9b9e1129d737ec5bbaf3e3e96798ada98d85e3c88816800e76b6bbf3720efb99352172144869633fdb908e00d25cddb51e514e756d509897b85a1223ab88fedb3c49fe1be7a8ee13c517f1811d84cab663fa1965fcc2c338620f78b52af3214f2002bd1a588b68833039006f9cd451b0da33176a7befeae3b698d5b5b7bf29ed7beb980e0e33e49574f6abf66dead78757974d7f13267d65ce2566a7110d17cbc0c7df080fdaf27ed59016eabd185c6a79206ac4e461aae240139c7a841a497edf2fa103d375ccb2b92f0a6ba5f53459241d6a66120c8d52e3f6e249252a73172395eb1847e008b9fea28da10d0956bceaf02b31eb2c15942c55845c54e07232e37cc82705044e2f7108ac6361014759ec93d3a3718e1e575ed6bf66d9ca735789ce73110b0236ef0b3d9f897de84372e3cc04a91814c9b4156ba770db3cdcec6206d200000000000000000000000000000000000000000000000000000000" } \ No newline at end of file