Scorum
libraries
chain
include
scorum
chain
evaluators
withdraw_scorumpower_evaluator.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
dynamic_global_property_service_i;
16
struct
withdraw_scorumpower_service_i;
17
18
struct
data_service_factory_i;
19
20
class
account_object;
21
22
class
withdraw_scorumpower_impl;
23
24
// This evaluator initiates withdraw scorumpower for account by operation withdraw_scorumpower_operation.
25
//
26
class
withdraw_scorumpower_evaluator
:
public
evaluator_impl
<data_service_factory_i, withdraw_scorumpower_evaluator>
27
{
28
public
:
29
using
operation_type
=
scorum::protocol::withdraw_scorumpower_operation
;
30
31
withdraw_scorumpower_evaluator
(data_service_factory_i& services);
32
~withdraw_scorumpower_evaluator
();
33
34
void
do_apply
(
const
operation_type
& op);
35
36
private
:
37
std::unique_ptr<withdraw_scorumpower_impl> _impl;
38
39
account_service_i
& _account_service;
40
dynamic_global_property_service_i
& _dprops_service;
41
};
42
43
using
scorum::protocol::asset
;
44
45
class
withdraw_scorumpower_context
46
{
47
public
:
48
explicit
withdraw_scorumpower_context
(data_service_factory_i&
services
,
const
asset
&
scorumpower
);
49
50
data_service_factory_i&
services
()
const
51
{
52
return
_services;
53
}
54
55
const
asset
&
scorumpower
()
const
56
{
57
return
_scorumpower;
58
}
59
60
private
:
61
data_service_factory_i& _services;
62
asset
_scorumpower;
63
};
64
65
// This task initiates withdraw scorumpower for development pool withount any operation
66
// (for development commitee purpose).
67
class
withdraw_scorumpower_dev_pool_task
:
public
task
<withdraw_scorumpower_context>
68
{
69
public
:
70
void
on_apply
(
withdraw_scorumpower_context
& ctx);
71
};
72
73
}
// namespace chain
74
}
// namespace scorum
scorum::chain::evaluator_impl
Definition:
evaluator.hpp:20
scorum::chain::task
Definition:
tasks_base.hpp:38
scorum::chain::withdraw_scorumpower_context
Definition:
withdraw_scorumpower_evaluator.hpp:46
scorum::chain::withdraw_scorumpower_context::services
data_service_factory_i & services() const
Definition:
withdraw_scorumpower_evaluator.hpp:50
scorum::chain::withdraw_scorumpower_context::scorumpower
const asset & scorumpower() const
Definition:
withdraw_scorumpower_evaluator.hpp:55
scorum::chain::withdraw_scorumpower_context::withdraw_scorumpower_context
withdraw_scorumpower_context(data_service_factory_i &services, const asset &scorumpower)
Definition:
withdraw_scorumpower_evaluator.cpp:131
scorum::chain::withdraw_scorumpower_dev_pool_task
Definition:
withdraw_scorumpower_evaluator.hpp:68
scorum::chain::withdraw_scorumpower_dev_pool_task::on_apply
void on_apply(withdraw_scorumpower_context &ctx)
Definition:
withdraw_scorumpower_evaluator.cpp:137
scorum::chain::withdraw_scorumpower_evaluator
Definition:
withdraw_scorumpower_evaluator.hpp:27
scorum::chain::withdraw_scorumpower_evaluator::~withdraw_scorumpower_evaluator
~withdraw_scorumpower_evaluator()
Definition:
withdraw_scorumpower_evaluator.cpp:102
scorum::chain::withdraw_scorumpower_evaluator::do_apply
void do_apply(const operation_type &op)
Definition:
withdraw_scorumpower_evaluator.cpp:106
scorum::chain::withdraw_scorumpower_evaluator::withdraw_scorumpower_evaluator
withdraw_scorumpower_evaluator(data_service_factory_i &services)
Definition:
withdraw_scorumpower_evaluator.cpp:94
evaluator.hpp
scorum
Definition:
asset.cpp:15
scorum_operations.hpp
scorum::chain::account_service_i
Definition:
account.hpp:28
scorum::chain::dynamic_global_property_service_i
Definition:
dynamic_global_property.hpp:9
scorum::protocol::asset
Definition:
asset.hpp:16
scorum::protocol::withdraw_scorumpower_operation
Starts vesting withdraw.
Definition:
scorum_operations.hpp:433
tasks_base.hpp
Generated on Thu Jun 9 2022 13:04:25 for Scorum by
1.9.1