729 Commits

Author SHA1 Message Date
Sergey Kuznetsov
26842374de fix: Fix url check in config (#1953)
Fixes #1850
2025-03-11 12:54:22 +00:00
Sergey Kuznetsov
a46d700390 fix: Improve error message when starting read only mode with empty DB (#1946)
Fixes #1721
2025-03-10 11:54:56 +00:00
github-actions[bot]
a34d565ea4 style: clang-tidy auto fixes (#1949)
Fixes #1948.

Co-authored-by: godexsoft <385326+godexsoft@users.noreply.github.com>
2025-03-10 10:35:36 +00:00
Sergey Kuznetsov
c57fe1e6e4 test: Add assert mock to avoid death tests (#1947)
Fixes #1750
2025-03-07 18:11:52 +00:00
Peter Chen
8a08c5e6ce feat: Add support for deep freeze (#1875)
fixes #1826
2025-03-05 11:04:44 -05:00
Peter Chen
5d2694d36c chore: update libxrpl (#1943) 2025-03-05 10:14:39 -05:00
Sergey Kuznetsov
915a8beb40 style: Use error code instead of exception when parsing json (#1942) 2025-03-04 18:34:45 +00:00
Sergey Kuznetsov
f7db030ad7 fix: Fix dangling reference in new web server (#1938)
Also delete move constructors where moving may be dangerous.
2025-03-04 16:45:47 +00:00
Peter Chen
86e2cd1cc4 feat: Add workflow to check config description (#1894)
fixes #1880

---------

Co-authored-by: Sergey Kuznetsov <skuznetsov@ripple.com>
Co-authored-by: Alex Kremer <akremer@ripple.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: godexsoft <385326+godexsoft@users.noreply.github.com>
Co-authored-by: Shawn Xie <35279399+shawnxie999@users.noreply.github.com>
2025-03-04 10:47:36 -05:00
Sergey Kuznetsov
d11e7bc60e fix: Data race in new webserver (#1926)
There was a data race inside `CoroutineGroup` because internal timer was
used from multiple threads in the methods `asyncWait()` and
`onCoroutineComplete()`. Changing `registerForeign()` to spawn to the
same `yield_context` fixes the problem because now the timer is accessed
only from the same coroutine which has an internal strand.

During debugging I also added websocket support for `request_gun` tool.
2025-02-27 15:08:46 +00:00
Sergey Kuznetsov
b909b8879d fix: Fix backtrace usage (#1932) 2025-02-27 14:26:51 +00:00
github-actions[bot]
918a92eeee style: clang-tidy auto fixes (#1925)
Fixes #1924. Please review and commit clang-tidy fixes.

Co-authored-by: godexsoft <385326+godexsoft@users.noreply.github.com>
2025-02-25 09:29:24 +00:00
Shawn Xie
c9e8330e0a feat: LPT freeze (#1840)
Fixes #1827
2025-02-24 15:39:11 +00:00
Alex Kremer
491cd58f93 feat: ETLng monitor (#1898)
For #1594
2025-02-21 16:10:25 +00:00
Sergey Kuznetsov
25296f8ffa fix: Better errors on logger init failure (#1857)
Fixes #1326.
2025-02-18 15:43:13 +00:00
Sergey Kuznetsov
4b178805de fix: Array parsing in new config (#1896)
Improving array parsing in config:
- Allow null values in arrays for optional fields
- Allow empty array even for required field
- Allow to not put an empty array in config even if array contains
required fields
2025-02-18 13:29:43 +00:00
Peter Chen
624f7ff6d5 feat: Support Simulate (#1891)
fixes #1887
2025-02-12 10:00:04 -05:00
Sergey Kuznetsov
e503dffc9a fix: Array parsing in new config (#1884)
Fixes #1870.
2025-02-12 13:28:06 +00:00
github-actions[bot]
b5fe22da18 style: clang-tidy auto fixes (#1889)
Fixes #1888. Please review and commit clang-tidy fixes.

Co-authored-by: godexsoft <385326+godexsoft@users.noreply.github.com>
2025-02-11 13:01:31 +00:00
Peter Chen
cd6289b79a feat: Generate config descriptions (#1842)
Fixes #1460
2025-02-10 11:29:00 -05:00
Alex Kremer
f5e6c9576e feat: Run tests with sanitizers in CI (#1879)
Fixes #1075
Fixes #1049
2025-02-10 16:20:25 +00:00
Sergey Kuznetsov
89af8fe500 feat: Permissioned domains (#1841)
Fixes #1833.
2025-01-31 15:30:34 +00:00
cyan317
1753c95910 feat: Support Dynamic NFT (#1525)
Fix #1471
Clio's changes for supporting DNFT
https://github.com/XRPLF/rippled/pull/5048/files
2025-01-31 13:33:20 +00:00
github-actions[bot]
e549657766 style: clang-tidy auto fixes (#1863)
Fixes #1862. Please review and commit clang-tidy fixes.

Co-authored-by: kuznetsss <15742918+kuznetsss@users.noreply.github.com>
2025-01-30 09:16:34 +00:00
Peter Chen
7c2742036b refactor: Remove boost filesystem (#1859) 2025-01-29 11:16:54 -05:00
Alex Kremer
73f375f20d feat: ETLng task manager (#1843) 2025-01-29 15:29:13 +00:00
Alex Kremer
81fe617816 fix: Re-add account_tx max limit (#1855) 2025-01-29 13:42:31 +00:00
Sergey Kuznetsov
75354fbecd fix: CacheLoader causes crash when no cache is used (#1853)
If cache is disabled or Clio starts with and empty DB, `loader_` inside
cache is not created. So calling `CacheLoader::stop()` or
`CacheLoader::wait()` was causing crash.
2025-01-28 18:10:19 +00:00
Sergey Kuznetsov
540e938223 refactor: Use mutex from utils (#1851)
Fixes #1359.
2025-01-27 15:28:00 +00:00
github-actions[bot]
35b9a066e3 style: clang-tidy auto fixes (#1847)
Fixes #1846. Please review and commit clang-tidy fixes.

Co-authored-by: kuznetsss <15742918+kuznetsss@users.noreply.github.com>
2025-01-23 09:34:00 +00:00
Sergey Kuznetsov
957028699b feat: Graceful shutdown (#1801)
Fixes #442.
2025-01-22 13:09:16 +00:00
cyan317
12e6fcc97e fix: gateway_balance discrepancy (#1839)
Fix https://github.com/XRPLF/clio/issues/1832

rippled code:

https://github.com/XRPLF/rippled/blob/develop/src/xrpld/rpc/handlers/GatewayBalances.cpp#L129
2025-01-22 09:48:13 +00:00
github-actions[bot]
f9d9879513 style: clang-tidy auto fixes (#1845)
Fixes #1844. Please review and commit clang-tidy fixes.

Co-authored-by: kuznetsss <15742918+kuznetsss@users.noreply.github.com>
2025-01-22 09:46:37 +00:00
cyan317
278f7b1b58 feat: Block clio if migration is blocking (#1834)
Add:
- Block server if migration is blocking
- Initialise the migration related table when server starts against
empty DB

Add MigrationInspectorInterface. server uses inspector to check the
migrators status.
2025-01-21 14:10:01 +00:00
nkramer44
fbedeff697 fix: Remove InvalidHotWallet Error from gateway_balances RPC handler (#1830)
Fixes #1825 by removing the check in the gateway_balances RPC handler
that returns the RpcInvalidHotWallet error code if one of the addresses
supplied in the request's `hotwallet` array does not have a trustline
with the `account` from the request.

As stated in the original ticket, this change fixes a discrepancy in
behavior between Clio and rippled, as rippled does not check for
trustline existence when handling gateway_balances RPCs

Co-authored-by: Sergey Kuznetsov <skuznetsov@ripple.com>
2025-01-21 12:17:54 +00:00
cyan317
f64d8ecb77 fix: Copyright format (#1835)
Aligned the copyright notice to match the format used in other files.
Updated Copyright (c) 2022-2024 to Copyright (c) 2024 to ensure
consistency.
2025-01-16 14:36:03 +00:00
Peter Chen
3e38ea9b48 fix: Add more constraints to config (#1831)
Log file size and rotation should also not allowed to be 0.
2025-01-15 10:56:50 -05:00
Sergey Kuznetsov
7834b63b55 fix: Check result of parsing config (#1829) 2025-01-14 11:55:05 -05:00
Alex Kremer
2cf849dd12 feat: ETLng scheduling (#1820)
For #1596
2025-01-14 15:50:59 +00:00
Peter Chen
c47b96bc68 fix: comment from verify config PR (#1823)
PR here: https://github.com/XRPLF/clio/pull/1814#
2025-01-13 12:58:20 -05:00
Sergey Kuznetsov
9659d98140 fix: Reading log_channels levels from config (#1821) 2025-01-13 16:29:45 +00:00
Peter Chen
f1698c55ff feat: add config verify flag (#1814)
fixes #1806
2025-01-13 09:57:11 -05:00
github-actions[bot]
c0d52723c9 style: clang-tidy auto fixes (#1817)
Fixes #1816. Please review and commit clang-tidy fixes.

Co-authored-by: kuznetsss <15742918+kuznetsss@users.noreply.github.com>
2025-01-10 09:06:05 +00:00
Alex Kremer
590c07ad84 fix: AsyncFramework RAII (#1815)
Fixes #1812
2025-01-09 15:26:25 +00:00
Alex Kremer
48c8d85d0c feat: ETLng loader basics (#1808)
For #1597
2025-01-09 14:47:08 +00:00
Alex Kremer
36a9f40a60 fix: Optimize ledger_range query (#1797) 2025-01-07 14:52:56 +00:00
Peter Chen
698718a02a fix: Incorrect log values in newconfig (#1807)
Additional fixes for #1627
2025-01-06 17:37:40 +00:00
Alex Kremer
820b32c6d7 chore: No ALL_CAPS (#1760)
Fixes #1680
2025-01-02 11:39:31 +00:00
Alex Kremer
285d4e6e9b feat: Repeating operations for util::async (#1776)
Async framework needed a way to do repeating operations (think simplest
cases like AmendmentBlockHandler).
This PR implements the **absolute minimum**, barebones repeating
operations that
- Can't return any values (void)
- Do not take any arguments in the user-provided function
- Can't be scheduled (i.e. a delay before starting repeating)
- Can't be stopped from inside the user block of code (i.e. does not
have stop token or anything like that)
- Can be stopped through the RepeatedOperation's `abort()` function (but
not from the user-provided repeating function)
2024-12-20 13:24:01 +00:00
Sergey Kuznetsov
7d4e3619b0 fix: Fix bugs in new webserver (#1780)
Fixes #919.

Fixes bugs for new webserver:
- Unhandled exception when closing already closed websocket
- No pings for plain websocket connection
- Server drops websocket connection when client responds to pings but
doesn't send anything

Also changing API of ng connections. Now timeout is set by a separate
method instead of providing it for each call.
2024-12-19 15:14:04 +00:00