@@ -341,14 +341,19 @@ class query
341341 inline point_key get_point_key (const point_link& link) const NOEXCEPT;
342342 inline hash_digest get_point_hash (const point_link& link) const NOEXCEPT;
343343
344- // / False implies not confirmed.
345- bool get_tx_height (size_t & out, const tx_link& link) const NOEXCEPT;
344+ // / False position implies not confirmed (or fault).
346345 bool get_tx_position (size_t & out, const tx_link& link) const NOEXCEPT;
347- bool get_tx_sizes (size_t & light, size_t & is_locked,
346+ bool get_tx_height (size_t & out, const tx_link& link) const NOEXCEPT;
347+
348+ // / Sizes.
349+ size_t get_tx_size (const tx_link& link, bool witness) const NOEXCEPT;
350+ size_t get_block_size (const header_link& link, bool witness) const NOEXCEPT;
351+ bool get_block_sizes (size_t & light, size_t & heavy,
352+ const header_link& link) const NOEXCEPT;
353+ bool get_tx_sizes (size_t & light, size_t & heavy,
348354 const tx_link& link) const NOEXCEPT;
349355
350356 // / Terminal implies not found, false implies fault.
351- size_t get_block_size (const header_link& link) const NOEXCEPT;
352357 height_link get_height (const hash_digest& key) const NOEXCEPT;
353358 height_link get_height (const header_link& link) const NOEXCEPT;
354359 bool get_height (size_t & out, const hash_digest& key) const NOEXCEPT;
@@ -401,6 +406,12 @@ class query
401406 // / Fees.
402407 // / -----------------------------------------------------------------------
403408
409+ // / Virtual size incorporates witnesses if archived.
410+ bool get_tx_virtual_size (uint64_t & out,
411+ const tx_link& link) const NOEXCEPT;
412+ bool get_block_virtual_size (uint64_t & out,
413+ const header_link& link) const NOEXCEPT;
414+
404415 // / Total fee value by tx or block.
405416 uint64_t get_tx_fee (const tx_link& link) const NOEXCEPT;
406417 uint64_t get_block_fee (const header_link& link) const NOEXCEPT;
@@ -771,6 +782,7 @@ class query
771782 template <typename Functor>
772783 static inline code parallel_address_transform (std::atomic_bool& cancel,
773784 outpoints& out, const output_links& links, Functor&& functor) NOEXCEPT;
785+ static constexpr size_t virtual_size (size_t light, size_t heavy) NOEXCEPT;
774786
775787 // Not thread safe.
776788 size_t get_fork_ () const NOEXCEPT;
0 commit comments