rippled
rippled copied to clipboard
XLS-42d: XRPL Plugins
High Level Overview of Change
This PR adds support for XLS-42d, XRPL Plugins. This allows people to develop features in any language that supports the API (currently, C++ and Python).
This feature will not require an amendment, and will not affect mainnet.
See https://github.com/mvadari/xrpl-plugin/ for more information.
Context of Change
Spec: https://github.com/XRPLF/XRPL-Standards/discussions/116
Type of Change
- [x] New feature (non-breaking change which adds functionality)
API Impact
There should not be any changes to how people use rippled right now, just additional features.
- [ ] Public API: New feature (new methods and/or new fields)
- [ ] Public API: Breaking change (in general, breaking changes should only impact the next api_version)
- [ ]
libxrpl
change (any change that may affectlibxrpl
or dependents oflibxrpl
) - [ ] Peer protocol change (must be backward compatible or bump the peer protocol version)
Test Plan
Tests have been written with sample C++ plugins. There is also a Python library in development at https://github.com/mvadari/xrpl-plugin/ and more tests will be written there.
Future Tasks
Fix the remaining failing tests and add support for all Transaction
methods
Codecov Report
Attention: Patch coverage is 67.96875%
with 328 lines
in your changes missing coverage. Please review.
Project coverage is 71.0%. Comparing base (
2df6356
) to head (25966bd
). Report is 27 commits behind head on develop.
Additional details and impacted files
@@ Coverage Diff @@
## develop #4847 +/- ##
=========================================
- Coverage 71.1% 71.0% -0.1%
=========================================
Files 796 810 +14
Lines 66997 67787 +790
Branches 11005 11106 +101
=========================================
+ Hits 47639 48157 +518
- Misses 19358 19630 +272
Files | Coverage Δ | |
---|---|---|
src/ripple/app/ledger/AcceptedLedgerTx.h | 100.0% <ø> (ø) |
|
src/ripple/app/ledger/LedgerToJson.h | 100.0% <ø> (ø) |
|
src/ripple/app/misc/impl/AMMUtils.cpp | 99.4% <100.0%> (ø) |
|
src/ripple/app/misc/impl/DeliverMax.cpp | 100.0% <100.0%> (ø) |
|
src/ripple/app/tx/TxConsequences.h | 100.0% <100.0%> (ø) |
|
src/ripple/app/tx/applySteps.h | 100.0% <ø> (ø) |
|
src/ripple/app/tx/impl/ApplyContext.cpp | 100.0% <ø> (ø) |
|
src/ripple/app/tx/impl/Escrow.cpp | 83.1% <ø> (ø) |
|
src/ripple/app/tx/impl/InvariantCheck.h | 100.0% <ø> (ø) |
|
src/ripple/app/tx/impl/PreclaimContext.h | 100.0% <100.0%> (ø) |
|
... and 83 more |