Sponsored Content
Skip to content

Refactor: Update transaction folder structure - #6483

Merged
bthomee merged 4 commits into
developfrom
tapanito/tx-restructure
Mar 6, 2026
Merged

Refactor: Update transaction folder structure#6483
bthomee merged 4 commits into
developfrom
tapanito/tx-restructure

Conversation

@Tapanito

@Tapanito Tapanito commented Mar 5, 2026

Copy link
Copy Markdown
Contributor

Reorganizes the tx/transactors directory for consistency and discoverability. No behavioral changes, this is a pure refactor. Underscores were chosen as the way to separate multi-words as this is the more popular option in C++ projects.

Changes

Reorganize transactors into feature subdirectories

  • Rename all subdirectories to lowercase/snake_case (AMMamm, Checkcheck, NFTnft, PermissionedDomainpermissioned_domain, etc.)
  • Merge AMM/ and Offer/ into dex/, including PermissionedDEXHelpers
  • Rename MPT/token/, absorbing SetTrust and Clawback
  • Move top-level transactors into named groups: account/, bridge/, credentials/, did/, escrow/, oracle/, payment/, payment_channel/, system/
  • Update all include paths across the codebase and transactions.macro

High Level Overview of Change

Context of Change

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactor (non-breaking change that only restructures code)
  • Performance (increase or change in throughput and/or latency)
  • Tests (you added tests for code that already exists, or your new feature included in this PR)
  • Documentation update
  • Chore (no impact to binary, e.g. .gitignore, formatting, dropping support for older tooling)
  • Release

API Impact

  • 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 affect libxrpl or dependents of libxrpl)
  • Peer protocol change (must be backward compatible or bump the peer protocol version)

- Rename subdirs to lowercase (AMM→amm, Check→check, NFT→nft, etc.)
- Merge AMM and Offer into dex/, add PermissionedDEXHelpers
- Rename mpt→token, add SetTrust and Clawback
- Group: account, bridge, oracle, payment, system, escrow, did,
  credentials, payment_channel, permissioned_domain, vault, lending

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@Tapanito
Tapanito force-pushed the tapanito/tx-restructure branch from 4c6562a to bd7d9ef Compare March 5, 2026 13:50
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@codecov

codecov Bot commented Mar 5, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.8%. Comparing base (af0ec7d) to head (e06adf9).
⚠️ Report is 1 commits behind head on develop.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff            @@
##           develop   #6483     +/-   ##
=========================================
- Coverage     79.9%   79.8%   -0.0%     
=========================================
  Files          861     861             
  Lines        67858   67858             
  Branches      7553    7552      -1     
=========================================
- Hits         54188   54175     -13     
- Misses       13670   13683     +13     
Files with missing lines Coverage Δ
include/xrpl/protocol/detail/transactions.macro 100.0% <ø> (ø)
include/xrpl/tx/paths/detail/StrandFlow.h 92.4% <ø> (ø)
...nclude/xrpl/tx/transactors/account/DeleteAccount.h 100.0% <ø> (ø)
include/xrpl/tx/transactors/account/SetAccount.h 100.0% <ø> (ø)
...nclude/xrpl/tx/transactors/account/SetRegularKey.h 100.0% <ø> (ø)
...nclude/xrpl/tx/transactors/account/SetSignerList.h 100.0% <ø> (ø)
include/xrpl/tx/transactors/bridge/XChainBridge.h 100.0% <ø> (ø)
include/xrpl/tx/transactors/check/CancelCheck.h 100.0% <ø> (ø)
include/xrpl/tx/transactors/check/CashCheck.h 100.0% <ø> (ø)
include/xrpl/tx/transactors/check/CreateCheck.h 100.0% <ø> (ø)
... and 131 more

... and 7 files with indirect coverage changes

Impacted file tree graph

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@godexsoft godexsoft left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@a1q123456

Copy link
Copy Markdown
Contributor

Looks cool. We need to get this merged soon before we see more and more conflicts.

@mvadari

mvadari commented Mar 5, 2026

Copy link
Copy Markdown
Contributor

@Tapanito ready to merge?

@Tapanito

Tapanito commented Mar 5, 2026

Copy link
Copy Markdown
Contributor Author

@mvadari , Im fixing the conflicts,

@Tapanito Tapanito added the Ready to merge *PR author* thinks it's ready to merge. Has passed code review. Perf sign-off may still be required. label Mar 5, 2026
@bthomee
bthomee enabled auto-merge (squash) March 5, 2026 16:52
@bthomee
bthomee merged commit 5865bd0 into develop Mar 6, 2026
3 checks passed
@bthomee
bthomee deleted the tapanito/tx-restructure branch March 6, 2026 08:25
@mvadari mvadari added this to the 3.2.0 milestone May 20, 2026
beartec-jpg pushed a commit to beartec-jpg/FalconLedger that referenced this pull request Jun 1, 2026
This change reorganizes the `tx/transactors` directory for consistency and discoverability. There are no behavioral changes, this is a pure refactor. Underscores were chosen as the way to separate multi-words as this is the more popular option in C++ projects.
 
Specific changes:
- Rename all subdirectories to lowercase/snake_case (`AMM` → `amm`, `Check` → `check`, `NFT` → `nft`, `PermissionedDomain` → `permissioned_domain`, etc.)
- Merge `AMM/` and `Offer/` into `dex/`, including `PermissionedDEXHelpers`
- Rename `MPT/` → `token/`, absorbing `SetTrust` and `Clawback`
- Move top-level transactors into named groups: `account/`, `bridge/`, `credentials/`, `did/`, `escrow/`, `oracle/`, `payment/`, `payment_channel/`, `system/`
- Update all include paths across the codebase and `transactions.macro`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Ready to merge *PR author* thinks it's ready to merge. Has passed code review. Perf sign-off may still be required.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants