rippled
Loading...
Searching...
No Matches
Escrow.h
1//------------------------------------------------------------------------------
2/*
3 This file is part of rippled: https://github.com/ripple/rippled
4 Copyright (c) 2012, 2013 Ripple Labs Inc.
5
6 Permission to use, copy, modify, and/or distribute this software for any
7 purpose with or without fee is hereby granted, provided that the above
8 copyright notice and this permission notice appear in all copies.
9
10 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13 ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17*/
18//==============================================================================
19
20#ifndef RIPPLE_TX_ESCROW_H_INCLUDED
21#define RIPPLE_TX_ESCROW_H_INCLUDED
22
23#include <xrpld/app/tx/detail/Transactor.h>
24
25namespace ripple {
26
28{
29public:
31
32 explicit EscrowCreate(ApplyContext& ctx) : Transactor(ctx)
33 {
34 }
35
36 static TxConsequences
38
39 static NotTEC
40 preflight(PreflightContext const& ctx);
41
42 static TER
43 preclaim(PreclaimContext const& ctx);
44
45 TER
46 doApply() override;
47};
48
49//------------------------------------------------------------------------------
50
52{
53public:
55
56 explicit EscrowFinish(ApplyContext& ctx) : Transactor(ctx)
57 {
58 }
59
60 static NotTEC
61 preflight(PreflightContext const& ctx);
62
63 static XRPAmount
64 calculateBaseFee(ReadView const& view, STTx const& tx);
65
66 static TER
67 preclaim(PreclaimContext const& ctx);
68
69 TER
70 doApply() override;
71};
72
73//------------------------------------------------------------------------------
74
76{
77public:
79
80 explicit EscrowCancel(ApplyContext& ctx) : Transactor(ctx)
81 {
82 }
83
84 static NotTEC
85 preflight(PreflightContext const& ctx);
86
87 TER
88 doApply() override;
89};
90
91} // namespace ripple
92
93#endif
State information when applying a tx.
Definition: ApplyContext.h:37
EscrowCancel(ApplyContext &ctx)
Definition: Escrow.h:80
static constexpr ConsequencesFactoryType ConsequencesFactory
Definition: Escrow.h:78
TER doApply() override
Definition: Escrow.cpp:528
static NotTEC preflight(PreflightContext const &ctx)
Definition: Escrow.cpp:516
EscrowCreate(ApplyContext &ctx)
Definition: Escrow.h:32
static NotTEC preflight(PreflightContext const &ctx)
Definition: Escrow.cpp:86
TER doApply() override
Definition: Escrow.cpp:163
static TxConsequences makeTxConsequences(PreflightContext const &ctx)
Definition: Escrow.cpp:80
static constexpr ConsequencesFactoryType ConsequencesFactory
Definition: Escrow.h:30
static TER preclaim(PreclaimContext const &ctx)
Definition: Escrow.cpp:146
static TER preclaim(PreclaimContext const &ctx)
Definition: Escrow.cpp:364
static NotTEC preflight(PreflightContext const &ctx)
Definition: Escrow.cpp:297
TER doApply() override
Definition: Escrow.cpp:377
EscrowFinish(ApplyContext &ctx)
Definition: Escrow.h:56
static XRPAmount calculateBaseFee(ReadView const &view, STTx const &tx)
Definition: Escrow.cpp:351
static constexpr ConsequencesFactoryType ConsequencesFactory
Definition: Escrow.h:54
A view into a ledger.
Definition: ReadView.h:52
ApplyView & view()
Definition: Transactor.h:159
Class describing the consequences to the account of applying a transaction if the transaction consume...
Definition: applySteps.h:59
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition: algorithm.h:26
State information when determining if a tx is likely to claim a fee.
Definition: Transactor.h:79
State information when preflighting a tx.
Definition: Transactor.h:34