Scorum
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
escrow.hpp
Go to the documentation of this file.
1 #pragma once
2 
5 
6 namespace scorum {
7 namespace chain {
8 
9 struct escrow_service_i : public base_service_i<escrow_object>
10 {
12 
13  virtual const escrow_object& get(const account_name_type& name, uint32_t escrow_id) const = 0;
14 
15  virtual const escrow_object& create_escrow(uint32_t escrow_id,
16  const account_name_type& from,
17  const account_name_type& to,
18  const account_name_type& agent,
19  const time_point_sec& ratification_deadline,
20  const time_point_sec& escrow_expiration,
21  const asset& scorum_amount,
22  const asset& pending_fee)
23  = 0;
24 };
25 
26 class dbs_escrow : public dbs_service_base<escrow_service_i>
27 {
28  friend class dbservice_dbs_factory;
29 
30 protected:
31  explicit dbs_escrow(database& db);
32 
33 public:
35 
36  const escrow_object& get(const account_name_type& name, uint32_t escrow_id) const override;
37 
38  const escrow_object& create_escrow(uint32_t escrow_id,
39  const account_name_type& from,
40  const account_name_type& to,
41  const account_name_type& agent,
42  const time_point_sec& ratification_deadline,
43  const time_point_sec& escrow_expiration,
44  const asset& scorum_amount,
45  const asset& pending_fee) override;
46 };
47 } // namespace chain
48 } // namespace scorum
tracks the blockchain state in an extensible manner
Definition: database.hpp:52
const escrow_object & create_escrow(uint32_t escrow_id, const account_name_type &from, const account_name_type &to, const account_name_type &agent, const time_point_sec &ratification_deadline, const time_point_sec &escrow_expiration, const asset &scorum_amount, const asset &pending_fee) override
Definition: escrow.cpp:27
dbs_escrow(database &db)
Definition: escrow.cpp:13
virtual const object_type & get() const override
fc::fixed_string_16 account_name_type
Definition: types.hpp:62
Definition: asset.cpp:15
virtual const escrow_object & create_escrow(uint32_t escrow_id, const account_name_type &from, const account_name_type &to, const account_name_type &agent, const time_point_sec &ratification_deadline, const time_point_sec &escrow_expiration, const asset &scorum_amount, const asset &pending_fee)=0
virtual const escrow_object & get(const account_name_type &name, uint32_t escrow_id) const =0