Commit Graph

14207 Commits

Author SHA1 Message Date
Vito
09e6aa1aa6 one more 2026-06-26 19:33:45 +02:00
Vito
661e5a7ce1 ai feedback 2026-06-26 19:32:49 +02:00
Vito
3a8f212db2 Merge remote-tracking branch 'origin/develop' into tapanito/vault-freeze-check
# Conflicts:
#	src/libxrpl/ledger/helpers/MPTokenHelpers.cpp
#	src/test/app/Vault_test.cpp
2026-06-26 17:13:40 +02:00
Vito
c3aae7b81d AI feedback 2026-06-26 13:19:42 +02:00
Vito
c7ee3c2727 fix: fix failing unit-test \w higher fee 2026-06-26 13:05:42 +02:00
Ayaz Salikhov
50fdb38ace chore: Enable groups of clang-tidy checks by default (#7637) 2026-06-26 10:46:39 +00:00
Ayaz Salikhov
bb2ab4243b ci: Better determine when we need to run full clang-tidy (#7635) 2026-06-26 10:42:24 +00:00
Timothy Banks
2ab43b6fda refactor: Retire NFTokenReserve fix (#7367) 2026-06-26 10:31:16 +00:00
Timothy Banks
12a5d9014e refactor: Retire Clawback amendment (#7353) 2026-06-26 10:24:25 +00:00
Mayukha Vadari
b9eee1d245 refactor: Rename (mostly keylet) functions to more closely match the docs (#7059)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-06-26 10:24:12 +00:00
Vito Tumas
e8bc09c185 Merge branch 'develop' into tapanito/vault-freeze-check 2026-06-26 09:57:09 +02:00
Ayaz Salikhov
0711a7b493 build: Switch to a new conan XRPLF remote, again (#7638) 2026-06-25 22:06:04 +00:00
Vito Tumas
6251805ca2 Merge branch 'develop' into tapanito/vault-freeze-check 2026-06-25 18:25:43 +02:00
Ayaz Salikhov
07c64f07f0 chore: Revert "build: Switch to a new conan XRPLF remote (#7622)" (#7623) 2026-06-25 14:47:55 +00:00
Vito
a65eeea258 fix: missing ret check 2026-06-25 15:27:58 +02:00
Vito Tumas
160b9abc65 Merge branch 'develop' into tapanito/vault-freeze-check 2026-06-25 14:40:33 +02:00
Ayaz Salikhov
3097c157b6 build: Switch to a new conan XRPLF remote (#7622) 2026-06-25 08:40:06 -04:00
Vito Tumas
a91c3b2872 Merge branch 'develop' into tapanito/vault-freeze-check 2026-06-25 14:39:00 +02:00
Vito
ea8c6ff96f fix: Authorize AMM pseudo-accounts holding vault shares
A pseudo-account that holds vault shares but not the underlying asset fails
requireAuth's recursive share->underlying check, which left an AMM unable to
read its own vault-share balance (read as zero via accountHolds) and blocked
the MPToken transfer invariant on AMM create.

Exempt pseudo-accounts before the recursive check in requireAuth, gated by
fixCleanup3_3_0 to preserve pre-amendment consensus, and treat them as
authorized in the MPToken transfer invariant (fork-safe: that invariant is
enforced only under MPTokensV2). Create and withdraw of AMM-held vault shares
now succeed once fixCleanup3_3_0 is enabled.

Add AMM/vault-share coverage and side-specific AMM_WITHDRAW freeze invariant
tests, and correct the pre-amendment test expectations: pre-fixCleanup3_3_0
the shares remain inaccessible to the pseudo-account, so the withdraw fails
with tecAMM_FAILED.
2026-06-25 14:34:22 +02:00
Vito
95ddd1d251 fix: move amendment permutation generation to env 2026-06-25 11:41:31 +02:00
Michael Legleux
556d62a0de build: Align xrpld RPM packaging with DEB package (#7529) 2026-06-24 23:53:46 +00:00
Ayaz Salikhov
eef8f4a4ff chore: Use clang-tidy v22 new features (#7427) 2026-06-24 17:23:29 +00:00
Ayaz Salikhov
4fec58251b build: Patch nix binaries in CMake (#7539)
Co-authored-by: Bart <bthomee@users.noreply.github.com>
2026-06-24 13:56:18 +00:00
Ayaz Salikhov
8bbbc2051e chore: Check more tools to be available (#7600) 2026-06-24 12:25:03 +00:00
Mayukha Vadari
6736ab39df test: Add test for Permissioned Domain sequence fix (#7591)
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-24 12:24:27 +00:00
Ayaz Salikhov
b68e1f7170 fix: Add pragma once checker (#7580) 2026-06-24 12:24:04 +00:00
Timothy Banks
bb7c4d1c9f fix: Additional RPC validation checks on ammRpcInfo account and amm_account fields. (#7324) 2026-06-24 12:23:12 +00:00
Zhiyuan Wang
69d289a388 fix: AMM Quality Leak into Domain BookStep for Permissioned DEX (#6853)
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-24 12:15:45 +00:00
Jingchen
6341e75200 refactor: Refactor TaggedCache.ipp to remove const_cast in canonicalize_replace_cache (#5638)
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: xrplf-ai-reviewer[bot] <266832837+xrplf-ai-reviewer[bot]@users.noreply.github.com>
2026-06-24 12:15:11 +00:00
Vito Tumas
0addb3f844 Update src/libxrpl/ledger/helpers/TokenHelpers.cpp
Co-authored-by: Shawn Xie <35279399+shawnxie999@users.noreply.github.com>
2026-06-24 13:50:37 +02:00
Vito
1e135ab007 Merge remote-tracking branch 'origin/develop' into tapanito/vault-freeze-check 2026-06-24 12:17:31 +02:00
Vito
c3e8bba585 assertion typo 2026-06-24 12:17:23 +02:00
Vito
cdbc52f785 clang-tidy 2026-06-24 12:14:52 +02:00
Vito
d77da248e7 address review feedback 2026-06-24 12:13:27 +02:00
Vito
b2b240e9d5 refactor: extract amendmentCombinations; document vault-share freeze checks
- Move amendmentCombinations algorithm to jtx::amendmentCombinations in
  test/jtx/utility.h+cpp; it was copy-pasted into both AMM_test and
  AMMMPT_test. AMM_test retains a one-liner wrapper that seeds from its
  local testableAmendments() (strips SAV/Lending).
- Document the isVaultPseudoAccountFrozen sub-step in the Doxygen for
  checkWithdrawFreeze and checkDepositFreeze; the MPT-only transitive
  freeze check occurs between the listed steps 1 and 2 in each function.
- Expand the IgnoreFreeze comment in VaultWithdraw::doApply to explain
  why preclaim validation makes the flag safe to use post-fix330.
2026-06-24 11:12:17 +02:00
Vito
f3d15671ec tests: add vault-share freeze checks in AMM operations
Adds testAMMWithVaultShares to AMMMPT_test verifying that underlying-asset
freeze propagates to vault shares in AMM deposit/withdraw, pre- and
post-fixCleanup3_3_0.

Prerequisite fixes that unblocked the test:
- MPTokenHelpers: move pseudo-account exemption before the recursive
  vault-underlying check in requireAuth so AMM pseudo-accounts are not
  rejected when holding vault shares whose underlying needs auth.
- MPTInvariant: gate isVaultPseudoAccountFrozen on fixCleanup3_3_0;
  pre-amendment AMM withdrawals of vault shares are permitted even when
  the underlying is individually frozen.
- TokenHelpers: remove dead checkIndividualDeepFrozen and forward decl
  for isLPTokenFrozen (both unused after earlier refactor).
2026-06-24 11:11:51 +02:00
Vito
786a163517 tests: invariant test for vault-share freeze gate
Add a test to testMPT() in Invariants_test.cpp that verifies the
ValidMPTTransfer invariant correctly gates isVaultPseudoAccountFrozen
on fixCleanup3_3_0.

The test creates an IOU vault whose shares are held by two accounts,
then freezes the underlying IOU for one account (a1). It simulates a
vault-share transfer by directly modifying the MPToken SLEs:

- post-fixCleanup3_3_0: isVaultPseudoAccountFrozen finds a1's underlying
  IOU frozen → invalidTransfer → "invalid MPToken transfer between
  holders" → tecINVARIANT_FAILED.

- pre-fixCleanup3_3_0: the vault-underlying check is not called;
  the transfer is allowed even though the underlying IOU is frozen
  → tesSUCCESS.
2026-06-24 10:37:43 +02:00
yinyiqian1
5a2c82f699 fix: Reject delegate permission to pseudo accounts (#7597) 2026-06-23 19:55:23 +00:00
Jingchen
0b22050b5e ci: Update workflows and conan to use VS2026 and grpc 1.81.0 (#7550)
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com>
2026-06-23 19:25:38 +00:00
Vito
799f126bf4 removes junk files 2026-06-23 18:48:10 +02:00
Vito
44af7c2ae3 adds explicit pseudo-account freeze handling 2026-06-23 18:47:13 +02:00
Vito
8edf2538a9 tests: adds explict IOU self-withdrawal tests 2026-06-23 15:11:34 +02:00
Vito
884d1591a7 fix: removes redundant global freeze checks 2026-06-23 14:14:29 +02:00
Bart
ff02269c0d refactor: Use dispatch instead of post (#7438)
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com>
2026-06-22 22:35:28 +00:00
Vito
1a3aed2b9f Merge remote-tracking branch 'origin/develop' into tapanito/vault-freeze-check 2026-06-22 20:56:15 +02:00
Mayukha Vadari
dd7401fde2 refactor: Clean up tec object deletion logic (#6588)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-06-22 18:44:42 +00:00
Zhiyuan Wang
19a9ed7767 fix: Move AMMInvariant weakInvariantCheck logic into the transaction (#7032) 2026-06-22 18:42:57 +00:00
Zhiyuan Wang
93eab33dc2 fix: Improve ValidAMM invariant (#7295) 2026-06-22 17:45:42 +00:00
yinyiqian1
997267f845 feat: Remove clear mutable flags for DynamicMPT XLS-94 (#7439) 2026-06-22 17:36:06 +00:00
Ayaz Salikhov
e29b523620 ci: Build and push docker images in forks too (#7588) 2026-06-22 17:00:40 +00:00