Skip to content

Commit 3338ec3

Browse files
authored
Merge branch 'tapanito/lending-fix-amendment' into tapanito/vault-delete-data
2 parents 60fce3c + 1671472 commit 3338ec3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+1838
-1249
lines changed

.github/scripts/levelization/results/loops.txt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,11 @@ Loop: test.jtx test.toplevel
44
Loop: test.jtx test.unit_test
55
test.unit_test == test.jtx
66

7-
Loop: xrpld.app xrpld.core
8-
xrpld.app > xrpld.core
9-
107
Loop: xrpld.app xrpld.overlay
118
xrpld.overlay > xrpld.app
129

1310
Loop: xrpld.app xrpld.peerfinder
14-
xrpld.peerfinder ~= xrpld.app
11+
xrpld.peerfinder == xrpld.app
1512

1613
Loop: xrpld.app xrpld.rpc
1714
xrpld.rpc > xrpld.app

.github/scripts/levelization/results/ordering.txt

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,15 @@ libxrpl.nodestore > xrpl.protocol
1717
libxrpl.protocol > xrpl.basics
1818
libxrpl.protocol > xrpl.json
1919
libxrpl.protocol > xrpl.protocol
20+
libxrpl.rdb > xrpl.basics
21+
libxrpl.rdb > xrpl.rdb
2022
libxrpl.resource > xrpl.basics
2123
libxrpl.resource > xrpl.json
2224
libxrpl.resource > xrpl.resource
2325
libxrpl.server > xrpl.basics
2426
libxrpl.server > xrpl.json
2527
libxrpl.server > xrpl.protocol
28+
libxrpl.server > xrpl.rdb
2629
libxrpl.server > xrpl.server
2730
libxrpl.shamap > xrpl.basics
2831
libxrpl.shamap > xrpl.protocol
@@ -41,7 +44,9 @@ test.app > xrpl.json
4144
test.app > xrpl.ledger
4245
test.app > xrpl.nodestore
4346
test.app > xrpl.protocol
47+
test.app > xrpl.rdb
4448
test.app > xrpl.resource
49+
test.app > xrpl.server
4550
test.basics > test.jtx
4651
test.basics > test.unit_test
4752
test.basics > xrpl.basics
@@ -67,6 +72,7 @@ test.core > xrpl.basics
6772
test.core > xrpl.core
6873
test.core > xrpld.core
6974
test.core > xrpl.json
75+
test.core > xrpl.rdb
7076
test.core > xrpl.server
7177
test.csf > xrpl.basics
7278
test.csf > xrpld.consensus
@@ -95,8 +101,8 @@ test.nodestore > test.jtx
95101
test.nodestore > test.toplevel
96102
test.nodestore > test.unit_test
97103
test.nodestore > xrpl.basics
98-
test.nodestore > xrpld.core
99104
test.nodestore > xrpl.nodestore
105+
test.nodestore > xrpl.rdb
100106
test.overlay > test.jtx
101107
test.overlay > test.toplevel
102108
test.overlay > test.unit_test
@@ -154,6 +160,7 @@ tests.libxrpl > xrpl.net
154160
xrpl.core > xrpl.basics
155161
xrpl.core > xrpl.json
156162
xrpl.core > xrpl.ledger
163+
xrpl.core > xrpl.protocol
157164
xrpl.json > xrpl.basics
158165
xrpl.ledger > xrpl.basics
159166
xrpl.ledger > xrpl.protocol
@@ -162,12 +169,17 @@ xrpl.nodestore > xrpl.basics
162169
xrpl.nodestore > xrpl.protocol
163170
xrpl.protocol > xrpl.basics
164171
xrpl.protocol > xrpl.json
172+
xrpl.rdb > xrpl.basics
173+
xrpl.rdb > xrpl.core
174+
xrpl.rdb > xrpl.protocol
165175
xrpl.resource > xrpl.basics
166176
xrpl.resource > xrpl.json
167177
xrpl.resource > xrpl.protocol
168178
xrpl.server > xrpl.basics
179+
xrpl.server > xrpl.core
169180
xrpl.server > xrpl.json
170181
xrpl.server > xrpl.protocol
182+
xrpl.server > xrpl.rdb
171183
xrpl.shamap > xrpl.basics
172184
xrpl.shamap > xrpl.nodestore
173185
xrpl.shamap > xrpl.protocol
@@ -176,12 +188,15 @@ xrpld.app > xrpl.basics
176188
xrpld.app > xrpl.core
177189
xrpld.app > xrpld.conditions
178190
xrpld.app > xrpld.consensus
191+
xrpld.app > xrpld.core
179192
xrpld.app > xrpl.json
180193
xrpld.app > xrpl.ledger
181194
xrpld.app > xrpl.net
182195
xrpld.app > xrpl.nodestore
183196
xrpld.app > xrpl.protocol
197+
xrpld.app > xrpl.rdb
184198
xrpld.app > xrpl.resource
199+
xrpld.app > xrpl.server
185200
xrpld.app > xrpl.shamap
186201
xrpld.conditions > xrpl.basics
187202
xrpld.conditions > xrpl.protocol
@@ -193,17 +208,20 @@ xrpld.core > xrpl.core
193208
xrpld.core > xrpl.json
194209
xrpld.core > xrpl.net
195210
xrpld.core > xrpl.protocol
211+
xrpld.core > xrpl.rdb
196212
xrpld.overlay > xrpl.basics
197213
xrpld.overlay > xrpl.core
198214
xrpld.overlay > xrpld.core
199215
xrpld.overlay > xrpld.peerfinder
200216
xrpld.overlay > xrpl.json
201217
xrpld.overlay > xrpl.protocol
218+
xrpld.overlay > xrpl.rdb
202219
xrpld.overlay > xrpl.resource
203220
xrpld.overlay > xrpl.server
204221
xrpld.peerfinder > xrpl.basics
205222
xrpld.peerfinder > xrpld.core
206223
xrpld.peerfinder > xrpl.protocol
224+
xrpld.peerfinder > xrpl.rdb
207225
xrpld.perflog > xrpl.basics
208226
xrpld.perflog > xrpl.core
209227
xrpld.perflog > xrpld.rpc
@@ -216,6 +234,7 @@ xrpld.rpc > xrpl.ledger
216234
xrpld.rpc > xrpl.net
217235
xrpld.rpc > xrpl.nodestore
218236
xrpld.rpc > xrpl.protocol
237+
xrpld.rpc > xrpl.rdb
219238
xrpld.rpc > xrpl.resource
220239
xrpld.rpc > xrpl.server
221240
xrpld.shamap > xrpl.shamap

