Nicholas Dudfield
bb74bcfd7a
fix(test): persist harness relational ledgers with sqlite
...
xahaud envconfig defaults relational to per-app rwdb, so LOAD latest
after stopNode cannot find the saved ledger. Donor unit tests leave
sqlite files under database_path; match that for restart policy.
2026-09-18 12:51:12 +07:00
Nicholas Dudfield
3d05673661
fix(test): register harness suites under ripple not xrpl
...
BEAST_DEFINE_TESTSUITE library name must match xahaud so
ripple.consensus.HarnessNet and SteppingDeterminism resolve.
2026-09-18 12:42:18 +07:00
Nicholas Dudfield
a3b5f769f4
fix(overlay): wrap PeerTest ssl_stream in SslTransport
...
tx_reduce_relay_test still passed unique_ptr<ssl_stream> into PeerImp
after the Transport weld. Match OverlayImpl and ConnectAttempt.
2026-09-18 12:39:48 +07:00
Nicholas Dudfield
7e9e78c3d1
fix(test): remap imported harness onto xahaud names
...
Config sections, JobTypes, Ledger::info, OpenLedger, FailHard, Account
master, RPC JsonContext, PeerFinder slots, protobuf header, and
beast::temp_dir. HarnessNet and SteppingDeterminism objects compile.
2026-09-18 12:25:46 +07:00
Nicholas Dudfield
0decfae0b7
wip(test): start xahaud API remaps on imported harness
...
JobType aliases, include paths, OverlayImpl method names, Config
COMPRESSION flags, and PeerFinder::Config::makeConfig. HarnessNet
does not compile yet.
2026-09-18 12:05:27 +07:00
Nicholas Dudfield
bec5e7bf5b
fix(config): keep protobuf Message outside namespace ripple
...
Forward-declaring google inside ripple made google::protobuf resolve to
ripple::google::protobuf and broke overlay ZeroCopyStream.
2026-09-18 11:59:40 +07:00
Nicholas Dudfield
d655cf24e9
feat(overlay): weld PeerImp I/O onto Transport
...
Inbound and outbound peers wrap the ssl_stream in SslTransport.
SimOverlay can now inject an in-process transport without a PeerImp
template.
2026-09-18 11:57:07 +07:00
Nicholas Dudfield
44fc6f6061
feat(test): import donor stepping harness sources
...
Mechanical copy of Transport, SimOverlay/SimTransport, MultiNode,
scheduler/controller/network, and HarnessNet/SteppingDeterminism suites
with xahaud name mappings. Overlay weld onto PeerImp is still required
before these compile.
2026-09-18 11:51:10 +07:00
Nicholas Dudfield
4932fee4f8
feat(server): optional listeners, peered envconfig, harness hooks
...
setupWithoutListeners stores setup without binding sockets. stepping
harnesses can disable signals and the stall detector via peeredEnvconfig.
Config grows observe-only peer/validation hooks, empty in production.
2026-09-18 11:48:50 +07:00
Nicholas Dudfield
645f16e7fe
feat(overlay): virtual peer timer, inline strands, precise clock
...
PeerImp arms TimeoutCounterTimer when makePeerTimer is installed.
inlineStrands builds the existing strand type over an inline executor.
Tracking, ping RTT and uptime use getPreciseStopwatch.
2026-09-18 11:47:01 +07:00
Nicholas Dudfield
4bea07f662
feat(shamap): inject Family PRNG into missing-node walks
...
NodeFamily forwards Application::getPrng. SHAMapSync draws first-child
offsets from that engine. TestNodeFamily keeps default_prng.
2026-09-18 11:44:49 +07:00
Nicholas Dudfield
8e2907f231
fix(overlay): score peers in id order with injected PRNG
...
getScore draws from Application::getPrng. addPeers, getPeerWithTree and
getPeerWithLedger collect and sort by peer id before scoring so draws
do not follow unordered overlay traversal.
2026-09-18 11:41:49 +07:00
Nicholas Dudfield
605eefd921
feat(app): route remaining stopwatch and PRNG consumers through Application
...
LedgerHistory, TransactionMaster, NodeFamily caches, PeerFinder and
reduce-relay idle checks use getStopwatch. Fetch-pack deadlines use the
same clock. Overlay tx relay, ping sequence and InboundLedger peer
sampling use getPrng; fetch-pack scoring and acquire sampling sort by
peer id first.
2026-09-18 11:35:53 +07:00
Nicholas Dudfield
656c86ac8e
feat(app): consume injected clocks and forward consensus clock
...
Caches, HashRouter, Validations, LedgerMaster and InboundLedgers use
the injected stopwatch. NetworkOPs passes that clock into RCLConsensus
instead of the process-global clock. manualHeartbeat suppresses the
asio heartbeat; heartbeatTick posts the same job.
2026-09-18 11:28:59 +07:00
Nicholas Dudfield
3a540f724f
fix(app): forward-declare Application before OverlayFactory
...
The alias uses Application&; declare the class first so the header does
not depend on a transitive declaration.
2026-09-18 11:27:33 +07:00
Nicholas Dudfield
2ecb940776
feat(jobqueue): expose lastJob completedJobs and suspendedCount
...
Donor MultiNode::threadedTick needs these counters even for baseline
stepping imports.
2026-09-18 11:21:38 +07:00
Nicholas Dudfield
cfe0daf862
feat(app): inject overlay factory and acquire timers
...
make_Application grows defaulted overlay/clock/prng/timer parameters.
Production still uses make_Overlay and asio TimeoutCounter timers.
steppingMode refuses empty timer factories.
2026-09-18 11:21:34 +07:00
Nicholas Dudfield
380b60f155
feat(jobqueue): claim jobs before the no-threads assert
...
DispatchHook is empty in production. claimedQueued/claimedDropped skip
the worker pool so a stepping harness can run with zero JobQueue threads.
2026-09-18 11:16:16 +07:00
Nicholas Dudfield
b060e43a9a
feat(config): add stepping and harness control flags
...
Production defaults keep current behavior. steppingMode zeros io and
JobQueue workers; signals and the deadlock detector become optional.
2026-09-18 11:15:33 +07:00
Nicholas Dudfield
526ac3475c
fix(app): keep first-ledger publication state per application
2026-09-18 10:55:19 +07:00
Nicholas Dudfield
84502af0d2
fix(txq): keep parent-hash ordering keys per candidate
2026-09-18 10:55:15 +07:00
Nicholas Dudfield
06a7d2c6ae
fix(overlay): isolate relay duplicate tracking per Slots instance
2026-09-18 10:55:11 +07:00
Nicholas Dudfield
14c93a5215
fix(consensus): isolate validation keep-range refresh deadlines
2026-09-18 10:55:07 +07:00
Nicholas Dudfield
d1b1367e43
test(rdb): use concrete ledgers in concurrent save regression
2026-09-18 10:35:30 +07:00
Nicholas Dudfield
91847f6bb0
fix(consensus): serialize consensus phase publication
2026-09-18 10:19:25 +07:00
Nicholas Dudfield
4b9f2ed886
fix(tx): synchronize mutable transaction response state
2026-09-18 10:18:30 +07:00
Nicholas Dudfield
9b8a1edd53
fix(ledger): synchronize acquire state access and received-data admission
2026-09-18 10:15:47 +07:00
Nicholas Dudfield
bd3b9ac775
fix(ledger): lock acquire completion state before reporting it
2026-09-18 10:15:42 +07:00
Nicholas Dudfield
c8852857d2
fix(ledger): synchronize ledger-age log throttles
2026-09-18 10:15:38 +07:00
Nicholas Dudfield
7015a23a57
fix(rdb): keep ledger-save SQL formatters local to each call
2026-09-18 10:12:59 +07:00
Nicholas Dudfield
adf33d5e63
fix(test): isolate concurrent suite log buffers
2026-09-18 10:02:59 +07:00
tequ
c208a40ce8
remove WASM: $COUNTER from SetHook_wasm.h ( #804 )
2026-09-09 15:31:11 +10:00
tequ
401a35957d
retire fixXahauV1, fixXahauV2 Amendments ( #722 )
2026-09-09 13:00:24 +10:00
Niq Dudfield
65ff61d518
fix: fail fast when amendment blocked instead of degraded state ( #707 )
2026-09-08 13:39:45 +10:00
Richard Holland
6191c1e09d
Onchain manifests ( #779 )
2026-09-07 13:19:25 +10:00
tequ
f1a3a775a1
Add optional Hooks data to account_info response ( #789 )
2026-09-02 17:22:53 +10:00
tequ
c1dabe5576
Fix comments ( #768 )
2026-09-01 14:18:28 +10:00
Niq Dudfield
c6d5b345eb
fix: subscription webhook delivery stalling on HTTP errors ( #677 )
2026-08-27 12:13:21 +10:00
Richard Holland
bb244ef772
put release builds into a candidate folder to prevent auto-update scripts running before smoke tests ( #761 )
2026.6.21-release+3350
2026-06-21 12:12:43 +10:00
Richard Holland
639ea34377
Fixhookmap ( #756 )
2026-06-16 17:06:25 +10:00
tequ
089c0dc3fe
Fix ammLPHolds logic to include escrowed cases ( #757 )
2026-06-16 15:26:29 +10:00
tequ
78167e09c0
change sfHookOn of ltHookDefinition to soeOptional for HookOnV2 ( #755 )
2026-06-16 13:58:53 +10:00
tequ
607a7fdf98
Change AMM to Supported::no ( #758 )
2026-06-16 13:56:58 +10:00
tequ
c55420bcd8
Fix duplicate and incorrect fields in server_definitions ( #753 )
2026-05-27 07:58:13 +10:00
tequ
cb91b4e88e
Restore pre-reserved tem codes ( #754 )
2026-05-27 07:57:55 +10:00
tequ
90333b6fd0
Fix HookAPI Expected and Refactor Enum classes ( #729 )
2026-05-26 11:02:17 +10:00
tequ
7f9a9364b0
fix: Ensures canonical order for PriceDataSeries upon PriceOracle creation ( #5485 ) ( #744 )
2026-05-25 11:34:24 +10:00
tequ
706d31f01d
Update .git-blame-ignore-revs ( #746 )
2026-05-25 11:28:56 +10:00
tequ
083e9e4315
Generate hook extern declarations with C linkage ( #750 )
2026-05-25 11:27:21 +10:00
tequ
b9e0c56def
Guard depth 32 ( #653 )
2026-05-25 11:10:49 +10:00