]> Git Repo - VerusCoin.git/commitdiff
Remove the rest of libzerocash.
authorSean Bowe <[email protected]>
Tue, 28 Jun 2016 16:08:50 +0000 (10:08 -0600)
committerSean Bowe <[email protected]>
Mon, 11 Jul 2016 02:25:02 +0000 (20:25 -0600)
21 files changed:
src/Makefile.am
src/Makefile.gtest.include
src/Makefile.zcash.include
src/gtest/test_circuit.cpp
src/gtest/test_libzcash_utils.cpp [new file with mode: 0644]
src/gtest/test_merkletree.cpp
src/zcash/IncrementalMerkleTree.cpp
src/zcash/JoinSplit.cpp
src/zcash/circuit/merkle.tcc
src/zcash/circuit/utils.tcc
src/zcash/util.cpp
src/zcash/util.h
src/zerocash/.gitignore [deleted file]
src/zerocash/AUTHORS [deleted file]
src/zerocash/LICENSE [deleted file]
src/zerocash/tests/full-test-suite.sh [deleted file]
src/zerocash/tests/timer.cpp [deleted file]
src/zerocash/tests/timer.h [deleted file]
src/zerocash/tests/utilTest.cpp [deleted file]
src/zerocash/utils/util.cpp [deleted file]
src/zerocash/utils/util.h [deleted file]

index f4613c27c767fcfbdd4fbc220b493730429dfb51..1a9ca90aad35bbaaed0893a7c976706a9e72020a 100644 (file)
@@ -72,7 +72,6 @@ endif
 # TODO: rename to libzcash
 LIBZCASH_H = \
   zcash/IncrementalMerkleTree.h \
-  zerocash/utils/util.h \
   zcash/NoteEncryption.hpp \
   zcash/Address.hpp \
   zcash/JoinSplit.hpp \
@@ -408,7 +407,6 @@ bitcoin_tx_LDADD += $(BOOST_LIBS) $(CRYPTO_LIBS)
 # zerocash protocol primitives #
 libzcash_a_SOURCES = \
   zcash/IncrementalMerkleTree.cpp \
-  zerocash/utils/util.cpp \
   zcash/NoteEncryption.cpp \
   zcash/Address.cpp \
   zcash/JoinSplit.cpp \
index 1a76f84639116732c47b96fb5df6b56924f52b2f..7369f943191e93cbfeec05ec1644d6a8fbe5fcab 100644 (file)
@@ -9,7 +9,8 @@ zcash_gtest_SOURCES = \
        gtest/test_joinsplit.cpp \
        gtest/test_noteencryption.cpp \
        gtest/test_merkletree.cpp \
-       gtest/test_circuit.cpp
+       gtest/test_circuit.cpp \
+       gtest/test_libzcash_utils.cpp
 
 zcash_gtest_CPPFLAGS = -DMULTICORE -fopenmp -DBINARY_OUTPUT -DCURVE_ALT_BN128 -DSTATIC
 
index 45c944ea166e8cf15b14e6bd63269b7839535ed8..341ba27362101d541cab9a4b0e61de05832943fe 100644 (file)
@@ -1,6 +1,5 @@
 bin_PROGRAMS += \
-  zcash/GenerateParams \
-  zerocash/tests/utilTest
+  zcash/GenerateParams 
 
 # tool for generating our public parameters
 zcash_GenerateParams_SOURCES = zcash/GenerateParams.cpp
@@ -10,12 +9,3 @@ zcash_GenerateParams_LDADD = \
   $(LIBBITCOIN_UTIL) \
   $(LIBBITCOIN_CRYPTO) \
   $(LIBZCASH_LIBS)
-
-# tests for utilities that come with zerocash
-zerocash_tests_utilTest_SOURCES = zerocash/tests/utilTest.cpp
-zerocash_tests_utilTest_LDADD = \
-  $(BOOST_LIBS) \
-  $(LIBZCASH) \
-  $(LIBBITCOIN_UTIL) \
-  $(LIBBITCOIN_CRYPTO) \
-  $(LIBZCASH_LIBS)
index 26004e04566b1281a0bac50ed0a3af4008c90395..612a72886f68e15f7bc818bf666d77f70325be50 100644 (file)
@@ -1,7 +1,6 @@
 #include <gtest/gtest.h>
 #include "uint256.h"
 