cmake/CodeCoverage.cmake

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -466,11 +466,6 @@ function (add_code_coverage_to_target name scope)
466466
target_compile_options(${name} ${scope} $<$<COMPILE_LANGUAGE:CXX>:${COVERAGE_CXX_COMPILER_FLAGS}>
467467
$<$<COMPILE_LANGUAGE:C>:${COVERAGE_C_COMPILER_FLAGS}>)
468468

469-
target_link_libraries(
470-
${name}
471-
${scope}
472-
$<$<LINK_LANGUAGE:CXX>:${COVERAGE_CXX_LINKER_FLAGS}
473-
gcov>
474-
$<$<LINK_LANGUAGE:C>:${COVERAGE_C_LINKER_FLAGS}
475-
gcov>)
469+
target_link_libraries(${name} ${scope} $<$<LINK_LANGUAGE:CXX>:${COVERAGE_CXX_LINKER_FLAGS}>
470+
$<$<LINK_LANGUAGE:C>:${COVERAGE_C_LINKER_FLAGS}>)
476471
endfunction () # add_code_coverage_to_target

cmake/XrplCore.cmake

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -84,18 +84,22 @@ add_module(xrpl net)
8484
target_link_libraries(xrpl.libxrpl.net PUBLIC xrpl.libxrpl.basics xrpl.libxrpl.json xrpl.libxrpl.protocol
8585
xrpl.libxrpl.resource)
8686

87-
add_module(xrpl server)
88-
target_link_libraries(xrpl.libxrpl.server PUBLIC xrpl.libxrpl.protocol)
89-
9087
add_module(xrpl nodestore)
9188
target_link_libraries(xrpl.libxrpl.nodestore PUBLIC xrpl.libxrpl.basics xrpl.libxrpl.json xrpl.libxrpl.protocol)
9289

9390
add_module(xrpl shamap)
9491
target_link_libraries(xrpl.libxrpl.shamap PUBLIC xrpl.libxrpl.basics xrpl.libxrpl.crypto xrpl.libxrpl.protocol
9592
xrpl.libxrpl.nodestore)
9693

