veriblock-pop-cpp
C++11 Libraries for leveraging VeriBlock Proof-Of-Proof blockchain technology.
vtb.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_ENTITIES_VTB_H
7#define VERIBLOCK_POP_CPP_C_ENTITIES_VTB_H
8
9#include "veriblock/pop/c/array.h"
10#include "veriblock/pop/c/entities/serde.h"
11#include "veriblock/pop/c/entities/vbkblock.h"
12#include "veriblock/pop/c/type_helpers.h"
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18POP_DECLARE_ENTITY(vtb);
19
20POP_ENTITY_GETTER_FUNCTION(vtb, POP_ARRAY_NAME(u8), id);
21POP_ENTITY_GETTER_FUNCTION(vtb,
22 const POP_ENTITY_NAME(vbk_block) *,
23 containing_block);
24
25POP_ENTITY_TO_JSON(vtb);
26
27POP_ENTITY_SERIALIZE_TO_VBK(vtb);
28POP_ENTITY_DESERIALIZE_FROM_VBK(vtb);
29
30POP_DECLARE_ARRAY(POP_ENTITY_NAME(vtb) *, vtb);
31
32POP_GENERATE_DEFAULT_VALUE(vtb);
33
34#ifdef __cplusplus
35}
36#endif
37
38#endif