Scorum
libraries
chain
include
scorum
chain
evaluators
set_withdraw_scorumpower_route_evaluators.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <
scorum/protocol/scorum_operations.hpp
>
4
5
#include <
scorum/chain/evaluators/evaluator.hpp
>
6
7
#include <
scorum/chain/tasks_base.hpp
>
8
9
#include <memory>
10
11
namespace
scorum
{
12
namespace
chain {
13
14
struct
account_service_i;
15
struct
dev_pool_service_i;
16
17
class
set_withdraw_scorumpower_route_evaluator_impl;
18
19
struct
data_service_factory_i;
20
21
// This evaluator sets withdraw scorumpower route from account to account
22
// by operation set_withdraw_scorumpower_route_to_account_operation.
23
class
set_withdraw_scorumpower_route_to_account_evaluator
24
:
public
evaluator_impl
<data_service_factory_i, set_withdraw_scorumpower_route_to_account_evaluator>
25
{
26
public
:
27
using
operation_type
=
scorum::protocol::set_withdraw_scorumpower_route_to_account_operation
;
28
29
set_withdraw_scorumpower_route_to_account_evaluator
(data_service_factory_i& services);
30
~set_withdraw_scorumpower_route_to_account_evaluator
();
31
32
void
do_apply
(
const
operation_type
& op);
33
34
private
:
35
std::unique_ptr<set_withdraw_scorumpower_route_evaluator_impl> _impl;
36
account_service_i
& _account_service;
37
};
38
39
// This evaluator sets withdraw scorumpower route from account to development pool
40
// by operation set_withdraw_scorumpower_route_to_dev_pool_operation.
41
class
set_withdraw_scorumpower_route_to_dev_pool_evaluator
42
:
public
evaluator_impl
<data_service_factory_i, set_withdraw_scorumpower_route_to_dev_pool_evaluator>
43
{
44
public
:
45
using
operation_type
=
scorum::protocol::set_withdraw_scorumpower_route_to_dev_pool_operation
;
46
47
set_withdraw_scorumpower_route_to_dev_pool_evaluator
(data_service_factory_i& services);
48
~set_withdraw_scorumpower_route_to_dev_pool_evaluator
();
49
50
void
do_apply
(
const
operation_type
& op);
51
52
private
:
53
std::unique_ptr<set_withdraw_scorumpower_route_evaluator_impl> _impl;
54
account_service_i
& _account_service;
55
dev_pool_service_i
& _dev_pool_service;
56
};
57
58
using
scorum::protocol::account_name_type
;
59
using
scorum::protocol::asset
;
60
61
class
set_withdraw_scorumpower_route_context
62
{
63
public
:
64
explicit
set_withdraw_scorumpower_route_context
(data_service_factory_i&
services
,
65
const
account_name_type
&
account
,
66
uint16_t
percent
,
67
bool
auto_vest
);
68
69
data_service_factory_i&
services
()
const
70
{
71
return
_services;
72
}
73
74
const
account_name_type
&
account
()
const
75
{
76
return
_account;
77
}
78
79
uint16_t
percent
()
const
80
{
81
return
_percent;
82
}
83
84
bool
auto_vest
()
const
85
{
86
return
_auto_vest;
87
}
88
89
private
:
90
data_service_factory_i& _services;
91
account_name_type
_account;
92
uint16_t _percent;
93
bool
_auto_vest;
94
};
95
96
// This task sets withdraw scorumpower route from development pool to account
97
// withount any operation for development commitee purpose.
98
class
set_withdraw_scorumpower_route_from_dev_pool_task
:
public
task
<set_withdraw_scorumpower_route_context>
99
{
100
public
:
101
void
on_apply
(
set_withdraw_scorumpower_route_context
& ctx);
102
};
103
104
}
// namespace chain
105
}
// namespace scorum
scorum::chain::evaluator_impl
Definition:
evaluator.hpp:20
scorum::chain::set_withdraw_scorumpower_route_context
Definition:
set_withdraw_scorumpower_route_evaluators.hpp:62
scorum::chain::set_withdraw_scorumpower_route_context::percent
uint16_t percent() const
Definition:
set_withdraw_scorumpower_route_evaluators.hpp:79
scorum::chain::set_withdraw_scorumpower_route_context::account
const account_name_type & account() const
Definition:
set_withdraw_scorumpower_route_evaluators.hpp:74
scorum::chain::set_withdraw_scorumpower_route_context::set_withdraw_scorumpower_route_context
set_withdraw_scorumpower_route_context(data_service_factory_i &services, const account_name_type &account, uint16_t percent, bool auto_vest)
Definition:
set_withdraw_scorumpower_route_evaluators.cpp:150
scorum::chain::set_withdraw_scorumpower_route_context::auto_vest
bool auto_vest() const
Definition:
set_withdraw_scorumpower_route_evaluators.hpp:84
scorum::chain::set_withdraw_scorumpower_route_context::services
data_service_factory_i & services() const
Definition:
set_withdraw_scorumpower_route_evaluators.hpp:69
scorum::chain::set_withdraw_scorumpower_route_from_dev_pool_task
Definition:
set_withdraw_scorumpower_route_evaluators.hpp:99
scorum::chain::set_withdraw_scorumpower_route_from_dev_pool_task::on_apply
void on_apply(set_withdraw_scorumpower_route_context &ctx)
Definition:
set_withdraw_scorumpower_route_evaluators.cpp:161
scorum::chain::set_withdraw_scorumpower_route_to_account_evaluator
Definition:
set_withdraw_scorumpower_route_evaluators.hpp:25
scorum::chain::set_withdraw_scorumpower_route_to_account_evaluator::set_withdraw_scorumpower_route_to_account_evaluator
set_withdraw_scorumpower_route_to_account_evaluator(data_service_factory_i &services)
Definition:
set_withdraw_scorumpower_route_evaluators.cpp:96
scorum::chain::set_withdraw_scorumpower_route_to_account_evaluator::do_apply
void do_apply(const operation_type &op)
Definition:
set_withdraw_scorumpower_route_evaluators.cpp:109
scorum::chain::set_withdraw_scorumpower_route_to_account_evaluator::~set_withdraw_scorumpower_route_to_account_evaluator
~set_withdraw_scorumpower_route_to_account_evaluator()
Definition:
set_withdraw_scorumpower_route_evaluators.cpp:104
scorum::chain::set_withdraw_scorumpower_route_to_dev_pool_evaluator
Definition:
set_withdraw_scorumpower_route_evaluators.hpp:43
scorum::chain::set_withdraw_scorumpower_route_to_dev_pool_evaluator::set_withdraw_scorumpower_route_to_dev_pool_evaluator
set_withdraw_scorumpower_route_to_dev_pool_evaluator(data_service_factory_i &services)
Definition:
set_withdraw_scorumpower_route_evaluators.cpp:123
scorum::chain::set_withdraw_scorumpower_route_to_dev_pool_evaluator::~set_withdraw_scorumpower_route_to_dev_pool_evaluator
~set_withdraw_scorumpower_route_to_dev_pool_evaluator()
Definition:
set_withdraw_scorumpower_route_evaluators.cpp:132
scorum::chain::set_withdraw_scorumpower_route_to_dev_pool_evaluator::do_apply
void do_apply(const operation_type &op)
Definition:
set_withdraw_scorumpower_route_evaluators.cpp:137
scorum::chain::task
Definition:
tasks_base.hpp:38
evaluator.hpp
scorum::protocol::account_name_type
fc::fixed_string_16 account_name_type
Definition:
types.hpp:62
scorum
Definition:
asset.cpp:15
scorum_operations.hpp
scorum::chain::account_service_i
Definition:
account.hpp:28
scorum::chain::dev_pool_service_i
Definition:
dev_pool.hpp:10
scorum::protocol::asset
Definition:
asset.hpp:16
scorum::protocol::set_withdraw_scorumpower_route_to_account_operation
Setup a versting withdraw to another account.
Definition:
scorum_operations.hpp:456
scorum::protocol::set_withdraw_scorumpower_route_to_dev_pool_operation
Setup a versting withdraw to development pool.
Definition:
scorum_operations.hpp:475
tasks_base.hpp
Generated on Thu Jun 9 2022 13:04:25 for Scorum by
1.9.1