BitShares-Core
7.0.2
BitShares blockchain node software and command-line wallet software
libraries
protocol
include
graphene
protocol
special_authority.hpp
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2015 Cryptonomex, Inc., and contributors.
3
*
4
* The MIT License
5
*
6
* Permission is hereby granted, free of charge, to any person obtaining a copy
7
* of this software and associated documentation files (the "Software"), to deal
8
* in the Software without restriction, including without limitation the rights
9
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
* copies of the Software, and to permit persons to whom the Software is
11
* furnished to do so, subject to the following conditions:
12
*
13
* The above copyright notice and this permission notice shall be included in
14
* all copies or substantial portions of the Software.
15
*
16
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
* THE SOFTWARE.
23
*/
24
#pragma once
25
26
#include <
graphene/protocol/types.hpp
>
27
28
namespace
graphene
{
namespace
protocol {
29
30
struct
no_special_authority
{};
31
32
struct
top_holders_special_authority
33
{
34
asset_id_type
asset
;
35
uint8_t
num_top_holders
= 1;
36
};
37
38
typedef
static_variant
<
39
no_special_authority
,
40
top_holders_special_authority
41
>
special_authority
;
42
43
void
validate_special_authority
(
const
special_authority
& auth );
44
45
} }
// graphene::protocol
46
47
FC_REFLECT
(
graphene::protocol::no_special_authority
, )
48
FC_REFLECT
(
graphene
::protocol::top_holders_special_authority, (asset)(num_top_holders) )
49
FC_REFLECT_TYPENAME
(
graphene
::protocol::
special_authority
)
50
51
GRAPHENE_DECLARE_EXTERNAL_SERIALIZATION
(
graphene
::protocol::top_holders_special_authority )
graphene::protocol::special_authority
static_variant< no_special_authority, top_holders_special_authority > special_authority
Definition:
special_authority.hpp:41
fc::static_variant
Definition:
raw_fwd.hpp:27
FC_REFLECT_TYPENAME
FC_REFLECT_TYPENAME(fc::log_message)
graphene::protocol::validate_special_authority
void validate_special_authority(const special_authority &auth)
Definition:
special_authority.cpp:43
types.hpp
graphene::protocol::top_holders_special_authority::asset
asset_id_type asset
Definition:
special_authority.hpp:34
graphene::protocol::no_special_authority
Definition:
special_authority.hpp:30
GRAPHENE_DECLARE_EXTERNAL_SERIALIZATION
#define GRAPHENE_DECLARE_EXTERNAL_SERIALIZATION(type)
Definition:
types.hpp:85
graphene::protocol::top_holders_special_authority
Definition:
special_authority.hpp:32
FC_REFLECT
#define FC_REFLECT(TYPE, MEMBERS)
Specializes fc::reflector for TYPE.
Definition:
reflect.hpp:388
graphene
Definition:
api.cpp:48
graphene::protocol::top_holders_special_authority::num_top_holders
uint8_t num_top_holders
Definition:
special_authority.hpp:35
Generated on Fri Dec 15 2023 06:12:43 for BitShares-Core by
1.8.17