I want to try the recursive_aggregation function of zksync v1.1., but when I build the branch plonk_gadgets#b72d5cf7 , which is required by the recursive_aggregation_circuit
, it occurs the following errors:
Compiling franklin-crypto v0.0.5 (https://github.com/matter-labs/franklin-crypto?branch=plonk_gadgets#b72d5cf7)
error[E0277]: the trait bound E: pairing_ce::Engine
is not satisfied
--> /Users/chenhuan/.cargo/git/checkouts/franklin-crypto-4c6ecf4148c62588/b72d5cf/src/plonk/circuit/poseidon.rs:43:38
|
43 | pub trait PoseidonCsSBox<E: Engine>: SBox {
| ^^^^^^^ the trait pairing_ce::Engine
is not implemented for E
|
help: consider further restricting this bound with + pairing_ce::Engine
--> /Users/chenhuan/.cargo/git/checkouts/franklin-crypto-4c6ecf4148c62588/b72d5cf/src/plonk/circuit/poseidon.rs:43:29
|
43 | pub trait PoseidonCsSBox<E: Engine>: SBox {
| ^^^^^^
= note: required by poseidon_hash::SBox
error[E0277]: the trait bound E: pairing_ce::Engine
is not satisfied
--> /Users/chenhuan/.cargo/git/checkouts/franklin-crypto-4c6ecf4148c62588/b72d5cf/src/plonk/circuit/poseidon.rs:49:17
|
49 | impl<E: Engine> PoseidonCsSBox for QuinticSBox {
| ^^^^^^^^^^^^^^^^^ the trait pairing_ce::Engine
is not implemented for E
|
help: consider further restricting this bound with + pairing_ce::Engine
--> /Users/chenhuan/.cargo/git/checkouts/franklin-crypto-4c6ecf4148c62588/b72d5cf/src/plonk/circuit/poseidon.rs:49:9
|
49 | impl<E: Engine> PoseidonCsSBox for QuinticSBox {
| ^^^^^^
= note: required because of the requirements on the impl of poseidon_hash::SBox<E>
for poseidon_hash::QuinticSBox<E>
error[E0277]: the trait bound E: bellman::Engine
is not satisfied
--> /Users/chenhuan/.cargo/git/checkouts/franklin-crypto-4c6ecf4148c62588/b72d5cf/src/plonk/circuit/poseidon.rs:95:26
|
95 | AccumulatingToAbsorb(Vec<Num>),
| ^^^^^^^^^^^ the trait bellman::Engine
is not implemented for E
|
::: /Users/chenhuan/.cargo/git/checkouts/franklin-crypto-4c6ecf4148c62588/b72d5cf/src/plonk/circuit/allocated_num.rs:31:1
|
31 | pub enum Num<E: Engine> {
| ----------------------- required by plonk::circuit::allocated_num::Num
|
help: consider further restricting this bound with + bellman::Engine
--> /Users/chenhuan/.cargo/git/checkouts/franklin-crypto-4c6ecf4148c62588/b72d5cf/src/plonk/circuit/poseidon.rs:94:16
|
94 | enum OpMode<E: PoseidonEngine> {
| ^^^^^^^^^^^^^^
error[E0277]: the trait bound E: bellman::Engine
is not satisfied
--> /Users/chenhuan/.cargo/git/checkouts/franklin-crypto-4c6ecf4148c62588/b72d5cf/src/plonk/circuit/poseidon.rs:100:5
|
100 | internal_state: Vec<LinearCombination>,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait bellman::Engine
is not implemented for E
|
::: /Users/chenhuan/.cargo/git/checkouts/franklin-crypto-4c6ecf4148c62588/b72d5cf/src/plonk/circuit/linear_combination.rs:39:1
|
39 | pub struct LinearCombination<E: Engine> {
| --------------------------------------- required by plonk::circuit::linear_combination::LinearCombination
|
help: consider further restricting this bound with + bellman::Engine
--> /Users/chenhuan/.cargo/git/checkouts/franklin-crypto-4c6ecf4148c62588/b72d5cf/src/plonk/circuit/poseidon.rs:99:38
|
99 | pub struct StatefulPoseidonGadget<E: PoseidonEngine> {
| ^^^^^^^^^^^^^^
error[E0277]: the trait bound E: bellman::Engine
is not satisfied
--> /Users/chenhuan/.cargo/git/checkouts/franklin-crypto-4c6ecf4148c62588/b72d5cf/src/plonk/circuit/poseidon.rs:105:75
|
43 | pub trait PoseidonCsSBox<E: Engine>: SBox {
| -------------------------------------------- required by plonk::circuit::poseidon::PoseidonCsSBox
...
105 | where <::Params as PoseidonHashParams>::SBox: PoseidonCsSBox
| ^^^^^^^^^^^^^^^^^ the trait bellman::Engine
is not implemented for E
|
help: consider restricting this type parameter with where E: bellman::Engine
--> /Users/chenhuan/.cargo/git/checkouts/franklin-crypto-4c6ecf4148c62588/b72d5cf/src/plonk/circuit/poseidon.rs:104:6
|
104 | impl<E: PoseidonEngine> StatefulPoseidonGadget
| ^
error[E0277]: the trait bound E: pairing_ce::Engine
is not satisfied
--> /Users/chenhuan/.cargo/git/checkouts/franklin-crypto-4c6ecf4148c62588/b72d5cf/src/plonk/circuit/poseidon.rs:53:9
|
53 | &self,
| ^^^^^ the trait pairing_ce::Engine
is not implemented for E
|
help: consider further restricting this bound with + pairing_ce::Engine
--> /Users/chenhuan/.cargo/git/checkouts/franklin-crypto-4c6ecf4148c62588/b72d5cf/src/plonk/circuit/poseidon.rs:49:9
|
49 | impl<E: Engine> PoseidonCsSBox for QuinticSBox {
| ^^^^^^
= note: required by poseidon_hash::QuinticSBox
error[E0277]: the trait bound E: pairing_ce::Engine
is not satisfied
--> /Users/chenhuan/.cargo/git/checkouts/franklin-crypto-4c6ecf4148c62588/b72d5cf/src/plonk/circuit/poseidon.rs:85:9
|
85 | &self,
| ^^^^^ the trait pairing_ce::Engine
is not implemented for E
|
help: consider further restricting this bound with + pairing_ce::Engine
--> /Users/chenhuan/.cargo/git/checkouts/franklin-crypto-4c6ecf4148c62588/b72d5cf/src/plonk/circuit/poseidon.rs:49:9
|
49 | impl<E: Engine> PoseidonCsSBox for QuinticSBox {
| ^^^^^^
= note: required by poseidon_hash::QuinticSBox
error[E0277]: the trait bound E: bellman::ScalarEngine
is not satisfied in plonk::circuit::linear_combination::LinearCombination<E>
--> /Users/chenhuan/.cargo/git/checkouts/franklin-crypto-4c6ecf4148c62588/b72d5cf/src/plonk/circuit/poseidon.rs:120:16
|
120 | state: &[LinearCombination],
| ^^^^^^^^^^^^^^^^^^^^^^^ within plonk::circuit::linear_combination::LinearCombination<E>
, the trait bellman::ScalarEngine
is not implemented for E
|
help: consider restricting this type parameter with where E: bellman::ScalarEngine
--> /Users/chenhuan/.cargo/git/checkouts/franklin-crypto-4c6ecf4148c62588/b72d5cf/src/plonk/circuit/poseidon.rs:104:6
|
104 | impl<E: PoseidonEngine> StatefulPoseidonGadget
| ^
= note: required because it appears within the type plonk::circuit::linear_combination::LinearCombination<E>
= note: slice and array elements must have Sized
type
error[E0277]: the trait bound E: bellman::ScalarEngine
is not satisfied in plonk::circuit::linear_combination::LinearCombination<E>
--> /Users/chenhuan/.cargo/git/checkouts/franklin-crypto-4c6ecf4148c62588/b72d5cf/src/plonk/circuit/poseidon.rs:353:10
|
353 | ) -> Result<LinearCombination, SynthesisError> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ within plonk::circuit::linear_combination::LinearCombination<E>
, the trait bellman::ScalarEngine
is not implemented for E
|
help: consider restricting this type parameter with where E: bellman::ScalarEngine
--> /Users/chenhuan/.cargo/git/checkouts/franklin-crypto-4c6ecf4148c62588/b72d5cf/src/plonk/circuit/poseidon.rs:104:6
|
104 | impl<E: PoseidonEngine> StatefulPoseidonGadget
| ^
= note: required because it appears within the type plonk::circuit::linear_combination::LinearCombination<E>
= note: required by std::result::Result
error: aborting due to 9 previous errors
For more information about this error, try rustc --explain E0277
.
error: could not compile franklin-crypto
.
To learn more, run the command again with --verbose.