BitShares-Core
7.0.2
BitShares blockchain node software and command-line wallet software
libraries
chain
special_authority_evaluation.cpp
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
25
#include <
graphene/chain/special_authority_evaluation.hpp
>
26
#include <
graphene/chain/database.hpp
>
27
28
namespace
graphene
{
namespace
chain {
29
30
struct
special_authority_evaluate_visitor
31
{
32
typedef
void
result_type
;
33
34
special_authority_evaluate_visitor
(
const
database
& d ) :
db
(d) {}
35
36
void
operator()
(
const
no_special_authority
& a ) {}
37
38
void
operator()
(
const
top_holders_special_authority
& a )
39
{
40
db
.
get
(a.
asset
);
// require asset to exist
41
}
42
43
const
database
&
db
;
44
};
45
46
void
evaluate_special_authority
(
const
database
& db,
const
special_authority
& a )
47
{
48
special_authority_evaluate_visitor
vtor( db );
49
a.
visit
( vtor );
50
}
51
52
} }
// graphene::chain
graphene::chain::database
tracks the blockchain state in an extensible manner
Definition:
database.hpp:70
graphene::db::object_database::get
const T & get(const object_id_type &id) const
Definition:
object_database.hpp:119
database.hpp
fc::static_variant
Definition:
raw_fwd.hpp:27
graphene::chain::special_authority_evaluate_visitor
Definition:
special_authority_evaluation.cpp:30
graphene::chain::special_authority_evaluate_visitor::special_authority_evaluate_visitor
special_authority_evaluate_visitor(const database &d)
Definition:
special_authority_evaluation.cpp:34
graphene::chain::special_authority_evaluate_visitor::db
const database & db
Definition:
special_authority_evaluation.cpp:43
graphene::chain::special_authority_evaluate_visitor::operator()
void operator()(const top_holders_special_authority &a)
Definition:
special_authority_evaluation.cpp:38
graphene::chain::evaluate_special_authority
void evaluate_special_authority(const database &db, const special_authority &auth)
Definition:
special_authority_evaluation.cpp:46
graphene::protocol::top_holders_special_authority::asset
asset_id_type asset
Definition:
special_authority.hpp:34
graphene::chain::special_authority_evaluate_visitor::result_type
void result_type
Definition:
special_authority_evaluation.cpp:32
graphene::protocol::no_special_authority
Definition:
special_authority.hpp:30
special_authority_evaluation.hpp
graphene::protocol::top_holders_special_authority
Definition:
special_authority.hpp:32
fc::static_variant::visit
visitor::result_type visit(visitor &v)
Definition:
static_variant.hpp:256
graphene::chain::special_authority_evaluate_visitor::operator()
void operator()(const no_special_authority &a)
Definition:
special_authority_evaluation.cpp:36
graphene
Definition:
api.cpp:48
Generated on Fri Dec 15 2023 06:12:42 for BitShares-Core by
1.8.17