mirror of
https://github.com/XRPLF/rippled.git
synced 2026-08-22 06:40:53 +00:00
- Document the mutate-then-transfer ordering that every helper follows and the caller obligation to discard the ApplyView on non-tesSUCCESS (transactor sandbox convention). - Assert that removeVaultAssets is only called with `amount == sfAssetsAvailable` when FinalRemoval::Yes, so a mis-specified amount can no longer zero the Vault fields while leaving dust on the pseudo-account. - Mirror the `assetsAvailable <= assetsTotal` XRPL_ASSERT_PARTS from LoanSet/LoanPay in LoanManage::defaultLoan's fixCleanup3_4_0 branch for defense-in-depth parity. - Extend VaultHelpers_test failure-path cases to pin the mutate-then- transfer observable, add a third-party-destination sub-test for removeVaultAssets, add a Legacy-vault fixture for moveVaultAssets with nonzero valueDelta, and add an MPT-backed fixture covering add/removeVaultAssets against the integral-asset transfer path. Addresses review comments on #7983 from @gregtatcam, @xrplf-ai-reviewer, and @copilot-pull-request-reviewer.