3#include <eosio/multi_index.hpp> 
    4#include <eosio/name.hpp> 
    5#include <eosio/time.hpp> 
   54   std::optional<block_batch_info> 
result;
 
   86                                                           eosio::name system_account_name = 
"eosio"_n)
 
   90   if (batch_size == 0) {
 
   99   if (t.cbegin() == t.cend()) {
 
  105   auto latest_block_info_itr = --t.cend();
 
  107   if (latest_block_info_itr->version != 0) {
 
  114   uint32_t latest_block_batch_end_height = latest_block_info_itr->block_height;
 
  116   if (latest_block_batch_end_height < batch_start_height_offset) {
 
  124   uint32_t latest_block_batch_start_height =
 
  125      latest_block_batch_end_height - ((latest_block_batch_end_height - batch_start_height_offset) % batch_size);
 
  129   if (latest_block_batch_start_height == latest_block_batch_end_height) {
 
  135         .batch_start_timestamp       = latest_block_info_itr->block_timestamp,
 
  136         .batch_current_end_height    = latest_block_batch_end_height,
 
  137         .batch_current_end_timestamp = latest_block_info_itr->block_timestamp,
 
  144   auto start_block_info_itr = t.find(latest_block_batch_start_height);
 
  145   if (start_block_info_itr == t.cend() || start_block_info_itr->block_height != latest_block_batch_start_height) {
 
  157   if (start_block_info_itr->version != 0) {
 
  168      .batch_start_timestamp       = start_block_info_itr->block_timestamp,
 
  169      .batch_current_end_height    = latest_block_batch_end_height,
 
  170      .batch_current_end_timestamp = latest_block_info_itr->block_timestamp,
 
contract
Definition: eosio.msig_tests.cpp:977
 
Definition: eosio.msig.hpp:34
 
Definition: block_info.hpp:10
 
latest_block_batch_info_result get_latest_block_batch_info(uint32_t batch_start_height_offset, uint32_t batch_size, eosio::name system_account_name="eosio"_n)
Definition: block_info.hpp:84
 
static constexpr uint32_t rolling_window_size
Definition: block_info.hpp:12
 
eosio::multi_index<"blockinfo"_n, block_info_record > block_info_table
Definition: block_info.hpp:34
 
eosio::time_point time_point
Definition: blockinfo_tester.hpp:30
 
Definition: block_info.hpp:37
 
uint32_t batch_current_end_height
Definition: block_info.hpp:40
 
uint32_t batch_start_height
Definition: block_info.hpp:38
 
eosio::time_point batch_current_end_timestamp
Definition: block_info.hpp:41
 
eosio::time_point batch_start_timestamp
Definition: block_info.hpp:39
 
Definition: block_info.hpp:24
 
uint32_t block_height
Definition: block_info.hpp:26
 
uint64_t primary_key() const
Definition: block_info.hpp:29
 
eosio::time_point block_timestamp
Definition: block_info.hpp:27
 
Definition: block_info.hpp:45
 
error_code_enum
Definition: block_info.hpp:47
 
@ no_error
Definition: block_info.hpp:48
 
@ unsupported_version
Definition: block_info.hpp:50
 
@ invalid_input
Definition: block_info.hpp:49
 
@ insufficient_data
Definition: block_info.hpp:51
 
std::optional< block_batch_info > result
Definition: block_info.hpp:54
 
error_code_enum error_code
Definition: block_info.hpp:55