Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,6 @@ include_bitcoin_database_impl_query_HEADERS = \
include/bitcoin/database/impl/query/properties_tx.ipp \
include/bitcoin/database/impl/query/query.ipp \
include/bitcoin/database/impl/query/sequences.ipp \
include/bitcoin/database/impl/query/signatures.ipp \
include/bitcoin/database/impl/query/sizes.ipp

include_bitcoin_database_impl_query_addressdir = ${includedir}/bitcoin/database/impl/query/address
Expand All @@ -235,6 +234,12 @@ include_bitcoin_database_impl_query_archive_HEADERS = \
include/bitcoin/database/impl/query/archive/wire_reader.ipp \
include/bitcoin/database/impl/query/archive/wire_writer.ipp

include_bitcoin_database_impl_query_batchdir = ${includedir}/bitcoin/database/impl/query/batch
include_bitcoin_database_impl_query_batch_HEADERS = \
include/bitcoin/database/impl/query/batch/ecdsa.ipp \
include/bitcoin/database/impl/query/batch/schnorr.ipp \
include/bitcoin/database/impl/query/batch/silent.ipp

include_bitcoin_database_impl_query_consensusdir = ${includedir}/bitcoin/database/impl/query/consensus
include_bitcoin_database_impl_query_consensus_HEADERS = \
include/bitcoin/database/impl/query/consensus/consensus_block.ipp \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,9 @@
<None Include="..\..\..\..\include\bitcoin\database\impl\query\archive\chain_writer.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\query\archive\wire_reader.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\query\archive\wire_writer.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\query\batch\ecdsa.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\query\batch\schnorr.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\query\batch\silent.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\query\confirmed.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\query\consensus\consensus_block.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\query\consensus\consensus_chain_state.ipp" />
Expand Down Expand Up @@ -264,7 +267,6 @@
<None Include="..\..\..\..\include\bitcoin\database\impl\query\properties_tx.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\query\query.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\query\sequences.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\query\signatures.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\query\sizes.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_backup.ipp" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,63 +37,66 @@
<Filter Include="include\bitcoin\database\impl\query\archive">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-000000000009}</UniqueIdentifier>
</Filter>
<Filter Include="include\bitcoin\database\impl\query\consensus">
<Filter Include="include\bitcoin\database\impl\query\batch">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-00000000000A}</UniqueIdentifier>
</Filter>
<Filter Include="include\bitcoin\database\impl\query\navigate">
<Filter Include="include\bitcoin\database\impl\query\consensus">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-00000000000B}</UniqueIdentifier>
</Filter>
<Filter Include="include\bitcoin\database\impl\store">
<Filter Include="include\bitcoin\database\impl\query\navigate">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-00000000000C}</UniqueIdentifier>
</Filter>
<Filter Include="include\bitcoin\database\locks">
<Filter Include="include\bitcoin\database\impl\store">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-00000000000D}</UniqueIdentifier>
</Filter>
<Filter Include="include\bitcoin\database\memory">
<Filter Include="include\bitcoin\database\locks">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-00000000000E}</UniqueIdentifier>
</Filter>
<Filter Include="include\bitcoin\database\memory\interfaces">
<Filter Include="include\bitcoin\database\memory">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-00000000000F}</UniqueIdentifier>
</Filter>
<Filter Include="include\bitcoin\database\primitives">
<Filter Include="include\bitcoin\database\memory\interfaces">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-000000000001}</UniqueIdentifier>
</Filter>
<Filter Include="include\bitcoin\database\tables">
<Filter Include="include\bitcoin\database\primitives">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-000000000002}</UniqueIdentifier>
</Filter>
<Filter Include="include\bitcoin\database\tables\archives">
<Filter Include="include\bitcoin\database\tables">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-000000000003}</UniqueIdentifier>
</Filter>
<Filter Include="include\bitcoin\database\tables\caches">
<Filter Include="include\bitcoin\database\tables\archives">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-000000000004}</UniqueIdentifier>
</Filter>
<Filter Include="include\bitcoin\database\tables\indexes">
<Filter Include="include\bitcoin\database\tables\caches">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-000000000005}</UniqueIdentifier>
</Filter>
<Filter Include="include\bitcoin\database\tables\optionals">
<Filter Include="include\bitcoin\database\tables\indexes">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-000000000006}</UniqueIdentifier>
</Filter>
<Filter Include="include\bitcoin\database\types">
<Filter Include="include\bitcoin\database\tables\optionals">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-000000000007}</UniqueIdentifier>
</Filter>
<Filter Include="src">
<Filter Include="include\bitcoin\database\types">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-000000000008}</UniqueIdentifier>
</Filter>
<Filter Include="src\file">
<Filter Include="src">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-000000000009}</UniqueIdentifier>
</Filter>
<Filter Include="src\locks">
<Filter Include="src\file">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-000000000010}</UniqueIdentifier>
</Filter>
<Filter Include="src\memory">
<Filter Include="src\locks">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-0000000000A1}</UniqueIdentifier>
</Filter>
<Filter Include="src\memory\mman-win32">
<Filter Include="src\memory">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-0000000000B1}</UniqueIdentifier>
</Filter>
<Filter Include="src\types">
<Filter Include="src\memory\mman-win32">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-0000000000C1}</UniqueIdentifier>
</Filter>
<Filter Include="src\types">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-0000000000D1}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\src\define.cpp">
Expand Down Expand Up @@ -424,6 +427,15 @@
<None Include="..\..\..\..\include\bitcoin\database\impl\query\archive\wire_writer.ipp">
<Filter>include\bitcoin\database\impl\query\archive</Filter>
</None>
<None Include="..\..\..\..\include\bitcoin\database\impl\query\batch\ecdsa.ipp">
<Filter>include\bitcoin\database\impl\query\batch</Filter>
</None>
<None Include="..\..\..\..\include\bitcoin\database\impl\query\batch\schnorr.ipp">
<Filter>include\bitcoin\database\impl\query\batch</Filter>
</None>
<None Include="..\..\..\..\include\bitcoin\database\impl\query\batch\silent.ipp">
<Filter>include\bitcoin\database\impl\query\batch</Filter>
</None>
<None Include="..\..\..\..\include\bitcoin\database\impl\query\confirmed.ipp">
<Filter>include\bitcoin\database\impl\query</Filter>
</None>
Expand Down Expand Up @@ -505,9 +517,6 @@
<None Include="..\..\..\..\include\bitcoin\database\impl\query\sequences.ipp">
<Filter>include\bitcoin\database\impl\query</Filter>
</None>
<None Include="..\..\..\..\include\bitcoin\database\impl\query\signatures.ipp">
<Filter>include\bitcoin\database\impl\query</Filter>
</None>
<None Include="..\..\..\..\include\bitcoin\database\impl\query\sizes.ipp">
<Filter>include\bitcoin\database\impl\query</Filter>
</None>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,9 @@
<None Include="..\..\..\..\include\bitcoin\database\impl\query\archive\chain_writer.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\query\archive\wire_reader.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\query\archive\wire_writer.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\query\batch\ecdsa.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\query\batch\schnorr.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\query\batch\silent.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\query\confirmed.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\query\consensus\consensus_block.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\query\consensus\consensus_chain_state.ipp" />
Expand Down Expand Up @@ -264,7 +267,6 @@
<None Include="..\..\..\..\include\bitcoin\database\impl\query\properties_tx.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\query\query.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\query\sequences.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\query\signatures.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\query\sizes.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store.ipp" />
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_backup.ipp" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,63 +37,66 @@
<Filter Include="include\bitcoin\database\impl\query\archive">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-000000000009}</UniqueIdentifier>
</Filter>
<Filter Include="include\bitcoin\database\impl\query\consensus">
<Filter Include="include\bitcoin\database\impl\query\batch">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-00000000000A}</UniqueIdentifier>
</Filter>
<Filter Include="include\bitcoin\database\impl\query\navigate">
<Filter Include="include\bitcoin\database\impl\query\consensus">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-00000000000B}</UniqueIdentifier>
</Filter>
<Filter Include="include\bitcoin\database\impl\store">
<Filter Include="include\bitcoin\database\impl\query\navigate">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-00000000000C}</UniqueIdentifier>
</Filter>
<Filter Include="include\bitcoin\database\locks">
<Filter Include="include\bitcoin\database\impl\store">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-00000000000D}</UniqueIdentifier>
</Filter>
<Filter Include="include\bitcoin\database\memory">
<Filter Include="include\bitcoin\database\locks">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-00000000000E}</UniqueIdentifier>
</Filter>
<Filter Include="include\bitcoin\database\memory\interfaces">
<Filter Include="include\bitcoin\database\memory">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-00000000000F}</UniqueIdentifier>
</Filter>
<Filter Include="include\bitcoin\database\primitives">
<Filter Include="include\bitcoin\database\memory\interfaces">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-000000000001}</UniqueIdentifier>
</Filter>
<Filter Include="include\bitcoin\database\tables">
<Filter Include="include\bitcoin\database\primitives">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-000000000002}</UniqueIdentifier>
</Filter>
<Filter Include="include\bitcoin\database\tables\archives">
<Filter Include="include\bitcoin\database\tables">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-000000000003}</UniqueIdentifier>
</Filter>
<Filter Include="include\bitcoin\database\tables\caches">
<Filter Include="include\bitcoin\database\tables\archives">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-000000000004}</UniqueIdentifier>
</Filter>
<Filter Include="include\bitcoin\database\tables\indexes">
<Filter Include="include\bitcoin\database\tables\caches">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-000000000005}</UniqueIdentifier>
</Filter>
<Filter Include="include\bitcoin\database\tables\optionals">
<Filter Include="include\bitcoin\database\tables\indexes">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-000000000006}</UniqueIdentifier>
</Filter>
<Filter Include="include\bitcoin\database\types">
<Filter Include="include\bitcoin\database\tables\optionals">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-000000000007}</UniqueIdentifier>
</Filter>
<Filter Include="src">
<Filter Include="include\bitcoin\database\types">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-000000000008}</UniqueIdentifier>
</Filter>
<Filter Include="src\file">
<Filter Include="src">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-000000000009}</UniqueIdentifier>
</Filter>
<Filter Include="src\locks">
<Filter Include="src\file">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-000000000010}</UniqueIdentifier>
</Filter>
<Filter Include="src\memory">
<Filter Include="src\locks">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-0000000000A1}</UniqueIdentifier>
</Filter>
<Filter Include="src\memory\mman-win32">
<Filter Include="src\memory">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-0000000000B1}</UniqueIdentifier>
</Filter>
<Filter Include="src\types">
<Filter Include="src\memory\mman-win32">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-0000000000C1}</UniqueIdentifier>
</Filter>
<Filter Include="src\types">
<UniqueIdentifier>{62D7FBEE-4D52-424A-0000-0000000000D1}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\src\define.cpp">
Expand Down Expand Up @@ -424,6 +427,15 @@
<None Include="..\..\..\..\include\bitcoin\database\impl\query\archive\wire_writer.ipp">
<Filter>include\bitcoin\database\impl\query\archive</Filter>
</None>
<None Include="..\..\..\..\include\bitcoin\database\impl\query\batch\ecdsa.ipp">
<Filter>include\bitcoin\database\impl\query\batch</Filter>
</None>
<None Include="..\..\..\..\include\bitcoin\database\impl\query\batch\schnorr.ipp">
<Filter>include\bitcoin\database\impl\query\batch</Filter>
</None>
<None Include="..\..\..\..\include\bitcoin\database\impl\query\batch\silent.ipp">
<Filter>include\bitcoin\database\impl\query\batch</Filter>
</None>
<None Include="..\..\..\..\include\bitcoin\database\impl\query\confirmed.ipp">
<Filter>include\bitcoin\database\impl\query</Filter>
</None>
Expand Down Expand Up @@ -505,9 +517,6 @@
<None Include="..\..\..\..\include\bitcoin\database\impl\query\sequences.ipp">
<Filter>include\bitcoin\database\impl\query</Filter>
</None>
<None Include="..\..\..\..\include\bitcoin\database\impl\query\signatures.ipp">
<Filter>include\bitcoin\database\impl\query</Filter>
</None>
<None Include="..\..\..\..\include\bitcoin\database\impl\query\sizes.ipp">
<Filter>include\bitcoin\database\impl\query</Filter>
</None>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef LIBBITCOIN_DATABASE_QUERY_SIGNATURES_IPP
#define LIBBITCOIN_DATABASE_QUERY_SIGNATURES_IPP
#ifndef LIBBITCOIN_DATABASE_QUERY_BATCH_ECDSA_IPP
#define LIBBITCOIN_DATABASE_QUERY_BATCH_ECDSA_IPP

