mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-07 16:23:12 +00:00
Fix test
This commit is contained in:
parent
aa87f2c3ba
commit
b829b44dcf
@ -189,7 +189,7 @@ mod tests {
|
|||||||
use plonky2::util::timing::TimingTree;
|
use plonky2::util::timing::TimingTree;
|
||||||
use rand::{thread_rng, Rng};
|
use rand::{thread_rng, Rng};
|
||||||
|
|
||||||
use crate::all_stark::{AllStark, Table};
|
use crate::all_stark::AllStark;
|
||||||
use crate::config::StarkConfig;
|
use crate::config::StarkConfig;
|
||||||
use crate::cpu::cpu_stark::CpuStark;
|
use crate::cpu::cpu_stark::CpuStark;
|
||||||
use crate::cpu::kernel::aggregator::KERNEL;
|
use crate::cpu::kernel::aggregator::KERNEL;
|
||||||
@ -200,8 +200,8 @@ mod tests {
|
|||||||
use crate::memory::memory_stark::tests::generate_random_memory_ops;
|
use crate::memory::memory_stark::tests::generate_random_memory_ops;
|
||||||
use crate::memory::memory_stark::MemoryStark;
|
use crate::memory::memory_stark::MemoryStark;
|
||||||
use crate::memory::NUM_CHANNELS;
|
use crate::memory::NUM_CHANNELS;
|
||||||
use crate::proof::AllProof;
|
use crate::proof::{AllProof, PublicValues};
|
||||||
use crate::prover::prove;
|
use crate::prover::prove_with_traces;
|
||||||
use crate::recursive_verifier::{
|
use crate::recursive_verifier::{
|
||||||
add_virtual_all_proof, set_all_proof_target, verify_proof_circuit,
|
add_virtual_all_proof, set_all_proof_target, verify_proof_circuit,
|
||||||
};
|
};
|
||||||
@ -704,11 +704,12 @@ mod tests {
|
|||||||
];
|
];
|
||||||
check_ctls(&traces, &all_stark.cross_table_lookups);
|
check_ctls(&traces, &all_stark.cross_table_lookups);
|
||||||
|
|
||||||
let proof = prove::<F, C, D>(
|
let public_values = PublicValues::default();
|
||||||
|
let proof = prove_with_traces::<F, C, D>(
|
||||||
&all_stark,
|
&all_stark,
|
||||||
config,
|
config,
|
||||||
traces,
|
traces,
|
||||||
vec![vec![]; Table::num_tables()],
|
public_values,
|
||||||
&mut TimingTree::default(),
|
&mut TimingTree::default(),
|
||||||
)?;
|
)?;
|
||||||
|
|
||||||
|
|||||||
@ -19,7 +19,8 @@ pub(crate) mod memory;
|
|||||||
pub mod partial_trie;
|
pub mod partial_trie;
|
||||||
pub(crate) mod state;
|
pub(crate) mod state;
|
||||||
|
|
||||||
pub struct EvmInputs {
|
/// Inputs needed for trace generation.
|
||||||
|
pub struct GenerationInputs {
|
||||||
pub signed_txns: Vec<Vec<u8>>,
|
pub signed_txns: Vec<Vec<u8>>,
|
||||||
|
|
||||||
/// A partial version of the state trie prior to this transaction. It should include all nodes
|
/// A partial version of the state trie prior to this transaction. It should include all nodes
|
||||||
@ -43,7 +44,7 @@ pub struct EvmInputs {
|
|||||||
|
|
||||||
pub(crate) fn generate_traces<F: RichField + Extendable<D>, const D: usize>(
|
pub(crate) fn generate_traces<F: RichField + Extendable<D>, const D: usize>(
|
||||||
all_stark: &AllStark<F, D>,
|
all_stark: &AllStark<F, D>,
|
||||||
inputs: EvmInputs,
|
inputs: GenerationInputs,
|
||||||
) -> (Vec<Vec<PolynomialValues<F>>>, PublicValues) {
|
) -> (Vec<Vec<PolynomialValues<F>>>, PublicValues) {
|
||||||
let mut state = GenerationState::<F>::default();
|
let mut state = GenerationState::<F>::default();
|
||||||
|
|
||||||
|
|||||||
@ -48,21 +48,22 @@ pub struct AllProofTarget<const D: usize> {
|
|||||||
pub public_values: PublicValuesTarget,
|
pub public_values: PublicValuesTarget,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
/// Memory values which are public.
|
||||||
|
#[derive(Debug, Clone, Default)]
|
||||||
pub struct PublicValues {
|
pub struct PublicValues {
|
||||||
pub trie_roots_before: TrieRoots,
|
pub trie_roots_before: TrieRoots,
|
||||||
pub trie_roots_after: TrieRoots,
|
pub trie_roots_after: TrieRoots,
|
||||||
pub block_metadata: BlockMetadata,
|
pub block_metadata: BlockMetadata,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone, Default)]
|
||||||
pub struct TrieRoots {
|
pub struct TrieRoots {
|
||||||
pub state_root: U256,
|
pub state_root: U256,
|
||||||
pub transactions_root: U256,
|
pub transactions_root: U256,
|
||||||
pub receipts_root: U256,
|
pub receipts_root: U256,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone, Default)]
|
||||||
pub struct BlockMetadata {
|
pub struct BlockMetadata {
|
||||||
pub block_coinbase: Address,
|
pub block_coinbase: Address,
|
||||||
pub block_timestamp: U256,
|
pub block_timestamp: U256,
|
||||||
@ -72,6 +73,7 @@ pub struct BlockMetadata {
|
|||||||
pub block_chain_id: U256,
|
pub block_chain_id: U256,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Memory values which are public.
|
||||||
/// Note: All the larger integers are encoded with 32-bit limbs in little-endian order.
|
/// Note: All the larger integers are encoded with 32-bit limbs in little-endian order.
|
||||||
pub struct PublicValuesTarget {
|
pub struct PublicValuesTarget {
|
||||||
pub trie_roots_before: TrieRootsTarget,
|
pub trie_roots_before: TrieRootsTarget,
|
||||||
|
|||||||
@ -22,7 +22,7 @@ use crate::config::StarkConfig;
|
|||||||
use crate::constraint_consumer::ConstraintConsumer;
|
use crate::constraint_consumer::ConstraintConsumer;
|
||||||
use crate::cpu::cpu_stark::CpuStark;
|
use crate::cpu::cpu_stark::CpuStark;
|
||||||
use crate::cross_table_lookup::{cross_table_lookup_data, CtlCheckVars, CtlData};
|
use crate::cross_table_lookup::{cross_table_lookup_data, CtlCheckVars, CtlData};
|
||||||
use crate::generation::{generate_traces, EvmInputs};
|
use crate::generation::{generate_traces, GenerationInputs};
|
||||||
use crate::keccak::keccak_stark::KeccakStark;
|
use crate::keccak::keccak_stark::KeccakStark;
|
||||||
use crate::keccak_memory::keccak_memory_stark::KeccakMemoryStark;
|
use crate::keccak_memory::keccak_memory_stark::KeccakMemoryStark;
|
||||||
use crate::logic::LogicStark;
|
use crate::logic::LogicStark;
|
||||||
@ -40,7 +40,7 @@ use crate::vars::StarkEvaluationVars;
|
|||||||
pub fn prove<F, C, const D: usize>(
|
pub fn prove<F, C, const D: usize>(
|
||||||
all_stark: &AllStark<F, D>,
|
all_stark: &AllStark<F, D>,
|
||||||
config: &StarkConfig,
|
config: &StarkConfig,
|
||||||
inputs: EvmInputs,
|
inputs: GenerationInputs,
|
||||||
timing: &mut TimingTree,
|
timing: &mut TimingTree,
|
||||||
) -> Result<AllProof<F, C, D>>
|
) -> Result<AllProof<F, C, D>>
|
||||||
where
|
where
|
||||||
|
|||||||
@ -5,7 +5,7 @@ use plonky2::util::timing::TimingTree;
|
|||||||
use plonky2_evm::all_stark::AllStark;
|
use plonky2_evm::all_stark::AllStark;
|
||||||
use plonky2_evm::config::StarkConfig;
|
use plonky2_evm::config::StarkConfig;
|
||||||
use plonky2_evm::generation::partial_trie::PartialTrie;
|
use plonky2_evm::generation::partial_trie::PartialTrie;
|
||||||
use plonky2_evm::generation::EvmInputs;
|
use plonky2_evm::generation::GenerationInputs;
|
||||||
use plonky2_evm::proof::BlockMetadata;
|
use plonky2_evm::proof::BlockMetadata;
|
||||||
use plonky2_evm::prover::prove;
|
use plonky2_evm::prover::prove;
|
||||||
use plonky2_evm::verifier::verify_proof;
|
use plonky2_evm::verifier::verify_proof;
|
||||||
@ -32,7 +32,7 @@ fn test_simple_transfer() -> anyhow::Result<()> {
|
|||||||
|
|
||||||
let txn = hex!("f85f050a82520894000000000000000000000000000000000000000064801ca0fa56df5d988638fad8798e5ef75a1e1125dc7fb55d2ac4bce25776a63f0c2967a02cb47a5579eb5f83a1cabe4662501c0059f1b58e60ef839a1b0da67af6b9fb38");
|
let txn = hex!("f85f050a82520894000000000000000000000000000000000000000064801ca0fa56df5d988638fad8798e5ef75a1e1125dc7fb55d2ac4bce25776a63f0c2967a02cb47a5579eb5f83a1cabe4662501c0059f1b58e60ef839a1b0da67af6b9fb38");
|
||||||
|
|
||||||
let inputs = EvmInputs {
|
let inputs = GenerationInputs {
|
||||||
signed_txns: vec![txn.to_vec()],
|
signed_txns: vec![txn.to_vec()],
|
||||||
state_trie: PartialTrie::Empty,
|
state_trie: PartialTrie::Empty,
|
||||||
transactions_trie: PartialTrie::Empty,
|
transactions_trie: PartialTrie::Empty,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user