From e69f4b6003e65b1630b4d95873df87db999ed824 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Wed, 10 Apr 2019 10:39:06 -0700 Subject: [PATCH] Migrate to refactored librustzcash branch --- Cargo.lock | 170 +++++++++++++---------- Cargo.toml | 22 +-- src/main/rust/bin/update_sapling_tree.rs | 4 +- src/main/rust/lib.rs | 56 ++++---- 4 files changed, 135 insertions(+), 117 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5afc5a76..485cc99a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,3 +1,5 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. [[package]] name = "aes" version = "0.2.0" @@ -100,17 +102,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "bellman" version = "0.1.0" -source = "git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8#fe22862d3910f617ff58dfd0fff6fe6d60436db8" +source = "git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07#20d9b3236a6dd2a121400baeb08e5d65448b9c07" dependencies = [ "bit-vec 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "ff 0.4.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", + "ff 0.4.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "group 0.1.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", + "group 0.1.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", "num_cpus 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "pairing 0.14.2 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", + "pairing 0.14.2 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -200,14 +202,6 @@ name = "cfg-if" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -[[package]] -name = "chacha20-poly1305-aead" -version = "0.1.2" -source = "git+https://github.com/gtank/chacha20-poly1305-aead?rev=aefc71f95e8bc43f2070e3c5b08130d9c86bbf4f#aefc71f95e8bc43f2070e3c5b08130d9c86bbf4f" -dependencies = [ - "constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "cloudabi" version = "0.0.3" @@ -293,6 +287,19 @@ dependencies = [ "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "crypto_api" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "crypto_api_chachapoly" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "crypto_api 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "digest" version = "0.7.6" @@ -309,6 +316,15 @@ dependencies = [ "generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "directories" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.2.48 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "either" version = "1.5.0" @@ -347,17 +363,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "ff" version = "0.4.0" -source = "git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8#fe22862d3910f617ff58dfd0fff6fe6d60436db8" +source = "git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07#20d9b3236a6dd2a121400baeb08e5d65448b9c07" dependencies = [ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "ff_derive 0.3.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", + "ff_derive 0.3.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "ff_derive" version = "0.3.0" -source = "git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8#fe22862d3910f617ff58dfd0fff6fe6d60436db8" +source = "git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07#20d9b3236a6dd2a121400baeb08e5d65448b9c07" dependencies = [ "num-bigint 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)", @@ -431,9 +447,9 @@ dependencies = [ [[package]] name = "group" version = "0.1.0" -source = "git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8#fe22862d3910f617ff58dfd0fff6fe6d60436db8" +source = "git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07#20d9b3236a6dd2a121400baeb08e5d65448b9c07" dependencies = [ - "ff 0.4.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", + "ff 0.4.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -708,11 +724,11 @@ dependencies = [ [[package]] name = "pairing" version = "0.14.2" -source = "git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8#fe22862d3910f617ff58dfd0fff6fe6d60436db8" +source = "git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07#20d9b3236a6dd2a121400baeb08e5d65448b9c07" dependencies = [ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "ff 0.4.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", - "group 0.1.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", + "ff 0.4.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", + "group 0.1.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -944,14 +960,14 @@ dependencies = [ [[package]] name = "sapling-crypto" version = "0.0.1" -source = "git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8#fe22862d3910f617ff58dfd0fff6fe6d60436db8" +source = "git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07#20d9b3236a6dd2a121400baeb08e5d65448b9c07" dependencies = [ - "bellman 0.1.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", + "bellman 0.1.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", "blake2-rfc 0.2.18 (git+https://github.com/gtank/blake2-rfc?rev=7a5b5fc99ae483a0043db7547fb79a6fa44b88a9)", "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)", - "ff 0.4.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", - "pairing 0.14.2 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", + "ff 0.4.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", + "pairing 0.14.2 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1399,86 +1415,86 @@ version = "0.0.1" dependencies = [ "android_logger 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "ff 0.4.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", + "ff 0.4.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)", "grpc 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "jni 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "log-panics 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "pairing 0.14.2 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", - "sapling-crypto 0.0.1 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", - "zcash_client_backend 0.0.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", - "zcash_primitives 0.0.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", - "zip32 0.0.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", + "pairing 0.14.2 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", + "protobuf 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sapling-crypto 0.0.1 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", + "zcash_client_backend 0.0.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", + "zcash_client_sqlite 0.0.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", + "zcash_primitives 0.0.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", + "zcash_proofs 0.0.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", ] [[package]] name = "zcash_client_backend" version = "0.0.0" -source = "git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8#fe22862d3910f617ff58dfd0fff6fe6d60436db8" +source = "git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07#20d9b3236a6dd2a121400baeb08e5d65448b9c07" dependencies = [ "bech32 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "bellman 0.1.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", - "ff 0.4.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", + "ff 0.4.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "pairing 0.14.2 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", + "pairing 0.14.2 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", "protobuf 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "protobuf-codegen-pure 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", + "sapling-crypto 0.0.1 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", + "zcash_primitives 0.0.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", +] + +[[package]] +name = "zcash_client_sqlite" +version = "0.0.0" +source = "git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07#20d9b3236a6dd2a121400baeb08e5d65448b9c07" +dependencies = [ + "bech32 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ff 0.4.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", + "pairing 0.14.2 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", + "protobuf 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "rusqlite 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)", - "sapling-crypto 0.0.1 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", + "sapling-crypto 0.0.1 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", - "zcash_primitives 0.0.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", - "zcash_proofs 0.0.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", - "zip32 0.0.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", + "zcash_client_backend 0.0.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", + "zcash_primitives 0.0.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", ] [[package]] name = "zcash_primitives" version = "0.0.0" -source = "git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8#fe22862d3910f617ff58dfd0fff6fe6d60436db8" +source = "git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07#20d9b3236a6dd2a121400baeb08e5d65448b9c07" dependencies = [ + "aes 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "blake2-rfc 0.2.18 (git+https://github.com/gtank/blake2-rfc?rev=7a5b5fc99ae483a0043db7547fb79a6fa44b88a9)", "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "chacha20-poly1305-aead 0.1.2 (git+https://github.com/gtank/chacha20-poly1305-aead?rev=aefc71f95e8bc43f2070e3c5b08130d9c86bbf4f)", - "ff 0.4.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", + "crypto_api_chachapoly 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "ff 0.4.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", + "fpe 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "pairing 0.14.2 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", + "pairing 0.14.2 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "sapling-crypto 0.0.1 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", + "sapling-crypto 0.0.1 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "zcash_proofs" version = "0.0.0" -source = "git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8#fe22862d3910f617ff58dfd0fff6fe6d60436db8" +source = "git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07#20d9b3236a6dd2a121400baeb08e5d65448b9c07" dependencies = [ - "bellman 0.1.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", + "bellman 0.1.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", "blake2-rfc 0.2.18 (git+https://github.com/gtank/blake2-rfc?rev=7a5b5fc99ae483a0043db7547fb79a6fa44b88a9)", "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "ff 0.4.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", - "pairing 0.14.2 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", + "directories 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", + "ff 0.4.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", + "pairing 0.14.2 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", - "sapling-crypto 0.0.1 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", - "zcash_primitives 0.0.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", -] - -[[package]] -name = "zip32" -version = "0.0.0" -source = "git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8#fe22862d3910f617ff58dfd0fff6fe6d60436db8" -dependencies = [ - "aes 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "blake2-rfc 0.2.18 (git+https://github.com/gtank/blake2-rfc?rev=7a5b5fc99ae483a0043db7547fb79a6fa44b88a9)", - "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", - "ff 0.4.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", - "fpe 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "pairing 0.14.2 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", - "sapling-crypto 0.0.1 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", - "zcash_primitives 0.0.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)", + "sapling-crypto 0.0.1 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", + "zcash_primitives 0.0.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)", ] [metadata] @@ -1494,7 +1510,7 @@ dependencies = [ "checksum backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "797c830ac25ccc92a7f8a7b9862bde440715531514594a6154e3d4a54dd769b6" "checksum base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643" "checksum bech32 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "58946044516aa9dc922182e0d6e9d124a31aafe6b421614654eb27cf90cec09c" -"checksum bellman 0.1.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)" = "" +"checksum bellman 0.1.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)" = "" "checksum bit-vec 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "02b4ff8b16e6076c3e14220b39fbc1fabb6737522281a388998046859400895f" "checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12" "checksum blake2-rfc 0.2.18 (git+https://github.com/gtank/blake2-rfc?rev=7a5b5fc99ae483a0043db7547fb79a6fa44b88a9)" = "" @@ -1508,7 +1524,6 @@ dependencies = [ "checksum cc 1.0.28 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4a8b715cb4597106ea87c7c84b2f1d452c7492033765df7f32651e66fcf749" "checksum cesu8 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" "checksum cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "082bb9b28e00d3c9d39cc03e64ce4cea0f1bb9b3fde493f0cbc008472d22bdf4" -"checksum chacha20-poly1305-aead 0.1.2 (git+https://github.com/gtank/chacha20-poly1305-aead?rev=aefc71f95e8bc43f2070e3c5b08130d9c86bbf4f)" = "" "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" "checksum combine 3.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "3d64b57f9d8186d72311c241e580409b31e5d340c67fd2d9c74f05eda6d3aa54" "checksum constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8ff012e225ce166d4422e0e78419d901719760f62ae2b7969ca6b564d1b54a9e" @@ -1518,15 +1533,18 @@ dependencies = [ "checksum crossbeam-deque 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "05e44b8cf3e1a625844d1750e1f7820da46044ff6d28f4d43e455ba3e5bb2c13" "checksum crossbeam-epoch 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "04c9e3102cc2d69cd681412141b390abd55a362afc1540965dad0ad4d34280b4" "checksum crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f8306fcef4a7b563b76b7dd949ca48f52bc1141aa067d2ea09565f3e2652aa5c" +"checksum crypto_api 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2f855e87e75a4799e18b8529178adcde6fd4f97c1449ff4821e747ff728bb102" +"checksum crypto_api_chachapoly 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9ee35dbace0831b5fe7cb9b43eb029aa14a10f594a115025d4628a2baa63ab" "checksum digest 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "03b072242a8cbaf9c145665af9d250c59af3b958f83ed6824e13533cf76d5b90" "checksum digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "05f47366984d3ad862010e22c7ce81a7dbcaebbdfb37241a620f8b6596ee135c" +"checksum directories 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "72d337a64190607d4fcca2cb78982c5dd57f4916e19696b48a575fa746b6cb0f" "checksum either 1.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3be565ca5c557d7f59e7cfcf1844f9e3033650c929c6566f511e8005f205c1d0" "checksum error-chain 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "07e791d3be96241c77c43846b665ef1384606da2cd2a48730abe606a12906e02" "checksum failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2" "checksum failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1" "checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" -"checksum ff 0.4.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)" = "" -"checksum ff_derive 0.3.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)" = "" +"checksum ff 0.4.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)" = "" +"checksum ff_derive 0.3.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)" = "" "checksum fpe 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce3371c82bfbd984f624cab093f55e7336f5a6e589f8518e1258f54f011b89ad" "checksum fuchsia-cprng 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "81f7f8eb465745ea9b02e2704612a9946a59fa40572086c6fd49d6ddcf30bf31" "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" @@ -1535,7 +1553,7 @@ dependencies = [ "checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4" "checksum generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3c0f28c2f5bfb5960175af447a2da7c18900693738343dc896ffbcabd9839592" "checksum generic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ef25c5683767570c2bbd7deba372926a55eaae9982d7726ee2a1050239d45b9d" -"checksum group 0.1.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)" = "" +"checksum group 0.1.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)" = "" "checksum grpc 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8e530ef7894a104a1c8525ce68787b3491efa2098ce5e5454e8324ea78893548" "checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77" "checksum httpbis 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7689cfa896b2a71da4f16206af167542b75d242b6906313e53857972a92d5614" @@ -1567,7 +1585,7 @@ dependencies = [ "checksum opaque-debug 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d620c9c26834b34f039489ac0dfdb12c7ac15ccaf818350a64c9b5334a452ad7" "checksum opaque-debug 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "93f5bb2e8e8dec81642920ccff6b61f1eb94fa3020c5a325c9851ff604152409" "checksum owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49a4b8ea2179e6a2e27411d3bca09ca6dd630821cf6894c6c7c8467a8ee7ef13" -"checksum pairing 0.14.2 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)" = "" +"checksum pairing 0.14.2 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)" = "" "checksum parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ab41b4aed082705d1056416ae4468b6ea99d52599ecf3169b00088d43113e337" "checksum parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9" "checksum pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "676e8eb2b1b4c9043511a9b7bea0915320d7e502b0a079fb03f9635a5252b18c" @@ -1594,7 +1612,7 @@ dependencies = [ "checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" "checksum safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8dca453248a96cb0749e36ccdfe2b0b4e54a61bfef89fb97ec621eb8e0a93dd9" "checksum same-file 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8f20c4be53a8a1ff4c1f1b2bd14570d2f634628709752f0702ecdd2b3f9a5267" -"checksum sapling-crypto 0.0.1 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)" = "" +"checksum sapling-crypto 0.0.1 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)" = "" "checksum scoped-tls 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "332ffa32bf586782a3efaeb58f127980944bbc8c4d6913a86107ac2a5ab24b28" "checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27" "checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" @@ -1642,7 +1660,7 @@ dependencies = [ "checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9" "checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" "checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" -"checksum zcash_client_backend 0.0.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)" = "" -"checksum zcash_primitives 0.0.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)" = "" -"checksum zcash_proofs 0.0.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)" = "" -"checksum zip32 0.0.0 (git+https://github.com/str4d/librustzcash.git?rev=fe22862d3910f617ff58dfd0fff6fe6d60436db8)" = "" +"checksum zcash_client_backend 0.0.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)" = "" +"checksum zcash_client_sqlite 0.0.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)" = "" +"checksum zcash_primitives 0.0.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)" = "" +"checksum zcash_proofs 0.0.0 (git+https://github.com/str4d/librustzcash.git?rev=20d9b3236a6dd2a121400baeb08e5d65448b9c07)" = "" diff --git a/Cargo.toml b/Cargo.toml index b3752311..63d4dfdc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,34 +18,38 @@ hex = "0.3" jni = { version = "0.10", default-features = false } log = "0.4" log-panics = "2.0.0" +protobuf = { version = "2", optional = true } [dependencies.ff] git = "https://github.com/str4d/librustzcash.git" -rev = "fe22862d3910f617ff58dfd0fff6fe6d60436db8" +rev = "20d9b3236a6dd2a121400baeb08e5d65448b9c07" [dependencies.pairing] git = "https://github.com/str4d/librustzcash.git" -rev = "fe22862d3910f617ff58dfd0fff6fe6d60436db8" +rev = "20d9b3236a6dd2a121400baeb08e5d65448b9c07" [dependencies.sapling-crypto] git = "https://github.com/str4d/librustzcash.git" -rev = "fe22862d3910f617ff58dfd0fff6fe6d60436db8" +rev = "20d9b3236a6dd2a121400baeb08e5d65448b9c07" [dependencies.zcash_client_backend] git = "https://github.com/str4d/librustzcash.git" -rev = "fe22862d3910f617ff58dfd0fff6fe6d60436db8" -features = ["sqlite"] +rev = "20d9b3236a6dd2a121400baeb08e5d65448b9c07" + +[dependencies.zcash_client_sqlite] +git = "https://github.com/str4d/librustzcash.git" +rev = "20d9b3236a6dd2a121400baeb08e5d65448b9c07" [dependencies.zcash_primitives] git = "https://github.com/str4d/librustzcash.git" -rev = "fe22862d3910f617ff58dfd0fff6fe6d60436db8" +rev = "20d9b3236a6dd2a121400baeb08e5d65448b9c07" -[dependencies.zip32] +[dependencies.zcash_proofs] git = "https://github.com/str4d/librustzcash.git" -rev = "fe22862d3910f617ff58dfd0fff6fe6d60436db8" +rev = "20d9b3236a6dd2a121400baeb08e5d65448b9c07" [features] -updater = ["futures", "grpc"] +updater = ["futures", "grpc", "protobuf"] [lib] name = "zcashwalletsdk" diff --git a/src/main/rust/bin/update_sapling_tree.rs b/src/main/rust/bin/update_sapling_tree.rs index 8b8dc8df..67868fd8 100644 --- a/src/main/rust/bin/update_sapling_tree.rs +++ b/src/main/rust/bin/update_sapling_tree.rs @@ -15,7 +15,7 @@ use futures::Stream; use grpc::ClientStubExt; use pairing::bls12_381::{Fr, FrRepr}; use zcash_client_backend::proto::compact_formats; -use zcash_primitives::merkle_tree::{CommitmentTree, Node}; +use zcash_primitives::{merkle_tree::CommitmentTree, sapling::Node}; use service_grpc::CompactTxStreamer; @@ -23,7 +23,7 @@ const LIGHTWALLETD_HOST: &str = "lightwalletd.z.cash"; const LIGHTWALLETD_PORT: u16 = 9067; const BATCH_SIZE: u64 = 10_000; -fn print_sapling_tree(height: u64, time: u32, tree: CommitmentTree) { +fn print_sapling_tree(height: u64, time: u32, tree: CommitmentTree) { let mut tree_bytes = vec![]; tree.write(&mut tree_bytes).unwrap(); println!("{{"); diff --git a/src/main/rust/lib.rs b/src/main/rust/lib.rs index 69c24a78..67876819 100644 --- a/src/main/rust/lib.rs +++ b/src/main/rust/lib.rs @@ -3,8 +3,6 @@ extern crate log; mod utils; -const SAPLING_CONSENSUS_BRANCH_ID: u32 = 0x76b8_09bb; - use android_logger::Filter; use failure::format_err; use jni::{ @@ -17,20 +15,24 @@ use std::panic; use std::path::Path; use std::ptr; use zcash_client_backend::{ - constants::{HRP_SAPLING_EXTENDED_SPENDING_KEY_TEST, HRP_SAPLING_PAYMENT_ADDRESS_TEST}, + constants::{ + testnet::{HRP_SAPLING_EXTENDED_SPENDING_KEY, HRP_SAPLING_PAYMENT_ADDRESS}, + SAPLING_CONSENSUS_BRANCH_ID, + }, encoding::{ decode_extended_spending_key, decode_payment_address, encode_extended_spending_key, }, - keystore::spending_key, - prover::LocalTxProver, - sqlite::{ - get_address, get_balance, get_received_memo_as_utf8, get_sent_memo_as_utf8, - get_verified_balance, init_accounts_table, init_blocks_table, init_data_database, - scan_cached_blocks, send_to_address, - }, + keys::spending_key, }; -use zcash_primitives::{note_encryption::Memo, transaction::components::Amount}; -use zip32::ExtendedFullViewingKey; +use zcash_client_sqlite::{ + get_address, get_balance, get_received_memo_as_utf8, get_sent_memo_as_utf8, + get_verified_balance, init_accounts_table, init_blocks_table, init_data_database, + scan_cached_blocks, send_to_address, +}; +use zcash_primitives::{ + note_encryption::Memo, transaction::components::Amount, zip32::ExtendedFullViewingKey, +}; +use zcash_proofs::prover::LocalTxProver; use crate::utils::exception::unwrap_exc_or; @@ -96,7 +98,7 @@ pub unsafe extern "C" fn Java_cash_z_wallet_sdk_jni_JniConverter_initAccountsTab "java/lang/String", |env, extsk| { env.new_string(encode_extended_spending_key( - HRP_SAPLING_EXTENDED_SPENDING_KEY_TEST, + HRP_SAPLING_EXTENDED_SPENDING_KEY, &extsk, )) }, @@ -296,18 +298,17 @@ pub unsafe extern "C" fn Java_cash_z_wallet_sdk_jni_JniConverter_sendToAddress( let spend_params = utils::java_string_to_rust(&env, spend_params); let output_params = utils::java_string_to_rust(&env, output_params); - let extsk = - match decode_extended_spending_key(HRP_SAPLING_EXTENDED_SPENDING_KEY_TEST, &extsk) { - Ok(Some(extsk)) => extsk, - Ok(None) => { - return Err(format_err!("ExtendedSpendingKey is for the wrong network")); - } - Err(e) => { - return Err(format_err!("Invalid ExtendedSpendingKey: {}", e)); - } - }; + let extsk = match decode_extended_spending_key(HRP_SAPLING_EXTENDED_SPENDING_KEY, &extsk) { + Ok(Some(extsk)) => extsk, + Ok(None) => { + return Err(format_err!("ExtendedSpendingKey is for the wrong network")); + } + Err(e) => { + return Err(format_err!("Invalid ExtendedSpendingKey: {}", e)); + } + }; - let to = match decode_payment_address(HRP_SAPLING_PAYMENT_ADDRESS_TEST, &to) { + let to = match decode_payment_address(HRP_SAPLING_PAYMENT_ADDRESS, &to) { Ok(Some(to)) => to, Ok(None) => { return Err(format_err!("PaymentAddress is for the wrong network")); @@ -319,12 +320,7 @@ pub unsafe extern "C" fn Java_cash_z_wallet_sdk_jni_JniConverter_sendToAddress( let memo = Memo::from_str(&memo); - let prover = LocalTxProver::new( - Path::new(&spend_params), - "8270785a1a0d0bc77196f000ee6d221c9c9894f55307bd9357c3f0105d31ca63991ab91324160d8f53e2bbd3c2633a6eb8bdf5205d822e7f3f73edac51b2b70c", - Path::new(&output_params), - "657e3d38dbb5cb5e7dd2970e8b03d69b4787dd907285b5a7f0790dcc8072f60bf593b32cc2d1c030e00ff5ae64bf84c5c3beb84ddc841d48264b4a171744d028", - ); + let prover = LocalTxProver::new(Path::new(&spend_params), Path::new(&output_params)); send_to_address( &db_data,