diff --git a/libraries/app/api.cpp b/libraries/app/api.cpp index facb97c0..5789bdde 100644 --- a/libraries/app/api.cpp +++ b/libraries/app/api.cpp @@ -31,11 +31,11 @@ #include #include #include +#include #include #include #include #include -#include #include #include diff --git a/libraries/app/include/graphene/app/database_api.hpp b/libraries/app/include/graphene/app/database_api.hpp index c896ee9e..456e0bae 100644 --- a/libraries/app/include/graphene/app/database_api.hpp +++ b/libraries/app/include/graphene/app/database_api.hpp @@ -34,12 +34,12 @@ #include #include #include +#include #include #include #include #include #include -#include #include diff --git a/libraries/chain/confidential_evaluator.cpp b/libraries/chain/confidential_evaluator.cpp index 6fd1eacd..bcfef1e9 100644 --- a/libraries/chain/confidential_evaluator.cpp +++ b/libraries/chain/confidential_evaluator.cpp @@ -24,6 +24,7 @@ #include #include #include +#include #include namespace graphene { namespace chain { diff --git a/libraries/chain/db_init.cpp b/libraries/chain/db_init.cpp index 359e29ec..cdc4182c 100644 --- a/libraries/chain/db_init.cpp +++ b/libraries/chain/db_init.cpp @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include @@ -45,8 +46,10 @@ #include #include #include -#include +#include #include +#include +#include #include #include #include @@ -54,8 +57,6 @@ #include #include #include -#include -#include #include diff --git a/libraries/chain/include/graphene/chain/confidential_evaluator.hpp b/libraries/chain/include/graphene/chain/confidential_evaluator.hpp index 4070219e..1f047c09 100644 --- a/libraries/chain/include/graphene/chain/confidential_evaluator.hpp +++ b/libraries/chain/include/graphene/chain/confidential_evaluator.hpp @@ -23,44 +23,12 @@ */ #pragma once #include -#include -#include namespace graphene { namespace chain { -/** - * @class blinded_balance_object - * @brief tracks a blinded balance commitment - * @ingroup object - * @ingroup protocol - */ -class blinded_balance_object : public graphene::db::abstract_object -{ - public: - static const uint8_t space_id = implementation_ids; - static const uint8_t type_id = impl_blinded_balance_object_type; - - fc::ecc::commitment_type commitment; - asset_id_type asset_id; - authority owner; -}; - -struct by_asset; -struct by_owner; -struct by_commitment; - -/** - * @ingroup object_index - */ -typedef multi_index_container< - blinded_balance_object, - indexed_by< - ordered_unique< tag, member< object, object_id_type, &object::id > >, - ordered_unique< tag, member > - > -> blinded_balance_object_multi_index_type; -typedef generic_index blinded_balance_index; - +class transfer_to_blind_operation; +class transfer_from_blind_operation; +class blind_transfer_operation; class transfer_to_blind_evaluator : public evaluator { @@ -90,5 +58,3 @@ class blind_transfer_evaluator : public evaluator }; } } // namespace graphene::chain - -FC_REFLECT_DERIVED( graphene::chain::blinded_balance_object, (graphene::db::object), (commitment)(asset_id)(owner) ) diff --git a/libraries/chain/include/graphene/chain/confidential_object.hpp b/libraries/chain/include/graphene/chain/confidential_object.hpp new file mode 100644 index 00000000..f98e20a9 --- /dev/null +++ b/libraries/chain/include/graphene/chain/confidential_object.hpp @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2015 Cryptonomex, Inc., and contributors. + * + * The MIT License + * + * 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. + */ +#pragma once + +#include +#include + +#include +#include + +#include + +namespace graphene { namespace chain { + +/** + * @class blinded_balance_object + * @brief tracks a blinded balance commitment + * @ingroup object + * @ingroup protocol + */ +class blinded_balance_object : public graphene::db::abstract_object +{ + public: + static const uint8_t space_id = implementation_ids; + static const uint8_t type_id = impl_blinded_balance_object_type; + + fc::ecc::commitment_type commitment; + asset_id_type asset_id; + authority owner; +}; + +struct by_asset; +struct by_owner; +struct by_commitment; + +/** + * @ingroup object_index + */ +typedef multi_index_container< + blinded_balance_object, + indexed_by< + ordered_unique< tag, member< object, object_id_type, &object::id > >, + ordered_unique< tag, member > + > +> blinded_balance_object_multi_index_type; +typedef generic_index blinded_balance_index; + +} } // graphene::chain + +FC_REFLECT_DERIVED( graphene::chain::blinded_balance_object, (graphene::db::object), (commitment)(asset_id)(owner) )