veriblock-pop-cpp
C++11 Libraries for leveraging VeriBlock Proof-Of-Proof blockchain technology.
mock_miner.h
1// Copyright (c) 2019-2022 Xenios SEZC
2// https://www.veriblock.org
3// Distributed under the MIT software license, see the accompanying
4// file LICENSE or http://www.opensource.org/licenses/mit-license.php.
5
6#ifndef VERIBLOCK_POP_CPP_C_MOCK_MINER_H
7#define VERIBLOCK_POP_CPP_C_MOCK_MINER_H
8
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"
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20POP_DECLARE_ENTITY(mock_miner);
21
22POP_ENTITY_NEW_FUNCTION(mock_miner);
23
32POP_ENTITY_CUSTOM_FUNCTION(mock_miner,
33 POP_ENTITY_NAME(btc_block) *,
34 mineBtcBlock,
35 const POP_ENTITY_NAME(btc_block) * tip);
36
44POP_ENTITY_CUSTOM_FUNCTION(mock_miner,
45 POP_ENTITY_NAME(btc_block) *,
46 mineBtcBlockTip);
47
56POP_ENTITY_CUSTOM_FUNCTION(mock_miner,
57 POP_ENTITY_NAME(vbk_block) *,
58 mineVbkBlock,
59 const POP_ENTITY_NAME(vbk_block) * tip);
60
68POP_ENTITY_CUSTOM_FUNCTION(mock_miner,
69 POP_ENTITY_NAME(vbk_block) *,
70 mineVbkBlockTip);
71
81POP_ENTITY_CUSTOM_FUNCTION(mock_miner,
82 POP_ENTITY_NAME(atv) *,
83 mineATV,
84 const POP_ENTITY_NAME(publication_data) * pub_data);
85
96POP_ENTITY_CUSTOM_FUNCTION(mock_miner,
97 POP_ENTITY_NAME(vtb) *,
98 mineVTB,
99 const POP_ENTITY_NAME(vbk_block) * endorsed_block,
100 const POP_ENTITY_NAME(btc_block) *
101 last_known_btc_block);
102
103#ifdef __cplusplus
104} // end of extern "C"
105#endif
106
107#endif