diff --git a/Cargo.toml b/Cargo.toml index 98e3ec19..6ca573a2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,40 +21,78 @@ rpath = false lto = "thin" incremental = true -[patch."https://github.com/privacy-scaling-explorations/halo2curves"] -halo2curves = { git = "https://github.com/sygmaprotocol/halo2curves", branch = "dev/bls12_381" } -# halo2curves = { path = "../halo2curves" } +[workspace.dependencies] +# local +eth-types = { path = "./eth-types" } +lightclient-circuits = { path = "./lightclient-circuits" } +preprocessor = { path = "./preprocessor" } -[patch."https://github.com/axiom-crypto/halo2-lib"] -halo2-base = { git = "https://github.com/timoftime/halo2-lib", rev = "95bf9a5ce6b62a3f28b163748a7494281d814496", default-features = false, features = [ +# halo2 +halo2_proofs = { git = "https://github.com/privacy-scaling-explorations/halo2.git", tag = "v2023_02_02", features = [ + "dev-graph", +] } +halo2curves = { git = "https://github.com/privacy-scaling-explorations/halo2curves", tag = "0.3.1" } +halo2-base = { git = "https://github.com/axiom-crypto/halo2-lib", branch = "community-edition", default-features = false, features = [ + "halo2-pse", + "display", +] } +halo2-ecc = { git = "https://github.com/axiom-crypto/halo2-lib", branch = "community-edition", default-features = false } +poseidon = { git = "https://github.com/axiom-crypto/halo2-lib", branch = "community-edition", default-features = false } + +# verifier SDK +snark-verifier = { git = "https://github.com/axiom-crypto/snark-verifier.git", branch = "community-edition", default-features = false, features = [ + "display", + "loader_halo2", + "loader_evm", "halo2-pse", +] } +snark-verifier-sdk = { git = "https://github.com/axiom-crypto/snark-verifier.git", branch = "community-edition", default-features = false, features = [ "display", + "loader_halo2", + "loader_evm", + "halo2-pse", +] } +halo2_solidity_verifier = { git = "https://github.com/privacy-scaling-explorations/halo2-solidity-verifier", branch = "ac/initial-verifier-PR" } + +# ethereum types +sync-committee-primitives = { git = "https://github.com/polytope-labs/sync-committee-rs", version = "0.1.0" } +sync-committee-prover = { git = "https://github.com/polytope-labs/sync-committee-rs", version = "0.1.0", features = [ + "testnet", ] } -halo2-ecc = { git = "https://github.com/timoftime/halo2-lib", rev = "95bf9a5ce6b62a3f28b163748a7494281d814496", default-features = false } -poseidon = { git = "https://github.com/timoftime/halo2-lib", rev = "95bf9a5ce6b62a3f28b163748a7494281d814496", default-features = false } +ssz-rs = { git = "https://github.com/ralexstokes/ssz-rs", rev = "adf1a0b14cef90b9536f28ef89da1fab316465e1" } +# crypto +group = "0.12" +num-bigint = { version = "0.4", features = ["rand"] } +pasta_curves = "0.4.1" +ff = "0.12" +sha2 = { version = "0.10.6", features = ["compress"] } +uint = "0.9.1" +ark-std = { version = "0.4.0", features = ["print-trace"] } +poseidon_native = { git = "https://github.com/axiom-crypto/halo2.git", branch = "axiom/dev", package = "poseidon" } -# halo2-base = { path = "../halo2-lib/halo2-base", default-features = false, features = [ -# "halo2-pse", -# "display", -# ] } -# halo2-ecc = { path = "../halo2-lib/halo2-ecc", default-features = false } -# poseidon = { path = "../halo2-lib/hashes/poseidon", default-features = false } +# misc +itertools = "0.11.0" +serde = { version = "1.0.130", features = ["derive"] } +serde_json = "1.0.78" +log = "0.4.14" +hex = "0.4" -[patch."https://github.com/axiom-crypto/snark-verifier.git"] -snark-verifier = { git = "https://github.com/timoftime/snark-verifier", branch = "timoftime/bump-revm", default-features = false } -snark-verifier-sdk = { git = "https://github.com/timoftime/snark-verifier", branch = "timoftime/bump-revm", default-features = false } +[patch."https://github.com/privacy-scaling-explorations/halo2curves"] +halo2curves = { git = "https://github.com/sygmaprotocol/halo2curves", branch = "dev/bls12_381" } + +[patch."https://github.com/axiom-crypto/halo2-lib"] +halo2-base = { git = "https://github.com/timoftime/halo2-lib", rev = "95bf9a5ce6b62a3f28b163748a7494281d814496" } +halo2-ecc = { git = "https://github.com/timoftime/halo2-lib", rev = "95bf9a5ce6b62a3f28b163748a7494281d814496" } +poseidon = { git = "https://github.com/timoftime/halo2-lib", rev = "95bf9a5ce6b62a3f28b163748a7494281d814496" } -# [patch."https://github.com/timoftime/halo2curves"] -# halo2curves = { path = "../halo2curves" } +[patch."https://github.com/axiom-crypto/snark-verifier.git"] +snark-verifier = { git = "https://github.com/timoftime/snark-verifier", branch = "timoftime/bump-revm" } +snark-verifier-sdk = { git = "https://github.com/timoftime/snark-verifier", branch = "timoftime/bump-revm" } [patch."https://github.com/ralexstokes/ssz-rs"] -ssz-rs = { git = "https://github.com/polytope-labs/ssz-rs", branch = "main", default-features = false } +ssz-rs = { git = "https://github.com/polytope-labs/ssz-rs", branch = "main" } [patch."https://github.com/polytope-labs/sync-committee-rs"] -sync-committee-prover = { git = "https://github.com/timoftime/sync-committee-rs", branch = "dev/accept-ssz", features = [ - "testnet", -] } -sync-committee-primitives = { git = "https://github.com/timoftime/sync-committee-rs", branch = "dev/accept-ssz", features = [ - "testnet", -] } +sync-committee-prover = { git = "https://github.com/timoftime/sync-committee-rs", branch = "dev/accept-ssz" } +sync-committee-primitives = { git = "https://github.com/timoftime/sync-committee-rs", branch = "dev/accept-ssz" } diff --git a/eth-types/Cargo.toml b/eth-types/Cargo.toml index aaf27db1..7732a250 100644 --- a/eth-types/Cargo.toml +++ b/eth-types/Cargo.toml @@ -6,20 +6,19 @@ edition = "2021" license = "MIT OR Apache-2.0" [dependencies] -hex = "0.4" -lazy_static = "1.4" -halo2_proofs = { git = "https://github.com/privacy-scaling-explorations/halo2.git", tag = "v2023_02_02" } -halo2-ecc = { git = "https://github.com/axiom-crypto/halo2-lib", branch = "community-edition", default-features = false } +pasta_curves.workspace = true +uint.workspace = true +hex.workspace = true +halo2_proofs.workspace = true +halo2-ecc.workspace = true +serde.workspace = true +serde_json.workspace = true +itertools.workspace = true +halo2curves.workspace = true regex = "1.5.4" -serde = {version = "1.0.130", features = ["derive"] } -serde_json = "1.0.66" -# serde_with = "1.12" -uint = "0.9.1" -itertools = "0.10" +lazy_static = "1.4" subtle = "2.4" num = "0.4" -num-bigint = { version = "0.4" } +num-bigint.workspace = true strum_macros = "0.24" -strum = "0.24" -halo2curves = { git = "https://github.com/privacy-scaling-explorations/halo2curves", tag = "0.3.1" } -pasta_curves = "0.4.1" +strum = "0.24" \ No newline at end of file diff --git a/lightclient-circuits/Cargo.toml b/lightclient-circuits/Cargo.toml index f7810f6c..3cde4d1c 100644 --- a/lightclient-circuits/Cargo.toml +++ b/lightclient-circuits/Cargo.toml @@ -7,59 +7,42 @@ license = "MIT OR Apache-2.0" [dependencies] # halo2 -halo2_proofs = { git = "https://github.com/privacy-scaling-explorations/halo2.git", tag = "v2023_02_02", features = [ - "dev-graph", -] } -halo2curves = { git = "https://github.com/privacy-scaling-explorations/halo2curves", tag = "0.3.1" } -halo2-base = { git = "https://github.com/axiom-crypto/halo2-lib", branch = "community-edition", default-features = false, features = [ - "halo2-pse", - "display", -] } -halo2-ecc = { git = "https://github.com/axiom-crypto/halo2-lib", branch = "community-edition", default-features = false } -poseidon = { git = "https://github.com/axiom-crypto/halo2-lib", branch = "community-edition", default-features = false } - -# verifier SDK -snark-verifier = { git = "https://github.com/axiom-crypto/snark-verifier.git", branch = "community-edition", default-features = false, features = [ - "display", - "loader_halo2", - "loader_evm", - "halo2-pse" -] } -snark-verifier-sdk = { git = "https://github.com/axiom-crypto/snark-verifier.git", branch = "community-edition", default-features = false, features = [ - "display", - "loader_halo2", - "loader_evm", - "halo2-pse", -] } +halo2_proofs.workspace = true +halo2curves.workspace = true +halo2-base.workspace = true +halo2-ecc.workspace = true +poseidon.workspace = true +# verifier SDK +snark-verifier.workspace = true +snark-verifier-sdk.workspace = true # crypto -num-bigint = { version = "0.4", features = ["rand"] } -pasta_curves = "0.4.1" -ff = "0.12" -group = "0.12" -sha2 = { version = "0.10.6", features = ["compress"] } - +group.workspace = true +num-bigint.workspace = true +pasta_curves.workspace = true +ff.workspace = true +sha2.workspace = true # ethereum -sync-committee-primitives = { git = "https://github.com/polytope-labs/sync-committee-rs", version = "0.1.0" } -ssz-rs = { git = "https://github.com/ralexstokes/ssz-rs", rev = "adf1a0b14cef90b9536f28ef89da1fab316465e1" } +sync-committee-primitives.workspace = true +ssz-rs.workspace = true # local -eth-types = { path = "../eth-types" } +eth-types.workspace = true # misc -serde = { version = "1.0.130", features = ["derive"] } -serde_json = "1.0.78" +ark-std.workspace = true +serde.workspace = true +serde_json.workspace = true +itertools.workspace = true +log.workspace = true +hex.workspace = true +poseidon_native.workspace = true +rayon = "1.7.0" array-init = "2.0.0" strum = "0.25" strum_macros = "0.25" rand = "0.8" -itertools = "0.11.0" lazy_static = "1.4" -log = "0.4" -hex = "0.4" -rayon = "1.7.0" -ark-std = { version = "0.4.0", features = ["print-trace"] } -poseidon_native = { git = "https://github.com/axiom-crypto/halo2.git", branch = "axiom/dev", package = "poseidon" } [dev-dependencies] rstest = "0.18.2" test-utils = { git = "ssh://git@github.com/sygmaprotocol/Zipline.git", rev = "27e8a01" } diff --git a/preprocessor/Cargo.toml b/preprocessor/Cargo.toml index a2be115e..8feb3a00 100644 --- a/preprocessor/Cargo.toml +++ b/preprocessor/Cargo.toml @@ -3,43 +3,29 @@ name = "preprocessor" version = "0.1.0" edition = "2021" -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - [dependencies] -# ethereum -ssz-rs = { git = "https://github.com/ralexstokes/ssz-rs", rev = "adf1a0b14cef90b9536f28ef89da1fab316465e1" } -halo2curves = { git = "https://github.com/privacy-scaling-explorations/halo2curves", tag = "0.3.1" } -sync-committee-prover = { git = "https://github.com/polytope-labs/sync-committee-rs", version = "0.1.0", features=["testnet"] } -sync-committee-primitives = { git = "https://github.com/polytope-labs/sync-committee-rs", version = "0.1.0", features=["testnet"] } - -#crypto -group = "0.12" +ssz-rs.workspace = true +halo2curves.workspace = true +sync-committee-prover.workspace = true +sync-committee-primitives.workspace = true +group.workspace = true # misc -hex = "0.4" -log = "=0.4.20" eyre = "0.6" tokio = { version = "1", features = ["full"]} -itertools = "0.11.0" -serde_json = "1.0.78" -serde = {version = "1.0.130", features = ["derive"] } + +hex.workspace = true +log.workspace = true +itertools.workspace = true +serde_json.workspace = true +serde.workspace = true + # local -eth-types = { path = "../eth-types" } -lightclient-circuits = { path = "../lightclient-circuits" } +eth-types.workspace = true +lightclient-circuits.workspace = true [dev-dependencies] -halo2_proofs = { git = "https://github.com/privacy-scaling-explorations/halo2.git", tag = "v2023_02_02", features = [ - "dev-graph", -] } -halo2-base = { git = "https://github.com/axiom-crypto/halo2-lib", branch = "community-edition", default-features = false, features = [ - "halo2-pse", - "display", -] } -snark-verifier-sdk = { git = "https://github.com/axiom-crypto/snark-verifier.git", branch = "community-edition", default-features = false, features = [ - "display", - "loader_halo2", - "loader_evm", - "halo2-pse", -] } -ark-std = { version = "0.4.0", features = ["print-trace"] } -# sync-committee-verifier = { git = "https://github.com/polytope-labs/sync-committee-rs", version = "0.1.0", features=["testnet"] } +halo2_proofs.workspace = true +halo2-base.workspace = true +snark-verifier-sdk.workspace = true +ark-std.workspace = true diff --git a/prover/Cargo.toml b/prover/Cargo.toml index e517b2c3..97698b5f 100644 --- a/prover/Cargo.toml +++ b/prover/Cargo.toml @@ -18,34 +18,22 @@ jsonrpc-v2 = { version = "0.12", default-features = false, features = ["easy-err http = "0.2" # halo2 -halo2curves = { git = "https://github.com/privacy-scaling-explorations/halo2curves", tag = "0.3.1" } - +halo2curves.workspace = true # verifier SDK -snark-verifier = { git = "https://github.com/axiom-crypto/snark-verifier.git", tag = "v0.1.1", default-features = false, features = [ - "display", - "loader_halo2", - "loader_evm", -] } -snark-verifier-sdk = { git = "https://github.com/axiom-crypto/snark-verifier.git", tag = "v0.1.1", default-features = false, features = [ - "display", - "loader_halo2", - "loader_evm", -] } -halo2_solidity_verifier = { git = "https://github.com/privacy-scaling-explorations/halo2-solidity-verifier", branch = "ac/initial-verifier-PR" } - +snark-verifier.workspace = true +snark-verifier-sdk.workspace = true +halo2_solidity_verifier.workspace = true # local -lightclient-circuits = { path = "../lightclient-circuits" } -preprocessor = { path = "../preprocessor" } -eth-types = { path = "../eth-types" } - +lightclient-circuits.workspace = true +preprocessor.workspace = true +eth-types.workspace = true # misc +itertools.workspace = true +serde.workspace = true +serde_json.workspace = true +log.workspace = true url = "2" -itertools = "0.11.0" -serde = { version = "1.0.130", features = ["derive"] } -serde_json = "1.0.78" -log = "0.4.14" - # ethereum ethers = { version = "2.0.7", default_features = false, features = [