-#include "zerocash/utils/util.h"
 #include "zcash/util.h"
 
 #include <boost/foreach.hpp>
@@ -14,7 +13,6 @@
 #include "libsnark/gadgetlib1/gadgets/merkle_tree/merkle_tree_check_read_gadget.hpp"
 
 using namespace libsnark;
-using namespace libzerocash;
 
 #include "zcash/circuit/utils.tcc"
 
diff --git a/src/gtest/test_libzcash_utils.cpp b/src/gtest/test_libzcash_utils.cpp
new file mode 100644 (file)
index 0000000..ff84608
--- /dev/null
@@ -0,0 +1,44 @@
+#include <gtest/gtest.h>
+#include "zcash/util.h"
+
+TEST(libzcash_utils, convertBytesVectorToVector)
+{
+    std::vector<unsigned char> bytes = {0x00, 0x01, 0x03, 0x12, 0xFF};
+    std::vector<bool> expected_bits = {
+        // 0x00
+        0, 0, 0, 0, 0, 0, 0, 0,
+        // 0x01
+        0, 0, 0, 0, 0, 0, 0, 1,
+        // 0x03
+        0, 0, 0, 0, 0, 0, 1, 1,
+        // 0x12
+        0, 0, 0, 1, 0, 0, 1, 0,
+        // 0xFF
+        1, 1, 1, 1, 1, 1, 1, 1
+    };
+    ASSERT_TRUE(convertBytesVectorToVector(bytes) == expected_bits);
+}
+
+TEST(libzcash_utils, convertVectorToInt)
+{
+    ASSERT_TRUE(convertVectorToInt({0}) == 0);
+    ASSERT_TRUE(convertVectorToInt({1}) == 1);
+    ASSERT_TRUE(convertVectorToInt({0,1}) == 1);
+    ASSERT_TRUE(convertVectorToInt({1,0}) == 2);
+    ASSERT_TRUE(convertVectorToInt({1,1}) == 3);
+    ASSERT_TRUE(convertVectorToInt({1,0,0}) == 4);
+    ASSERT_TRUE(convertVectorToInt({1,0,1}) == 5);
+    ASSERT_TRUE(convertVectorToInt({1,1,0}) == 6);
+
+    ASSERT_THROW(convertVectorToInt(std::vector<bool>(100)), std::length_error);
+
+    {
+        std::vector<bool> v(63, 1);
+        ASSERT_TRUE(convertVectorToInt(v) == 0x7fffffffffffffff);
+    }
+
+    {
+        std::vector<bool> v(64, 1);
+        ASSERT_TRUE(convertVectorToInt(v) == 0xffffffffffffffff);
+    }
+}
index 04374f6debd3011367bae98d39ce7d80b4e109fa..b5c1bb4c62380762f3ade240d9a4f5cb73527717 100644 (file)
@@ -15,6 +15,9 @@
 #include "serialize.h"
 #include "streams.h"
 
+#include "zcash/IncrementalMerkleTree.hpp"
+#include "zcash/util.h"
+
 #include "libsnark/common/default_types/r1cs_ppzksnark_pp.hpp"
 #include "libsnark/zk_proof_systems/ppzksnark/r1cs_ppzksnark/r1cs_ppzksnark.hpp"
 #include "libsnark/gadgetlib1/gadgets/hashes/sha256/sha256_gadget.hpp"
@@ -40,13 +43,9 @@ read_json(const std::string& jsondata)
     return v.get_array();
 }
 
-#include "zcash/IncrementalMerkleTree.hpp"
-#include "zerocash/utils/util.h"
-
 //#define PRINT_JSON 1
 
 using namespace std;
-using namespace libzerocash;
 using namespace libsnark;
 
 
