1
0
Fork 0
mirror of synced 2025-09-24 04:40:05 +00:00

add zokrates_common crate, update resolver trait definition

This commit is contained in:
dark64 2020-03-04 20:31:44 +01:00
parent 8774cbcd6e
commit efecfedc8b
10 changed files with 62 additions and 113 deletions

136
Cargo.lock generated
View file

@ -18,12 +18,6 @@ dependencies = [
"winapi",
]
[[package]]
name = "anyhow"
version = "1.0.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7825f6833612eb2414095684fcf6c635becf3ce97fe48cf6421321e93bfbd53c"
[[package]]
name = "arrayvec"
version = "0.4.12"
@ -66,9 +60,9 @@ checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d"
[[package]]
name = "backtrace"
version = "0.3.44"
version = "0.3.45"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e4036b9bf40f3cf16aba72a3d65e8a520fc4bafcdc7079aea8f848c58c5b5536"
checksum = "ad235dabf00f36301792cfe82499880ba54c6486be094d1047b02bacb67c14e8"
dependencies = [
"backtrace-sys",
"cfg-if",
@ -78,9 +72,9 @@ dependencies = [
[[package]]
name = "backtrace-sys"
version = "0.1.32"
version = "0.1.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491"
checksum = "e17b52e737c40a7d75abca20b29a19a0eb7ba9fc72c5a72dd282a0a3c2c0dc35"
dependencies = [
"cc",
"libc",
@ -401,9 +395,9 @@ dependencies = [
[[package]]
name = "curl-sys"
version = "0.4.26"
version = "0.4.28+curl-7.69.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0853fe2a575bb381b1f173610372c7722d9fa9bc4056512ed99fe6a644c388c6"
checksum = "e2c6b7fa5d36aa192e410788b77af65f339af24c8786419e8b48173689a484bf"
dependencies = [
"cc",
"libc",
@ -457,7 +451,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d371106cc88ffdfb1eabd7111e432da544f16f3e2d7bf1dfe8bf575f1df045cd"
dependencies = [
"backtrace",
"version_check 0.9.1",
"version_check",
]
[[package]]
@ -599,15 +593,6 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
[[package]]
name = "heck"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
dependencies = [
"unicode-segmentation",
]
[[package]]
name = "hermit-abi"
version = "0.1.8"
@ -660,9 +645,9 @@ dependencies = [
[[package]]
name = "js-sys"
version = "0.3.35"
version = "0.3.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7889c7c36282151f6bf465be4700359318aef36baa951462382eae49e9577cf9"
checksum = "1cb931d43e71f560c81badb0191596562bafad2be06a3f9025b845c847c60df5"
dependencies = [
"wasm-bindgen",
]
@ -696,9 +681,9 @@ dependencies = [
[[package]]
name = "libssh2-sys"
version = "0.2.15"
version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b920f022ce0b459a5f27aa86c87c74510bad96f1d9169cfe1f7d2d2e7f1f10f"
checksum = "7bb70f29dc7c31d32c97577f13f41221af981b31248083e347b7f2c39225a6bc"
dependencies = [
"cc",
"libc",
@ -768,16 +753,6 @@ version = "0.1.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
[[package]]
name = "nom"
version = "4.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6"
dependencies = [
"memchr",
"version_check 0.1.5",
]
[[package]]
name = "num"
version = "0.1.42"
@ -1312,12 +1287,6 @@ version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c2fb2ec9bcd216a5b0d0ccf31ab17b5ed1d627960edff65bbe95d3ce221cefc"
[[package]]
name = "sourcefile"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4bf77cb82ba8453b42b6ae1d692e4cdc92f9a47beaf89a847c8be83f4e328ad3"
[[package]]
name = "strsim"
version = "0.8.0"
@ -1462,12 +1431,6 @@ dependencies = [
"smallvec",
]
[[package]]
name = "unicode-segmentation"
version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
[[package]]
name = "unicode-width"
version = "0.1.7"
@ -1515,12 +1478,6 @@ version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
[[package]]
name = "version_check"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
[[package]]
name = "version_check"
version = "0.9.1"
@ -1552,9 +1509,9 @@ checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
[[package]]
name = "wasm-bindgen"
version = "0.2.58"
version = "0.2.59"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5205e9afdf42282b192e2310a5b463a6d1c1d774e30dc3c791ac37ab42d2616c"
checksum = "3557c397ab5a8e347d434782bcd31fc1483d927a6826804cec05cc792ee2519d"
dependencies = [
"cfg-if",
"wasm-bindgen-macro",
@ -1562,9 +1519,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-backend"
version = "0.2.58"
version = "0.2.59"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "11cdb95816290b525b32587d76419facd99662a07e59d3cdb560488a819d9a45"
checksum = "e0da9c9a19850d3af6df1cb9574970b566d617ecfaf36eb0b706b6f3ef9bd2f8"
dependencies = [
"bumpalo",
"lazy_static",
@ -1577,9 +1534,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-futures"
version = "0.4.8"
version = "0.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8bbdd49e3e28b40dec6a9ba8d17798245ce32b019513a845369c641b275135d9"
checksum = "457414a91863c0ec00090dba537f88ab955d93ca6555862c29b6d860990b8a8a"
dependencies = [
"cfg-if",
"js-sys",
@ -1589,9 +1546,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
version = "0.2.58"
version = "0.2.59"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "574094772ce6921576fb6f2e3f7497b8a76273b6db092be18fc48a082de09dc3"
checksum = "0f6fde1d36e75a714b5fe0cffbb78978f222ea6baebb726af13c78869fdb4205"
dependencies = [
"quote 1.0.2",
"wasm-bindgen-macro-support",
@ -1599,9 +1556,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
version = "0.2.58"
version = "0.2.59"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e85031354f25eaebe78bb7db1c3d86140312a911a106b2e29f9cc440ce3e7668"
checksum = "25bda4168030a6412ea8a047e27238cadf56f0e53516e1e83fec0a8b7c786f6d"
dependencies = [
"proc-macro2 1.0.9",
"quote 1.0.2",
@ -1612,15 +1569,15 @@ dependencies = [
[[package]]
name = "wasm-bindgen-shared"
version = "0.2.58"
version = "0.2.59"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f5e7e61fc929f4c0dddb748b102ebf9f632e2b8d739f2016542b4de2965a9601"
checksum = "fc9f36ad51f25b0219a3d4d13b90eb44cd075dff8b6280cca015775d7acaddd8"
[[package]]
name = "wasm-bindgen-test"
version = "0.3.8"
version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "98fd0ec352c44d1726b6c2bec524612b1c81e34a7d858f597a6c71f8e018c82e"
checksum = "449aeba7035e4a4710cd263bbac33519fa3828bff1c6f642fa8896601e7016ad"
dependencies = [
"console_error_panic_hook",
"js-sys",
@ -1632,50 +1589,22 @@ dependencies = [
[[package]]
name = "wasm-bindgen-test-macro"
version = "0.3.8"
version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97837a6e83ab24a4b3a38d44a257e13335b54f4b4548b2c9d71edd0bf570cb4f"
checksum = "49449f8dcedc192bd0cf11b5711982decdd4dbad1029f92370e2b1215031dd59"
dependencies = [
"proc-macro2 1.0.9",
"quote 1.0.2",
]
[[package]]
name = "wasm-bindgen-webidl"
version = "0.2.58"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ef012a0d93fc0432df126a8eaf547b2dce25a8ce9212e1d3cbeef5c11157975d"
dependencies = [
"anyhow",
"heck",
"log",
"proc-macro2 1.0.9",
"quote 1.0.2",
"syn 1.0.16",
"wasm-bindgen-backend",
"weedle",
]
[[package]]
name = "web-sys"
version = "0.3.35"
version = "0.3.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aaf97caf6aa8c2b1dac90faf0db529d9d63c93846cca4911856f78a83cebf53b"
checksum = "721c6263e2c66fd44501cc5efbfa2b7dfa775d13e4ea38c46299646ed1f9c70a"
dependencies = [
"anyhow",
"js-sys",
"sourcefile",
"wasm-bindgen",
"wasm-bindgen-webidl",
]
[[package]]
name = "weedle"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3bb43f70885151e629e2a19ce9e50bd730fd436cfd4b666894c9ce4de9141164"
dependencies = [
"nom",
]
[[package]]
@ -1738,6 +1667,10 @@ dependencies = [
"zokrates_fs_resolver",
]
[[package]]
name = "zokrates_common"
version = "0.1.0"
[[package]]
name = "zokrates_core"
version = "0.4.2"
@ -1764,6 +1697,7 @@ dependencies = [
"serde_json",
"typed-arena",
"wasm-bindgen-test",
"zokrates_common",
"zokrates_embed",
"zokrates_field",
"zokrates_pest_ast",
@ -1807,7 +1741,7 @@ name = "zokrates_fs_resolver"
version = "0.5.0"
dependencies = [
"tempfile",
"zokrates_core",
"zokrates_common",
]
[[package]]

View file

@ -1,6 +1,7 @@
[workspace]
members = [
"zokrates_common",
"zokrates_core",
"zokrates_cli",
"zokrates_fs_resolver",

View file

@ -0,0 +1,9 @@
[package]
name = "zokrates_common"
version = "0.1.0"
authors = ["dark64 <darem966@gmail.com>"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]

View file

@ -0,0 +1,9 @@
use std::path::PathBuf;
pub trait Resolver<E> {
fn resolve(
&self,
current_location: PathBuf,
import_location: PathBuf,
) -> Result<(String, PathBuf), E>;
}

View file

@ -30,6 +30,7 @@ ff_ce = "0.7"
zokrates_field = { version = "0.3.0", path = "../zokrates_field" }
zokrates_pest_ast = { version = "0.1.0", path = "../zokrates_pest_ast" }
zokrates_embed = { path = "../zokrates_embed" }
zokrates_common = { path = "../zokrates_common" }
rand = "0.4"
csv = "1"
bellman_ce = { git = "https://github.com/matter-labs/bellman", rev = "9e35737", default-features = false }

View file

@ -16,6 +16,7 @@ use std::io;
use std::path::PathBuf;
use typed_absy::abi::Abi;
use typed_arena::Arena;
use zokrates_common::Resolver;
use zokrates_field::field::Field;
use zokrates_pest_ast as pest;
@ -131,14 +132,6 @@ impl fmt::Display for CompileErrorInner {
type FilePath = PathBuf;
pub trait Resolver<E: Into<imports::Error>> {
fn resolve(
&self,
current_location: PathBuf,
import_location: PathBuf,
) -> Result<(String, PathBuf), E>;
}
pub fn compile<T: Field, E: Into<imports::Error>>(
source: String,
location: FilePath,

View file

@ -6,7 +6,7 @@
use crate::absy::*;
use crate::compile::compile_module;
use crate::compile::{CompileErrorInner, CompileErrors, Resolver};
use crate::compile::{CompileErrorInner, CompileErrors};
use crate::embed::FlatEmbed;
use crate::parser::Position;
use std::collections::HashMap;
@ -15,6 +15,7 @@ use std::io;
use std::path::{Path, PathBuf};
use typed_arena::Arena;
use zokrates_common::Resolver;
use zokrates_field::field::Field;
#[derive(PartialEq, Debug)]

View file

@ -14,6 +14,7 @@ extern crate ff_ce as ff;
extern crate lazy_static;
extern crate pairing_ce as pairing;
extern crate regex;
extern crate zokrates_common;
extern crate zokrates_embed;
extern crate zokrates_field;
extern crate zokrates_pest_ast;

View file

@ -6,7 +6,7 @@ repository = "https://github.com/JacobEberhardt/ZoKrates.git"
edition = "2018"
[dependencies]
zokrates_core = { version = "0.4.2", path = "../zokrates_core" }
zokrates_common = { path = "../zokrates_common" }
[dev-dependencies]
tempfile = "3"

View file

@ -3,11 +3,11 @@ use std::io;
use std::path::Path;
use std::path::{Component, PathBuf};
use zokrates_core::compile::Resolver;
use zokrates_common::Resolver;
const ZOKRATES_HOME: &str = &"ZOKRATES_HOME";
pub struct FileSystemResolver {}
pub struct FileSystemResolver;
impl FileSystemResolver {
pub fn new() -> Self {