6#ifndef VERIBLOCK_POP_CPP_C_MOCK_MINER_H
7#define VERIBLOCK_POP_CPP_C_MOCK_MINER_H
9#include "veriblock/pop/c/entities/atv.h"
10#include "veriblock/pop/c/entities/btcblock.h"
11#include "veriblock/pop/c/entities/publication_data.h"
12#include "veriblock/pop/c/entities/vbkblock.h"
13#include "veriblock/pop/c/entities/vtb.h"
14#include "veriblock/pop/c/type_helpers.h"
20POP_DECLARE_ENTITY(mock_miner);
22POP_ENTITY_NEW_FUNCTION(mock_miner);
32POP_ENTITY_CUSTOM_FUNCTION(mock_miner,
33 POP_ENTITY_NAME(btc_block) *,
35 const POP_ENTITY_NAME(btc_block) * tip);
44POP_ENTITY_CUSTOM_FUNCTION(mock_miner,
45 POP_ENTITY_NAME(btc_block) *,
56POP_ENTITY_CUSTOM_FUNCTION(mock_miner,
57 POP_ENTITY_NAME(vbk_block) *,
59 const POP_ENTITY_NAME(vbk_block) * tip);
68POP_ENTITY_CUSTOM_FUNCTION(mock_miner,
69 POP_ENTITY_NAME(vbk_block) *,
81POP_ENTITY_CUSTOM_FUNCTION(mock_miner,
82 POP_ENTITY_NAME(atv) *,
84 const POP_ENTITY_NAME(publication_data) * pub_data);
96POP_ENTITY_CUSTOM_FUNCTION(mock_miner,
97 POP_ENTITY_NAME(vtb) *,
99 const POP_ENTITY_NAME(vbk_block) * endorsed_block,
100 const POP_ENTITY_NAME(btc_block) *
101 last_known_btc_block);