#include <bitcoin/database/define.hpp>
#include <bitcoin/database/types/types.hpp>
Expand All @@ -38,19 +38,6 @@ bool CLASS::verify_ecdsa_signatures(const stopper& cancel,
return !cancel;
}

TEMPLATE
bool CLASS::verify_schnorr_signatures(const stopper& cancel,
header_links& links) NOEXCEPT
{
// False return only implies canceled.
using batch = system::schnorr::batch;
const auto count = store_.schnorr.count().value;
const auto ptr = store_.schnorr.get_memory();
const auto rows = system::pointer_cast<const batch>(ptr->data());
links = batch::verify(cancel, { rows, count });
return !cancel;
}

// setters
// ----------------------------------------------------------------------------

Expand All @@ -63,15 +50,6 @@ bool CLASS::purge_ecdsa_signatures() NOEXCEPT
// ========================================================================
}

TEMPLATE
bool CLASS::purge_schnorr_signatures() NOEXCEPT
{
// ========================================================================
const auto scope = store_.get_transactor();
return store_.schnorr.truncate(0);
// ========================================================================
}

TEMPLATE
bool CLASS::set_signature(const hash_digest& digest, const ec_compressed& point,
const ec_signature& signature, uint16_t id, const header_link& link) NOEXCEPT
Expand All @@ -92,26 +70,6 @@ bool CLASS::set_signature(const hash_digest& digest, const ec_compressed& point,
// ========================================================================
}

TEMPLATE
bool CLASS::set_signature(const hash_digest& digest, const ec_xonly& point,
const ec_signature& signature, uint16_t id, const header_link& link) NOEXCEPT
{
// ========================================================================
const auto scope = store_.get_transactor();

// Clean single allocation failure (e.g. disk full).
return store_.schnorr.put(table::schnorr::put_single_ref
{
{},
digest,
point,
signature,
id,
link
});
// ========================================================================
}

TEMPLATE
bool CLASS::set_signatures(const hash_digest& digest,
const ec_compresseds& keys, const ec_signatures& sigs, uint16_t id,
Expand All @@ -133,24 +91,6 @@ bool CLASS::set_signatures(const hash_digest& digest,
// ========================================================================
}

TEMPLATE
bool CLASS::set_signatures(const threshold& batch, uint16_t id,
const header_link& link) NOEXCEPT
{
// ========================================================================
const auto scope = store_.get_transactor();

// Clean single allocation failure (e.g. disk full).
return store_.schnorr.put(table::schnorr::put_multiple_ref
{
{},
batch,
id,
link
});
// ========================================================================
}

} // namespace database
} // namespace libbitcoin

Expand Down
Loading
Loading