Mayukha Vadari
ca331d2dba
Merge upstream/ripple/smart-escrow into xrplf/smart-contracts
...
Upstream rewrote the wasm VM and host-function system (Rust `crates/`
bridged via cxx), collapsed `transactions.macro` onto `TxSettings`, and
moved invariant running from `ApplyContext` to `Transactor`. This merge
resolves those conflicts and the breaks that carried no conflict marker.
Conflict resolutions of note:
- transactions.macro: took upstream's 5-argument `TxSettings` form and
re-expressed our `emitable` column as `TxSettings::emittance`, a new
scoped `Emittance` enum in TxSettings.h. `Emitable.cpp` and the
transaction code generator read the new member.
- sfields.macro: upstream claimed UINT32 75-80, so `sfParameterFlag`
moves from 80 to 86. The amendment is not live, so no wire break.
- HostFunc.h: took upstream's version, which drops `floatRoot`, and
re-added the 15 contract virtuals. `setDataNestedObjectField`'s
parameters are renamed to `(account, key, nestedKey, value)` to match
the implementation; the wire order is unchanged.
- WasmCommon.h: `SubmitTxnFailure` (-21) and `InvalidState` (-22) join
upstream's enum and the Rust `host_errors!` table. `Success` is gone;
the helpers that compared against it now return `expected<void, ...>`.
- Transactor.cpp: kept the emitted-transaction pass, now using
`checkInvariants(result, fee, InvariantScope::ProtocolOnly)`.
Breaks with no conflict marker:
- `Emitable.cpp` used the 8-argument TRANSACTION macro.
- `STTx::getSeqValue` is gone; use `getSeqProxy().value()`.
- `NetworkOPsImp::subLock_` is now `streamLock_`, held with `scoped_lock`.
- The `LedgerEntryHelpers` namespace is now `ledger_entry_helpers`.
- `keylet::vault` takes a `SeqProxy`. The three contract `ledger_entry`
parsers were copy-pasted from the vault one and returned vault keylets;
they now build contract, contract source and contract data keylets from
their own fields. `contract_hash` is added to jss.
The 15 contract host functions still register through the deleted C++
wrapper layer, so contract bytecode does not run yet. Porting them to the
Rust-declared ABI is the next commit.
2026-09-15 15:37:08 -04:00
Mayukha Vadari
824997df60
feat: Add sponsorship, loanBroker, and loan keylet host functions ( #8195 )
2026-09-15 12:40:32 -04:00
Sergey Kuznetsov
97b272be23
Merge develop
2026-09-10 16:10:13 +01:00
Sergey Kuznetsov
646c7ed494
refactor: Generate code to register host functions in wasm vm ( #8206 )
2026-09-10 11:27:40 +01:00
Mayukha Vadari
028783661d
feat: Apply .macro changes from ripple/smart-escrow ( #8157 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-09-09 20:05:58 +00:00
Vito Tumas
21890d9daf
feat: Register featureLendingProtocolV1_2 amendment ( #8185 )
...
Co-authored-by: Bart <bthomee@users.noreply.github.com >
2026-09-09 10:01:32 +00:00
Mayukha Vadari
e3c8996e44
feat: Add fixCleanup3_5_0 amendment placeholder ( #8174 )
2026-09-05 00:06:14 +00:00
yinyiqian1
d5bfe94f15
feat: Support key rotation in MPTokenIssuanceSet ( #7915 )
2026-09-03 21:13:06 +00:00
Mayukha Vadari
58a59c37ed
fix: Add signature prefixes for sfCounterpartySignature and sfSponsorSignature ( #8162 )
2026-09-03 17:19:07 +00:00
Chenna Keshava B S
636d2d4851
fix: Reinforce the priority of AMMClawback in case of insufficient reserves ( #7796 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-09-02 20:48:53 +00:00
Timur Yalymov
5d8fd9824e
fix: Revert credential cleanup for pseudo-accounts ( #8161 )
2026-09-02 15:00:50 +00:00
Sergey Kuznetsov
5f41471b7d
Merge ripple/se/fees and resolve conflicts
2026-09-02 13:38:38 +01:00
Sergey Kuznetsov
2e78c260a9
Merge ripple/se/wasmi-tests
2026-09-02 13:17:13 +01:00
Vito Tumas
8809bdf3f0
fix: Treat an existing IOU line as a no-op in addEmptyHolding ( #8154 )
2026-09-02 12:15:29 +00:00
Sergey Kuznetsov
ae87e88690
refactor: Use temINVALID_BYTECODE istead of temBAD_WASM ( #8156 )
2026-09-02 11:41:36 +01:00
Vito Tumas
7863ac8cf6
fix: Add 60s buffer before closed-ended vault redemption ( #8151 )
2026-09-01 18:27:05 +00:00
Vito Tumas
b3b38e4416
fix: Correct fee-payer XRP delta in ValidVault for sponsored VaultWithdraw ( #8141 )
2026-09-01 14:43:11 +00:00
Vito Tumas
ccd5dc5e06
fix: Keep LoanBrokerDelete valid for auth-required MPT cover ( #8144 )
2026-09-01 14:40:53 +00:00
Copilot
fac20a06f3
refactor: Add common helper function for injected metadata fields in RPCs ( #5706 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: Mayukha Vadari <mvadari@gmail.com >
Co-authored-by: Mayukha Vadari <mvadari@ripple.com >
Co-authored-by: Timur Yalymov <36795566+tyalymov@users.noreply.github.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
2026-08-31 17:21:25 +00:00
Mayukha Vadari
74ec538296
feat: Remove float_root ( #8110 )
2026-08-31 11:19:39 -04:00
Sergey Kuznetsov
86c781f945
Merge ripple/se/fees and resolve conflicts
2026-08-28 18:00:10 +01:00
Sergey Kuznetsov
05a1497ebc
Merge ripple/se/wasmi-tests
2026-08-28 13:30:45 +01:00
Jingchen
7281e0606a
feat: Add vault invariants ( #7732 )
...
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-08-27 17:15:17 +00:00
Jingchen
71f5555873
feat: Remove pseudo account field filter ( #8042 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-08-27 13:52:23 +00:00
Gregory Tsipenyuk
dc3bd9cf00
fix: Fix MPT/DEX Audit/Attackathon reports (Phase 1) ( #7334 )
2026-08-26 18:09:46 +00:00
Vito Tumas
1e8b136bfb
feat: Enable LendingProtocolV1_1 amendment ( #8125 )
2026-08-26 17:35:54 +00:00
Vito Tumas
3c47af779c
fix: Clamp Vault Deposit, Withdraw, and Clawback to assetsTotal grid ( #8057 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-08-26 17:02:05 +00:00
Sergey Kuznetsov
76aa7b1910
Merge ripple/wasmi
2026-08-26 17:37:11 +01:00
Vito Tumas
36c165f74d
fix: Prevent early loan impairment and due-date manipulation ( #6557 )
...
Co-authored-by: Ed Hennis <ed@ripple.com >
Co-authored-by: Timur Yalymov <36795566+tyalymov@users.noreply.github.com >
2026-08-26 13:38:24 +00:00
Jingchen
c5dc408596
fix: Remove explicit from std/boost hash specialisation default constructors ( #8100 )
2026-08-25 14:13:02 +00:00
Jingchen
f137d71510
test: Split Invariants_test.cpp into per-topic files ( #8077 )
2026-08-24 16:17:33 +00:00
Sergey Kuznetsov
a0794738a6
refactor: Wasm vm redesign ( #8012 )
...
Co-authored-by: TimothyBanks <tbanks@ripple.com >
2026-08-24 15:22:39 +01:00
Ed Hennis
764cbe7c29
perf: Pause online delete if there any gaps in recent ledger history ( #5531 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-08-24 14:16:03 +00:00
Timur Yalymov
520650081b
fix: Remove credentials pinned to Vault, LoanBroker, and AMM pseudo-accounts ( #7877 )
...
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
2026-08-24 13:06:44 +00:00
Timur Yalymov
a097ccebae
fix: Tighten destination checks on vault withdrawal ( #7977 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
2026-08-24 12:50:57 +00:00
Mayukha Vadari
85512541ad
refactor: Collapse transactions.macro settings into a TxSettings struct ( #8001 )
...
Co-authored-by: Timur Yalymov <36795566+tyalymov@users.noreply.github.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
2026-08-20 19:25:27 +00:00
Kassaking7
d0dbf9163c
fix: Prevent AMM auction slots from being acquired at zero cost when trading fee is zero ( #7430 )
2026-08-20 19:04:04 +00:00
Shawn Xie
e3ba569187
fix: Check credential for LoanBrokerCoverWithdraw and VaultWithdraw ( #7107 )
...
Co-authored-by: Peter Chen <ychen@ripple.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
2026-08-20 15:33:46 +00:00
Sergey Kuznetsov
1761d83b8a
Merge ripple/wasmi
2026-08-19 18:10:16 +01:00
Vito Tumas
d1dc7a6ccf
refactor: Extract invariant invocation into free checkInvariants runner ( #7404 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-19 14:10:11 +00:00
Timur Yalymov
368ff1afce
fix: Exempt loan default from asset freeze ( #7932 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
2026-08-19 13:43:40 +00:00
Vito Tumas
3adf2d40b5
fix: Reject VaultWithdraw fixed-share amounts that round to zero ( #7950 )
2026-08-19 13:09:38 +00:00
Bart
ca39bff3c8
refactor: Add SHAMapNodeID::isPrefixOf ( #7939 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
2026-08-18 12:35:32 +00:00
Copilot
820ca5b332
refactor: Convert boost::beast::string_view to std::string_view ( #6306 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: mvadari <8029314+mvadari@users.noreply.github.com >
Co-authored-by: Mayukha Vadari <mvadari@ripple.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
Co-authored-by: xrplf-ai-reviewer[bot] <266832837+xrplf-ai-reviewer[bot]@users.noreply.github.com>
Co-authored-by: Mayukha Vadari <mvadari@gmail.com >
Co-authored-by: Timur Yalymov <36795566+tyalymov@users.noreply.github.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
2026-08-17 23:19:56 +00:00
Gregory Tsipenyuk
1b226c8b2e
perf: Optimize MPT freeze checks to reduce redundant state reads ( #7411 )
...
Co-authored-by: Chenna Keshava B S <21219765+ckeshava@users.noreply.github.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-08-17 21:15:16 +00:00
Gregory Tsipenyuk
ca6121c5b3
feat: Enforce MPT CanTransfer on AMM LPTokens transfers ( #7418 )
2026-08-17 20:58:46 +00:00
Bart
5337d028a2
refactor: Use unsigned int for branch-related operations ( #7938 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com >
2026-08-17 10:07:14 +00:00
Bart
2adffaef72
refactor: Remove support for protocol version 2.1 ( #7432 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com >
2026-08-14 15:36:47 +00:00
Mayukha Vadari
d34aa37b3c
refactor: Use std::format instead of boost::format where it fits ( #7996 )
...
Co-authored-by: Timur Yalymov <36795566+tyalymov@users.noreply.github.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
2026-08-14 13:49:08 +00:00
Jingchen
8e9b1791c5
feat: Add a new closed ended vault to extend SAV ( #7921 )
...
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
2026-08-12 17:07:43 +00:00