94+
add_module(xrpl rdb)
95+
target_link_libraries(xrpl.libxrpl.rdb PUBLIC xrpl.libxrpl.basics xrpl.libxrpl.core)
96+
97+
add_module(xrpl server)
98+
target_link_libraries(xrpl.libxrpl.server PUBLIC xrpl.libxrpl.protocol xrpl.libxrpl.core xrpl.libxrpl.rdb)
99+
97100
add_module(xrpl ledger)
98-
target_link_libraries(xrpl.libxrpl.ledger PUBLIC xrpl.libxrpl.basics xrpl.libxrpl.json xrpl.libxrpl.protocol)
101+
target_link_libraries(xrpl.libxrpl.ledger PUBLIC xrpl.libxrpl.basics xrpl.libxrpl.json xrpl.libxrpl.protocol
102+
xrpl.libxrpl.rdb)
99103

100104
add_library(xrpl.libxrpl)
101105
set_target_properties(xrpl.libxrpl PROPERTIES OUTPUT_NAME xrpl)
@@ -113,13 +117,14 @@ target_link_modules(
113117
core
114118
crypto
115119
json
120+
ledger
121+
net
122+
nodestore
116123
protocol
124+
rdb
117125
resource
118126
server
119-
nodestore
120-
shamap
121-
net
122-
ledger)
127+
shamap)
123128

124129
# All headers in libxrpl are in modules.
125130
# Uncomment this stanza if you have not yet moved new headers into a module.

cmake/XrplInstall.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ install(TARGETS common
2323
xrpl.libxrpl.core
2424
xrpl.libxrpl.crypto
2525
xrpl.libxrpl.json
26+
xrpl.libxrpl.rdb
2627
xrpl.libxrpl.ledger
2728
xrpl.libxrpl.net
2829
xrpl.libxrpl.nodestore

include/xrpl/core/ServiceRegistry.h

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
#include <xrpl/basics/TaggedCache.h>
66
#include <xrpl/ledger/CachedSLEs.h>
77

8+
#include <boost/asio.hpp>
9+
810
namespace xrpl {
911

1012
// Forward declarations
@@ -18,6 +20,10 @@ namespace perf {
1820
class PerfLog;
1921
}
2022

23+
// This is temporary until we migrate all code to use ServiceRegistry.
24+
class Application;
25+
26+
// Forward declarations
2127
class AcceptedLedger;
2228
class AmendmentTable;
2329
class Cluster;
@@ -194,6 +200,24 @@ class ServiceRegistry
194200

195201
virtual perf::PerfLog&
196202
getPerfLog() = 0;
203+
204+
// Configuration and state
205+
virtual bool
206+
isStopping() const = 0;
207+
208+
virtual beast::Journal
209+
journal(std::string const& name) = 0;
210+
211+
virtual boost::asio::io_context&
212+
getIOContext() = 0;
213+
214+
virtual Logs&
215+
logs() = 0;
216+
217+
// Temporary: Get the underlying Application for functions that haven't
218+
// been migrated yet. This should be removed once all code is migrated.
219+
virtual Application&
220+
app() = 0;
197221
};
198222

199223
} // namespace xrpl

include/xrpl/core/StartUpType.h

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#pragma once
2+
3+
#include <iosfwd>
4+
#include <type_traits>
5+
6+
namespace xrpl {
7+
8+
enum class StartUpType { FRESH, NORMAL, LOAD, LOAD_FILE, REPLAY, NETWORK };
9+
10+
inline std::ostream&
11+
operator<<(std::ostream& os, StartUpType const& type)
12+
{
13+
return os << static_cast<std::underlying_type_t<StartUpType>>(type);
14+
}
15+
16+
} // namespace xrpl
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#pragma once
2+
3+
namespace xrpl {
4+
5+
/**
6+
* @brief Enumeration of ledger shortcuts for specifying which ledger to use.
7+
*
8+
* These shortcuts provide a convenient way to reference commonly used ledgers
9+
* without needing to specify their exact hash or sequence number.
10+
*/
11+
enum class LedgerShortcut {
12+
/** The current working ledger (open, not yet closed) */
13+
Current,
14+
15+
/** The most recently closed ledger (may not be validated) */
16+
Closed,
17+
18+
/** The most recently validated ledger */
19+
Validated
20+
};
21+
22+
} // namespace xrpl

include/xrpl/protocol/TxSearched.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#pragma once
2+
3+
namespace xrpl {
4+
5+
enum class TxSearched { all, some, unknown };
6+
7+
}

0 commit comments

Comments
 (0)