BitShares-Core  7.0.2
BitShares blockchain node software and command-line wallet software
credit_offer_evaluator.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2021 Abit More, 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
26 
28 
29 namespace graphene { namespace chain {
30 
31  class credit_offer_object;
32 
33  class credit_offer_create_evaluator : public evaluator<credit_offer_create_evaluator>
34  {
35  public:
37 
40  };
41 
42  class credit_offer_delete_evaluator : public evaluator<credit_offer_delete_evaluator>
43  {
44  public:
46 
48  asset do_apply( const credit_offer_delete_operation& op ) const;
49 
50  const credit_offer_object* _offer = nullptr;
51  };
52 
53  class credit_offer_update_evaluator : public evaluator<credit_offer_update_evaluator>
54  {
55  public:
57 
60 
61  const credit_offer_object* _offer = nullptr;
62  };
63 
64  class credit_offer_accept_evaluator : public evaluator<credit_offer_accept_evaluator>
65  {
66  public:
68 
71 
72  const credit_offer_object* _offer = nullptr;
74  };
75 
76  class credit_deal_repay_evaluator : public evaluator<credit_deal_repay_evaluator>
77  {
78  public:
80 
83 
84  const credit_deal_object* _deal = nullptr;
85  };
86 
87  class credit_deal_update_evaluator : public evaluator<credit_deal_update_evaluator>
88  {
89  public:
91 
94 
95  const credit_deal_object* _deal = nullptr;
96  };
97 
98 } } // graphene::chain
graphene::chain::credit_offer_accept_evaluator::do_apply
extendable_operation_result do_apply(const credit_offer_accept_operation &op) const
Definition: credit_offer_evaluator.cpp:309
graphene::chain::credit_deal_repay_evaluator::do_apply
extendable_operation_result do_apply(const credit_deal_repay_operation &op) const
Definition: credit_offer_evaluator.cpp:405
graphene::protocol::extension
Definition: ext.hpp:36
graphene::chain::credit_deal_object
A credit deal describes the details of a borrower's borrowing of funds from a credit offer.
Definition: credit_offer_object.hpp:104
graphene::chain::credit_offer_object
A credit offer is a fund that can be used by other accounts who provide certain collateral.
Definition: credit_offer_object.hpp:39
graphene::chain::credit_offer_accept_evaluator
Definition: credit_offer_evaluator.hpp:64
graphene::protocol::credit_deal_repay_operation
Repay a credit deal.
Definition: credit_offer.hpp:163
graphene::protocol::credit_offer_create_operation
Create a new credit offer.
Definition: credit_offer.hpp:36
graphene::chain::credit_deal_update_evaluator::do_evaluate
void_result do_evaluate(const credit_deal_update_operation &op)
Definition: credit_offer_evaluator.cpp:475
graphene::chain::credit_offer_delete_evaluator::_offer
const credit_offer_object * _offer
Definition: credit_offer_evaluator.hpp:50
graphene::chain::credit_offer_create_evaluator::do_evaluate
void_result do_evaluate(const credit_offer_create_operation &op) const
Definition: credit_offer_evaluator.cpp:38
graphene::protocol::credit_offer_delete_operation
Delete a credit offer.
Definition: credit_offer.hpp:70
graphene::chain::credit_offer_delete_evaluator::do_apply
asset do_apply(const credit_offer_delete_operation &op) const
Definition: credit_offer_evaluator.cpp:109
graphene::chain::credit_offer_delete_evaluator
Definition: credit_offer_evaluator.hpp:42
graphene::chain::credit_offer_update_evaluator
Definition: credit_offer_evaluator.hpp:53
graphene::chain::credit_offer_accept_evaluator::do_evaluate
void_result do_evaluate(const credit_offer_accept_operation &op)
Definition: credit_offer_evaluator.cpp:229
graphene::chain::credit_offer_delete_evaluator::do_evaluate
void_result do_evaluate(const credit_offer_delete_operation &op)
Definition: credit_offer_evaluator.cpp:93
evaluator.hpp
graphene::protocol::credit_offer_accept_operation
Accept a credit offer, thereby creating a credit deal.
Definition: credit_offer.hpp:135
graphene::chain::credit_deal_summary_object
A credit deal summary describes the summary of a borrower's borrowing of funds from a credit offer.
Definition: credit_offer_object.hpp:184
graphene::chain::credit_deal_repay_evaluator::_deal
const credit_deal_object * _deal
Definition: credit_offer_evaluator.hpp:84
graphene::chain::evaluator
Definition: evaluator.hpp:142
graphene::chain::credit_offer_create_evaluator::do_apply
object_id_type do_apply(const credit_offer_create_operation &op) const
Definition: credit_offer_evaluator.cpp:71
graphene::chain::credit_offer_create_evaluator
Definition: credit_offer_evaluator.hpp:33
graphene::chain::credit_deal_update_evaluator
Definition: credit_offer_evaluator.hpp:87
graphene::chain::credit_offer_update_evaluator::do_evaluate
void_result do_evaluate(const credit_offer_update_operation &op)
Definition: credit_offer_evaluator.cpp:125
graphene::chain::credit_offer_update_evaluator::_offer
const credit_offer_object * _offer
Definition: credit_offer_evaluator.hpp:61
credit_offer.hpp
graphene::db::object_id_type
Definition: object_id.hpp:30
graphene::protocol::credit_deal_update_operation
Update a credit deal.
Definition: credit_offer.hpp:215
graphene::chain::credit_offer_accept_evaluator::_offer
const credit_offer_object * _offer
Definition: credit_offer_evaluator.hpp:72
graphene::chain::credit_offer_update_evaluator::do_apply
void_result do_apply(const credit_offer_update_operation &op) const
Definition: credit_offer_evaluator.cpp:185
graphene::chain::credit_deal_repay_evaluator::do_evaluate
void_result do_evaluate(const credit_deal_repay_operation &op)
Definition: credit_offer_evaluator.cpp:373
graphene::protocol::asset
Definition: asset.hpp:31
graphene::chain::credit_deal_update_evaluator::_deal
const credit_deal_object * _deal
Definition: credit_offer_evaluator.hpp:95
graphene::protocol::void_result
Definition: base.hpp:86
graphene::chain::credit_deal_update_evaluator::do_apply
void_result do_apply(const credit_deal_update_operation &op) const
Definition: credit_offer_evaluator.cpp:491
graphene::chain::credit_offer_accept_evaluator::_deal_summary
const credit_deal_summary_object * _deal_summary
Definition: credit_offer_evaluator.hpp:73
graphene::protocol::credit_offer_update_operation
Update a credit offer.
Definition: credit_offer.hpp:88
graphene
Definition: api.cpp:48
graphene::chain::credit_deal_repay_evaluator
Definition: credit_offer_evaluator.hpp:76