Commit Graph

76 Commits

Author SHA1 Message Date
ledhed2222
777ae24f62 Fix issue with assigning values to NFT offers API responses (#301) 2022-09-13 15:54:55 -04:00
Alex Kremer
e2792f5a0c Fix compiler warnings (#306) 2022-09-12 21:35:30 +01:00
Alex Kremer
0b454a2316 Implement book_changes RPC (#300)
* Port book_changes RPC call from rippled
* Refactor for readability and modern cpp
2022-09-09 18:08:11 +01:00
CJ Cobb
ac45cce5bd insert delivered_amount based on close time (#252) 2022-09-07 18:28:07 -04:00
ethanlabelle
48e87d7c07 added cache hit rate to server info (#220) 2022-08-15 10:20:45 -05:00
CJ Cobb
709a8463b8 server_info improvements (#240)
* only return counters and etl info if client is localhost
* move cache and etl info inside info
2022-08-10 15:02:31 -04:00
Brandon Kong
d50f229631 Fixed warning message to be XRPL standard compliant (#229)
All warnings now contain Warning Objects, which have ID, Message, and Details as fields
2022-08-04 13:21:55 -04:00
CJ Cobb
b01813ac3d change id to object_id in diff response to ledger command (#218) 2022-07-26 14:08:54 -05:00
ledhed2222
6bf8c5bc4e Add NFT-specific data stores and add nft_info API (#98) 2022-07-26 15:01:14 -04:00
Nathan Nichols
28980734ae ensure lgrInfo is in context.range (#226) 2022-07-26 14:35:48 -04:00
Nathan Nichols
d83975e750 report ledger when no marker exists in ledger_data (#203) 2022-07-15 13:25:46 -05:00
Nathan Nichols
4e581e659f reserve correctly when limit is numeric_limits::max() (#198) 2022-06-28 09:28:00 -07:00
Nathan Nichols
a3a15754b4 forward channel_verify and channel_authorize (#196) 2022-06-27 13:00:36 -07:00
Nathan Nichols
59d7d1bc49 allow user to specify no peer in doAccountLines (#193) 2022-06-23 13:18:44 -04:00
CJ Cobb
7d5415e8b0 always append clio warning (#186)
* appends a warning stating that this is a clio server to every response
2022-06-17 16:01:33 -05:00
CJ Cobb
a62849b89a log every request and duration at info (#183) 2022-06-17 14:07:01 -05:00
CJ Cobb
20c2654abc bypass forwarding cache if ledger_index is current or closed (#185) 2022-06-17 14:06:47 -05:00
Nathan Nichols
92d6687151 specify [min, default, max] limits in handler table (#135)
* specify rpc limits in the handler table
* special case in ledger_data if !binary
2022-06-15 16:51:49 -05:00
Nathan Nichols
fa8405df83 return no offers when an owner directory is not found (#176) 2022-06-15 16:19:08 -05:00
Nathan Nichols
3d3b8e91b6 fix ledger_index_min/max in account_tx response (#172) 2022-06-15 16:18:57 -05:00
Nathan Nichols
14a972c8e2 error when marker does not exist (#167) 2022-06-15 16:18:45 -05:00
Nathan Nichols
166ff63dbc cache commands that dont take parameters (#153)
* Adds a forwardCache to each ETLSource which allows operators to specify which commands (that don't require parameters) they want to cache.
2022-06-15 16:18:25 -05:00
CJ Cobb
b7ae6a0495 Iterate account nft pages without using successor (#177)
* NFTs are iterated in reverse order, starting from the max page,
  working towards the min page.
* Iteration always continues to page end

Signed-off-by: CJ Cobb <ccobb@ripple.com>
2022-06-15 16:17:31 -05:00
CJ Cobb
d0ea9d20ab Use separate IO context for socket IO (#168)
* Keep track of number of requests currently being processed
* Reject new requests when number of in flight requests exceeds a
  configurable limit
* Track time spent between request arrival and start of request
  processing

Signed-off-by: CJ Cobb <ccobb@ripple.com>

Co-authored-by: natenichols <natenichols@cox.net>
2022-06-15 16:17:15 -05:00
Nathan Nichols
f16a05ae7a cleanup websocket sessions that are subscribed to books or accounts (#146) 2022-06-03 12:46:45 -05:00
Nathan Nichols
458fac776c move version specifier to Build.h 2022-06-02 16:37:43 -07:00
Nathan Nichols
af575b1bcf dont report error.what() when returning rpcINTERNAL (#163) 2022-06-02 16:41:09 -05:00
Nathan Nichols
ee615a290b report transactions as validated in account_tx (#165) 2022-06-02 16:21:55 -05:00
Nathan Nichols
31cc06d4f4 handle string ledger_index values in doAccountTx (#162)
* handle string ledger_index values in doAccountTx

* return ledgerInfo when ledger_hash is specified
2022-06-02 15:53:12 -05:00
Devon White
9939f6e6f4 Add NFT RPC infrastructure 2022-05-18 15:41:56 -04:00
CJ Cobb
8bf44c978e Log cleanup (#150)
* log duration of rpc requests and request itself
* clean up book_offers logging
2022-05-11 12:46:40 -05:00
Nathan Nichols
cdabdec620 return entryNotFound instead of ledgerNotFound (#149) 2022-05-03 17:24:56 -05:00
Nathan Nichols
d4dc827ad1 fix validated_ledger location in server_info (#144)
* put validated_ledger in "info"
* return internal error if db reads fail
* reorganize doServerInfo()
* forward load_factor and quorum correctly
2022-04-26 19:49:51 -05:00
Michael Legleux
b2c1731bcd Fix header and function call (#138)
* RippledState.h --> TrustLine.h

* fix getAffectedAccounts() calls
2022-04-11 13:43:21 -04:00
Nathan Nichols
d6ec0f2aae round age to zero when negative (#137) 2022-03-30 13:02:59 -05:00
Nathan Nichols
9b1de77110 use 64 bit counters (#136)
* use 64 bit counters
2022-03-30 13:01:56 -05:00
Nathan Nichols
e526083456 Hotfix for account_info, ledger_data and ip() (#134)
* remove option to create account from seed

* catch errors in derived().ip()

* checks keys.size() before accessing
2022-03-25 16:57:32 -04:00
Nathan Nichols
1d5c482d9c Make Clio RPCs more consistent with rippled (#110)
* parse ledger_index as number

* allow websocket to use "command" or "method"

* mark all non-forwarded responses as validated

* dont mark forwarded errors as successful

* reduce forwarding Websocket expiration 30->3 seconds

* fix merge conflict in test.py

* adds ledger_current and ledger_closed

* deserialize `taker_gets_funded` into amount json

* limit account RPCs by number of objects traversed

* assign result correctly
2022-03-21 18:28:03 -05:00
CJ Cobb
b1add848f4 add etl info to server_info response 2022-03-21 13:57:35 -07:00
CJ Cobb
f8437b9ba4 proper handling of deleted objects 2022-03-21 13:57:35 -07:00
CJ Cobb
f41bfa3715 only return non-deleted object 2022-03-21 13:57:35 -07:00
CJ Cobb
7c6979ae57 optimized ledger_data 2022-03-21 13:57:35 -07:00
CJ Cobb
16e3c87dcc don't create strands for cache download. output cache info in server_info 2022-03-21 13:57:35 -07:00
CJ Cobb
b332c388d2 Load cache from our own database 2022-03-07 15:55:42 -05:00
Nathan Nichols
738577309d specify CMAKE_CXX_STANDARD (#102)
* specify CMAKE_CXX_STANDARD

* add reference to range based for loop
2022-02-22 17:18:31 -06:00
undertome
c03b72ad51 Advance DOSGuard (#96)
* Add C++20 features
* Make whitelist const
2022-02-18 17:43:02 -05:00
natenichols
d016253264 Make database reads async
* yield on db read using asio
* PostgresBackend fetches multiple transactions or objects in parallel
2022-02-16 09:36:51 -05:00
CJ Cobb
da96608feb add diff flag to ledger command 2022-01-25 12:11:05 -05:00
Michael Legleux
bdfd07f154 clang-format (#86)
* clang-format

* ignore clang-format commit; run clang-format in github actions
2022-01-24 15:26:53 -05:00
Nathan Nichols
c3c248734f Unwrap result when forwarding (#78)
* fix error formatting for forwarded responses

* unwrap result when forwarding successful responses
2022-01-05 15:06:47 -05:00