2424#include < utility>
2525#include < bitcoin/system.hpp>
2626#include < bitcoin/database/define.hpp>
27- #include < bitcoin/database/error.hpp>
28- #include < bitcoin/database/primitives/primitives.hpp>
29- #include < bitcoin/database/tables/tables.hpp>
27+ #include < bitcoin/database/types.hpp>
3028
3129namespace libbitcoin {
3230namespace database {
3331
34- // / Database type aliases.
35- using height_link = table::height::link;
36- using header_link = table::header::link;
37- using output_link = table::output::link;
38- using input_link = table::input::link;
39- using outs_link = table::outs::link;
40- using ins_link = table::ins::link;
41- using point_link = table::point::link;
42- using tx_link = table::transaction::link;
43- using filter_link = table::filter_tx::link;
44- using strong_link = table::strong_tx::link;
45-
46- using header_links = std::vector<header_link::integer>;
47- using tx_links = std::vector<tx_link::integer>;
48- using input_links = std::vector<input_link::integer>;
49- using output_links = std::vector<output_link::integer>;
50- using point_links = std::vector<point_link::integer>;
51- using two_counts = std::pair<size_t , size_t >;
52- using point_key = table::point::key;
53-
54- struct header_state { header_link link; code ec; };
55- using header_states = std::vector<header_state>;
56-
5732// Writers (non-const) are only: push_, pop_, set_ and initialize.
5833template <typename Store>
5934class query
@@ -66,7 +41,6 @@ class query
6641 using point = system::chain::point;
6742 using input = system::chain::input;
6843 using output = system::chain::output;
69- using outpoint = system::chain::outpoint;
7044 using header = system::chain::header;
7145 using script = system::chain::script;
7246 using witness = system::chain::witness;
@@ -396,14 +370,17 @@ class query
396370 input::cptr get_input (const tx_link& link, uint32_t index,
397371 bool witness) const NOEXCEPT;
398372
399- point get_spender (const point_link& link) const NOEXCEPT;
400- outpoint get_spent (const output_link& link) const NOEXCEPT;
401373 script::cptr get_output_script (const output_link& link) const NOEXCEPT;
402374 output::cptr get_output (const output_link& link) const NOEXCEPT;
403375 output::cptr get_output (const tx_link& link, uint32_t index) const NOEXCEPT;
404376 inputs_ptr get_spenders (const output_link& link,
405377 bool witness) const NOEXCEPT;
406378
379+ // / Inpoint and outpoint result sets.
380+ outpoint get_spent (const output_link& link) const NOEXCEPT;
381+ inpoint get_spender (const point_link& link) const NOEXCEPT;
382+ inpoints get_spenders (const point& point) const NOEXCEPT;
383+
407384 // / False implies missing prevouts, node input.metadata is populated.
408385 bool populate_with_metadata (const input& input) const NOEXCEPT;
409386 bool populate_with_metadata (const block& block) const NOEXCEPT;
@@ -652,7 +629,7 @@ class query
652629 const context& ctx) const NOEXCEPT;
653630
654631 // / Called by block_confirmable (populate and check double spends).
655- error:: error_t unspendable (uint32_t sequence, bool coinbase,
632+ code unspendable (uint32_t sequence, bool coinbase,
656633 const tx_link& prevout_tx, uint32_t version,
657634 const context& ctx) const NOEXCEPT;
658635
0 commit comments