@@ -178,10 +177,10 @@ void test_tree(Array root_tests, Array ser_tests, Array witness_ser_tests, Array
                     std::vector<bool> commitment_bv;
                     {
                         std::vector<unsigned char> commitment_v(test_commitment.begin(), test_commitment.end());
-                        convertBytesVectorToVector(commitment_v, commitment_bv);
+                        commitment_bv = convertBytesVectorToVector(commitment_v);
                     }
 
-                    size_t path_index = libzerocash::convertVectorToInt(path.index);
+                    size_t path_index = convertVectorToInt(path.index);
 
                     commitment.bits.fill_with_bits(pb, bit_vector(commitment_bv));
                     positions.fill_with_bits_of_ulong(pb, path_index);
@@ -193,7 +192,7 @@ void test_tree(Array root_tests, Array ser_tests, Array witness_ser_tests, Array
                     {
                         uint256 witroot = wit.root();
                         std::vector<unsigned char> root_v(witroot.begin(), witroot.end());
-                        convertBytesVectorToVector(root_v, root_bv);
+                        root_bv = convertBytesVectorToVector(root_v);
                     }
 
                     root.bits.fill_with_bits(pb, bit_vector(root_bv));
index bae82f275037a114490b3d9ec0178af71ab07eff..3a6501555af7bda0133327c9c0953d961f437bc7 100644 (file)
@@ -4,7 +4,7 @@
 
 #include "zcash/IncrementalMerkleTree.hpp"
 #include "crypto/sha256.h"
-#include "zerocash/utils/util.h" // TODO: remove these utilities
+#include "zcash/util.h"
 
 namespace libzcash {
 
@@ -244,11 +244,8 @@ MerklePath IncrementalMerkleTree<Depth, Hash>::path(std::deque<Hash> filler_hash
     BOOST_FOREACH(Hash b, path)
     {
         std::vector<unsigned char> hashv(b.begin(), b.end());
-        std::vector<bool> tmp_b;
 
-        libzerocash::convertBytesVectorToVector(hashv, tmp_b);
-
-        merkle_path.push_back(tmp_b);
+        merkle_path.push_back(convertBytesVectorToVector(hashv));
     }
 
     std::reverse(merkle_path.begin(), merkle_path.end());
index 04cb7e0001d9064538982da1d1601dd6d08f429b..22ec0d17c8a63c7501c881304c85d92b1d7e010c 100644 (file)
@@ -2,7 +2,6 @@
 #include "prf.h"
 #include "sodium.h"
 
-#include "zerocash/utils/util.h"
 #include "zcash/util.h"
 
 #include <memory>
index 3ec420b91a9cc13670437840fe4d2b04677365d5..ca89adbedf8d92e268da0967f7b35d526f2e9d88 100644 (file)
@@ -50,7 +50,7 @@ public:
     void generate_r1cs_witness(const MerklePath& path) {
         // TODO: Change libsnark so that it doesn't require this goofy
         // number thing in its API.
-        size_t path_index = libzerocash::convertVectorToInt(path.index);
+        size_t path_index = convertVectorToInt(path.index);
 
         positions.fill_with_bits_of_ulong(this->pb, path_index);
 
index c54abc56b34a1e1f8b9e7777f4428b6d15a4dce3..fa7ae324a9f9a4126a268527fdd1ed1d26a1de21 100644 (file)
@@ -22,13 +22,8 @@ std::vector<bool> trailing252(std::vector<bool> input) {
 template<typename T>
 std::vector<bool> to_bool_vector(T input) {
     std::vector<unsigned char> input_v(input.begin(), input.end());
-    std::vector<bool> output_bv(256, 0);
-    libzerocash::convertBytesVectorToVector(
-        input_v,
-        output_bv
-    );
 
-    return output_bv;
+    return convertBytesVectorToVector(input_v);
 }
 
 std::vector<bool> uint256_to_bool_vector(uint256 input) {
@@ -41,10 +36,8 @@ std::vector<bool> uint252_to_bool_vector(uint252 input) {
 
 std::vector<bool> uint64_to_bool_vector(uint64_t input) {
     auto num_bv = convertIntToVectorLE(input);
-    std::vector<bool> num_v(64, 0);
-    libzerocash::convertBytesVectorToVector(num_bv, num_v);
-
-    return num_v;
+    
+    return convertBytesVectorToVector(num_bv);
 }
 
 void insert_uint256(std::vector<bool>& into, uint256 from) {
index b4f33d774cb41a435634f85d4d4e8af7b95866c8..6f32bf79aa42e48df7f5fe49486b4485ea47d153 100644 (file)
@@ -1,5 +1,6 @@
 #include "zcash/util.h"
 #include <algorithm>
+#include <stdexcept>
 
 std::vector<unsigned char> convertIntToVectorLE(const uint64_t val_int) {
     std::vector<unsigned char> bytes;
@@ -10,3 +11,35 @@ std::vector<unsigned char> convertIntToVectorLE(const uint64_t val_int) {
 
     return bytes;
 }
+
+// Convert bytes into boolean vector. (MSB to LSB)
+std::vector<bool> convertBytesVectorToVector(const std::vector<unsigned char>& bytes) {
+    std::vector<bool> ret;
+    ret.resize(bytes.size() * 8);
+
+    unsigned char c;
+    for (size_t i = 0; i < bytes.size(); i++) {
+        c = bytes.at(i);
+        for (size_t j = 0; j < 8; j++) {
+            ret.at((i*8)+j) = (c >> (7-j)) & 1;
+        }
+    }
+
+    return ret;
+}
+
+// Convert boolean vector (big endian) to integer
+uint64_t convertVectorToInt(const std::vector<bool>& v) {
+    if (v.size() > 64) {
+        throw std::length_error ("boolean vector can't be larger than 64 bits");
+    }
+
+    uint64_t result = 0;
+    for (size_t i=0; i<v.size();i++) {
+        if (v.at(i)) {
+            result |= (uint64_t)1 << ((v.size() - 1) - i);
+        }
+    }
+
+    return result;
+}
index 94aed3c72418bd44a32989ace64bd87529b62c9d..bbfeac1c38fdb6ebb2c0fc340f7d81c12f753942 100644 (file)
@@ -5,5 +5,7 @@
 #include <cstdint>
 
 std::vector<unsigned char> convertIntToVectorLE(const uint64_t val_int);
+std::vector<bool> convertBytesVectorToVector(const std::vector<unsigned char>& bytes);
+uint64_t convertVectorToInt(const std::vector<bool>& v);
 
 #endif // __ZCASH_UTIL_H
diff --git a/src/zerocash/.gitignore b/src/zerocash/.gitignore
deleted file mode 100644 (file)
index f4620b0..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-*.o
-*.d
-depinst/
-depsrc/
-
-libzerocash.a
-libzerocash.so
-
-zerocash_pour_ppzksnark/tests/test_zerocash_pour_ppzksnark
-zerocash_pour_ppzksnark/profiling/profile_zerocash_pour_gadget
-tests/zerocashTest
-tests/merkleTest
-tests/utilTest
-libzerocash/GenerateParamsForFiles
-zerocashTest-proving-key
-zerocashTest-verification-key
diff --git a/src/zerocash/AUTHORS b/src/zerocash/AUTHORS
deleted file mode 100644 (file)
index 3a23e18..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-Eli Ben-Sasson
-Alessandro Chiesa
-Christina Garman
-Matthew Green
-Ian Miers
-Eran Tromer
-Madars Virza
diff --git a/src/zerocash/LICENSE b/src/zerocash/LICENSE
deleted file mode 100644 (file)
index 72dc60d..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-The MIT License (MIT)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/src/zerocash/tests/full-test-suite.sh b/src/zerocash/tests/full-test-suite.sh
deleted file mode 100755 (executable)
index e721a9c..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/bash
-
-set -eu
-
-SUITE_EXIT_STATUS=0
-REPOROOT="$(readlink -f "$(dirname "$0")"/../)"
-
-function run_test_phase
-{
-    echo "===== BEGIN: $*"
-    set +e
-    eval "$@"
-    if [ $? -eq 0 ]
-    then
-        echo "===== PASSED: $*"
-    else
-        echo "===== FAILED: $*"
-        SUITE_EXIT_STATUS=1
-    fi
-    set -e
-}
-
-cd "${REPOROOT}"
-
-# Test phases:
-run_test_phase "${REPOROOT}/tests/utilTest"
-run_test_phase "${REPOROOT}/tests/zerocashTest"
-run_test_phase "${REPOROOT}/tests/merkleTest"
-run_test_phase "${REPOROOT}/zerocash_pour_ppzksnark/tests/test_zerocash_pour_ppzksnark"
-
-exit $SUITE_EXIT_STATUS
diff --git a/src/zerocash/tests/timer.cpp b/src/zerocash/tests/timer.cpp
deleted file mode 100644 (file)
index b5642f6..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/** @file
- *****************************************************************************
-
- Implementation of interfaces for a timer to profile executions.
-
- *****************************************************************************
- * @author     This file is part of libzerocash, developed by the Zerocash
- *             project and contributors (see AUTHORS).
- * @copyright  MIT license (see LICENSE file)
- *****************************************************************************/
-
-#include <stdio.h>
-#include <sys/time.h>
-
-#include "zerocash/tests/timer.h"
-
-namespace libzerocash {
-
-struct timeval tv_start;
-struct timeval tv_end;
-
-void timer_start() {
-    printf("%s\n", "Starting Timer");
-    gettimeofday(&tv_start, 0);
-}
-
-void timer_stop() {
-    float elapsed;
-    gettimeofday(&tv_end, 0);
-
-    elapsed = float(tv_end.tv_sec-tv_start.tv_sec) + (tv_end.tv_usec-tv_start.tv_usec)/float(1000000);
-    printf("%s [%fs]\n\n", "Stopping Timer", elapsed);
-}
-
-void timer_start(const std::string location) {
-    printf("%s %s\n", "(enter)", location.c_str());
-    gettimeofday(&tv_start, 0);
-}
-
-void timer_stop(const std::string location) {
-    float elapsed;
-    gettimeofday(&tv_end, 0);
-
-    elapsed = float(tv_end.tv_sec-tv_start.tv_sec) + (tv_end.tv_usec-tv_start.tv_usec)/float(1000000);
-    printf("%s %s [%fs]\n\n", "(leave)", location.c_str(), elapsed);
-}
-
-} /* namespace libzerocash */
diff --git a/src/zerocash/tests/timer.h b/src/zerocash/tests/timer.h
deleted file mode 100644 (file)
index ad9aef8..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-/** @file
- *****************************************************************************
-
- Declaration of interfaces for a timer to profile executions.
-
- *****************************************************************************
- * @author     This file is part of libzerocash, developed by the Zerocash
- *             project and contributors (see AUTHORS).
- * @copyright  MIT license (see LICENSE file)
- *****************************************************************************/
-
-#ifndef TIMER_H_
-#define TIMER_H_
-
-#include <string>
-
-namespace libzerocash {
-
-void timer_start();
-void timer_stop();
-
-void timer_start(const std::string location);
-void timer_stop(const std::string location);
-
-} /* namespace libzerocash */
-
-#endif /* TIMER_H_ */
-
diff --git a/src/zerocash/tests/utilTest.cpp b/src/zerocash/tests/utilTest.cpp
deleted file mode 100644 (file)
index 4bb6622..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-
-#define BOOST_TEST_MODULE utilTest
-#include <boost/test/included/unit_test.hpp>
-
-#include "zerocash/utils/util.h"
-#include "crypto/sha256.h"
-
-#include "uint256.h"
-#include "utilstrencodings.h"
-
-BOOST_AUTO_TEST_CASE( testConvertVectorToInt ) {
-    BOOST_CHECK(libzerocash::convertVectorToInt({0}) == 0);
-    BOOST_CHECK(libzerocash::convertVectorToInt({1}) == 1);
-    BOOST_CHECK(libzerocash::convertVectorToInt({0,1}) == 1);
-    BOOST_CHECK(libzerocash::convertVectorToInt({1,0}) == 2);
-    BOOST_CHECK(libzerocash::convertVectorToInt({1,1}) == 3);
-    BOOST_CHECK(libzerocash::convertVectorToInt({1,0,0}) == 4);
-    BOOST_CHECK(libzerocash::convertVectorToInt({1,0,1}) == 5);
-    BOOST_CHECK(libzerocash::convertVectorToInt({1,1,0}) == 6);
-
-    BOOST_CHECK_THROW(libzerocash::convertVectorToInt(std::vector<bool>(100)), std::length_error);
-
-    {
-        std::vector<bool> v(63, 1);
-        BOOST_CHECK(libzerocash::convertVectorToInt(v) == 0x7fffffffffffffff);
-    }
-
-    {
-        std::vector<bool> v(64, 1);
-        BOOST_CHECK(libzerocash::convertVectorToInt(v) == 0xffffffffffffffff);
-    }
-}
-
-BOOST_AUTO_TEST_CASE( testConvertBytesVectorToVector ) {
-    std::vector<unsigned char> bytes = {0x00, 0x01, 0x03, 0x12, 0xFF};
-    std::vector<bool> expected_bits = {
-        // 0x00
-        0, 0, 0, 0, 0, 0, 0, 0,
-        // 0x01
-        0, 0, 0, 0, 0, 0, 0, 1,
-        // 0x03
-        0, 0, 0, 0, 0, 0, 1, 1,
-        // 0x12
-        0, 0, 0, 1, 0, 0, 1, 0,
-        // 0xFF
-        1, 1, 1, 1, 1, 1, 1, 1
-    };
-    std::vector<bool> actual_bits;
-    libzerocash::convertBytesVectorToVector(bytes, actual_bits);
-    BOOST_CHECK(actual_bits == expected_bits);
-}
-
diff --git a/src/zerocash/utils/util.cpp b/src/zerocash/utils/util.cpp
deleted file mode 100644 (file)
index 53a5d3e..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#include <string>
-#include <iostream>
-#include <fstream>
-#include <exception>
-#include <cstring>
-#include <iomanip>
-#include <algorithm>
-
-#include <sodium.h>
-
-#include "util.h"
-
-namespace libzerocash {
-
-void convertBytesVectorToVector(const std::vector<unsigned char>& bytes, std::vector<bool>& v) {
-    v.resize(bytes.size() * 8);
-    unsigned char c;
-    for (size_t i = 0; i < bytes.size(); i++) {
-        c = bytes.at(i);
-        for (size_t j = 0; j < 8; j++) {
-            v.at((i*8)+j) = (c >> (7-j)) & 1;
-        }
-    }
-}
-
-uint64_t convertVectorToInt(const std::vector<bool>& v) {
-    if (v.size() > 64) {
-        throw std::length_error ("boolean vector can't be larger than 64 bits");
-    }
-
-    uint64_t result = 0;
-    for (size_t i=0; i<v.size();i++) {
-        if (v.at(i)) {
-            result |= (uint64_t)1 << ((v.size() - 1) - i);
-        }
-    }
-
-    return result;
-}
-
-} /* namespace libzerocash */
-
diff --git a/src/zerocash/utils/util.h b/src/zerocash/utils/util.h
deleted file mode 100644 (file)
index 2f95506..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef UTIL_H_
-#define UTIL_H_
-
-#include <string>
-#include <stdexcept>
-#include <vector>
-#include <cstdint>
-
-#include "crypto/sha256.h"
-
-namespace libzerocash {
-
-void convertBytesVectorToVector(const std::vector<unsigned char>& bytes, std::vector<bool>& v);
-
-uint64_t convertVectorToInt(const std::vector<bool>& v);
-
-} /* namespace libzerocash */
-#endif /* UTIL_H_ */
-
-
This page took 0.05457 seconds and 4 git commands to generate.