#include "gmock/gmock.h" #include "crypto/common.h" #include "key.h" #include "pubkey.h" #include "zcash/JoinSplit.hpp" #include "util.h" #include #include #include "librustzcash.h" struct ECCryptoClosure { ECCVerifyHandle handle; }; ECCryptoClosure instance_of_eccryptoclosure; ZCJoinSplit* params; int main(int argc, char **argv) { assert(init_and_check_sodium() != -1); ECC_Start(); libsnark::default_r1cs_ppzksnark_pp::init_public_params(); libsnark::inhibit_profiling_info = true; libsnark::inhibit_profiling_counters = true; boost::filesystem::path pk_path = ZC_GetParamsDir() / "sprout-proving.key"; boost::filesystem::path vk_path = ZC_GetParamsDir() / "sprout-verifying.key"; params = ZCJoinSplit::Prepared(vk_path.string(), pk_path.string()); boost::filesystem::path sapling_spend = ZC_GetParamsDir() / "sapling-spend-testnet.params"; boost::filesystem::path sapling_output = ZC_GetParamsDir() / "sapling-output-testnet.params"; boost::filesystem::path sprout_groth16 = ZC_GetParamsDir() / "sprout-groth16-testnet.params"; std::string sapling_spend_str = sapling_spend.string(); std::string sapling_output_str = sapling_output.string(); std::string sprout_groth16_str = sprout_groth16.string(); librustzcash_init_zksnark_params( sapling_spend_str.c_str(), sapling_output_str.c_str(), sprout_groth16_str.c_str() ); testing::InitGoogleMock(&argc, argv); auto ret = RUN_ALL_TESTS(); ECC_Stop(); return ret; }