Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposed version 2.3.0 #5204

Merged
merged 85 commits into from
Nov 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
e3d1bb2
Fix compatibility with Conan 2.x: (#5001)
thejohnfreeman Jun 11, 2024
d576416
Add new command line option to make replaying transactions easier: (#…
Bronek Jun 11, 2024
58f3abe
Fix conan typo: (#5044)
oleks-rip Jun 12, 2024
263e984
Additional unit tests for testing deletion of trust lines (#4886)
ckeshava Jun 13, 2024
ae7ea33
fixReducedOffersV2: prevent offers from blocking order books: (#5032)
scottschurr Jun 13, 2024
20d0549
Expose all amendments known by libxrpl (#5026)
godexsoft Jun 14, 2024
3f5e321
chore: remove repeat words (#5041)
todaymoon Jun 14, 2024
9f7c619
XLS-52d: NFTokenMintOffer (#4845)
tequdev Jun 14, 2024
06733ec
docs: explain how to find a clang-format patch generated by CI (#4521)
intelliot Jun 17, 2024
8258640
Replaces the usage of boost::string_view with std::string_view (#4509)
ckeshava Jun 17, 2024
223e6c7
Add the fixEnforceNFTokenTrustline amendment: (#4946)
scottschurr Jun 18, 2024
c706926
Change order of checks in amm_info: (#4924)
Bronek Jun 18, 2024
ae20a3a
Prepare to rearrange sources: (#4997)
thejohnfreeman Mar 30, 2024
f6879da
Add bin/physical.sh (#4997)
thejohnfreeman Mar 30, 2024
2e902de
Move CMake directory (#4997)
Jun 20, 2024
e416ee7
Rearrange sources (#4997)
Jun 20, 2024
1d23148
Rewrite includes (#4997)
Jun 20, 2024
d028005
Recompute loops (#4997)
Jun 20, 2024
7cf4611
Ignore restructuring commits (#4997)
thejohnfreeman Jun 20, 2024
ef02893
Set version to 2.3.0-b1
seelabs Jun 20, 2024
9fec615
fixInnerObjTemplate2 amendment (#5047)
scottschurr Jun 27, 2024
e1534a3
fix "account_nfts" with unassociated marker returning issue (#5045)
yinyiqian1 Jul 2, 2024
7a1b238
Bump codecov plugin version to version 4.5.0 (#5055)
Bronek Jul 2, 2024
a17ccca
Invariant: prevent a deleted account from leaving (most) artifacts on…
ximinez Jul 5, 2024
0f32109
fix CTID in tx command returns invalidParams on lowercase hex (#5049)
yinyiqian1 Jul 5, 2024
e8602b8
chore: remove repeat words (#5053)
dashangcun Jul 9, 2024
f3bcc65
Add xrpld build option and Conan package test (#5052)
thejohnfreeman Jul 11, 2024
ad14d09
Update BUILD.md after PR #5052 (#5067)
dangell7 Jul 23, 2024
20707fa
chore: Rename two files from Directory* to Dir*: (#5058)
scottschurr Jul 25, 2024
21a0a64
chore: Add comments to SignerEntries.h (#5059)
scottschurr Jul 25, 2024
d54151e
Disallow filtering account_objects by unsupported types (#5056)
yinyiqian1 Jul 29, 2024
8fc805d
fix: Fix NuDB build error via Conan patch (#5061)
ximinez Jul 29, 2024
2820feb
Ensure levelization sorting is ASCII-order across platforms (#5072)
ximinez Jul 29, 2024
a39720e
fix: change error for invalid `feature` param in `feature` RPC (#5063)
mvadari Jul 30, 2024
b9b75dd
Remove unused constants from resource/Fees.h (#4856)
scottschurr Jul 30, 2024
f5a3495
docs: Document the process for merging pull requests (#5010)
ximinez Jul 31, 2024
8b181ed
Merge branch 'master' into develop
Bronek Jul 31, 2024
e5aa605
Set version to 2.3.0-b2
ximinez Jul 31, 2024
ffc343a
Fix crash inside `OverlayImpl` loops over `ids_` (#5071)
Bronek Aug 2, 2024
eedfec0
Update gcovr EXCLUDE (#5084)
Bronek Aug 2, 2024
7d27b11
Remove shards (#5066)
thejohnfreeman Aug 3, 2024
0a331ea
Factor out Transactor::trapTransaction (#5087)
Bronek Aug 5, 2024
c19a88f
Address rare corruption of NFTokenPage linked list (#4945)
scottschurr Aug 7, 2024
93d8baf
chore: libxrpl verification on CI (#5028)
ximinez Aug 15, 2024
d9bd75e
chore: Fix documentation generation job: (#5091)
ximinez Aug 15, 2024
4d7aed8
refactor: Remove reporting mode (#5092)
thejohnfreeman Aug 28, 2024
cad8970
refactor: Remove dead headers (#5081)
thejohnfreeman Aug 28, 2024
2f432e8
docs: Update options documentation (#5083)
thejohnfreeman Aug 28, 2024
37b3e96
Merge remote-tracking branch 'upstream/master' into upstream--develop
ximinez Sep 3, 2024
cc0177b
Update Release Notes for 2.2.1 and 2.2.2
ximinez Sep 3, 2024
23991c9
test: Retry RPC commands to try to fix MacOS CI jobs (#5120)
ximinez Sep 11, 2024
fa1cbb0
Merge remote-tracking branch 'origin/master' into develop-next
intelliot Sep 15, 2024
9a6af9c
chore: fix typos in comments (#5094)
luozexuan Sep 16, 2024
b6391fe
fix(book_changes): add "validated" field and reduce RPC latency (#5096)
ckeshava Sep 19, 2024
0ece395
refactor: re-order PRAGMA statements (#5140)
vvysokikh1 Sep 20, 2024
a753099
feat(SQLite): allow configurable database pragma values (#5135)
dangell7 Sep 20, 2024
1fbf8da
Set version to 2.3.0-b4
intelliot Sep 18, 2024
8e2c85d
docs: clean up API-CHANGELOG.md (#5064)
intelliot Oct 1, 2024
bf4a7b6
Expand Error Message for rpcInternal (#4959)
ckeshava Oct 1, 2024
f6d647d
Update clang-format workflow
thejohnfreeman Mar 1, 2024
decb3c1
Update clang-format settings
thejohnfreeman Mar 1, 2024
e7cd033
Update pre-commit hook
thejohnfreeman Mar 1, 2024
552377c
Reformat code with clang-format-18
thejohnfreeman Oct 15, 2024
f0dabd1
Ignore reformat when blaming
thejohnfreeman Oct 15, 2024
63209c2
Consolidate definitions of fields, objects, transactions, and feature…
thejohnfreeman Oct 16, 2024
23c37fa
Introduce MPT support (XLS-33d): (#5143)
gregtatcam Oct 29, 2024
ab5d450
Update RELEASENOTES.md (#5154)
BobConanDev Oct 29, 2024
d4a5f83
fix: reject invalid markers in account_objects RPC calls (#5046)
yinyiqian1 Oct 29, 2024
0d887ad
docs: Add protobuf dependencies to linux setup instructions (#5156)
vlntb Oct 29, 2024
d6dbf0e
Add hubs.xrpkuwait.com to bootstrap (#5169)
alloynetworks Oct 31, 2024
54a350b
Add AMMClawback Transaction (XLS-0073d) (#5142)
yinyiqian1 Nov 4, 2024
d57cced
Fix unity build (#5179)
gregtatcam Nov 5, 2024
ec61f5e
Add fixAMMv1_2 amendment (#5176)
gregtatcam Nov 5, 2024
c5c0e70
Fix token comparison in Payment (#5172)
gregtatcam Nov 6, 2024
8e827e3
Introduce Credentials support (XLS-70d): (#5103)
oleks-rip Nov 6, 2024
9e48fc0
Fix potential deadlock (#5124)
Bronek Nov 6, 2024
7b18006
Replace Uint192 with Hash192 in server_definitions response (#5177)
shawnxie999 Nov 6, 2024
9d58f11
Set version to 2.3.0-rc1
ximinez Nov 6, 2024
2316d84
Fix ledger_entry crash on invalid credentials request (#5189)
Bronek Nov 12, 2024
8186253
fix: include `index` in `server_definitions` RPC (#5190)
mvadari Nov 12, 2024
838978b
Set version to 2.3.0-rc2
ximinez Nov 12, 2024
0ec17b6
fix: check for valid ammID field in amm_info RPC (#5188)
oleks-rip Nov 18, 2024
f419c18
Add a new serialized type: STNumber (#5121)
intelliot Nov 25, 2024
b54d85d
refactor(AMMClawback): move tfClawTwoAssets check (#5201)
intelliot Nov 25, 2024
f64cf91
Set version to 2.3.0
intelliot Nov 25, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 6 additions & 2 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,11 @@ DisableFormat: false
ExperimentalAutoDetectBinPacking: false
ForEachMacros: [ Q_FOREACH, BOOST_FOREACH ]
IncludeCategories:
- Regex: '^<(BeastConfig)'
- Regex: '^<(test)/'
Priority: 0
- Regex: '^<(ripple)/'
- Regex: '^<(xrpld)/'
Priority: 1
- Regex: '^<(xrpl)/'
Priority: 2
- Regex: '^<(boost)/'
Priority: 3
Expand All @@ -56,6 +58,7 @@ IncludeCategories:
IncludeIsMainRegex: '$'
IndentCaseLabels: true
IndentFunctionDeclarationAfterType: false
IndentRequiresClause: true
IndentWidth: 4
IndentWrappedFunctionNames: false
KeepEmptyLinesAtTheStartOfBlocks: false
Expand All @@ -71,6 +74,7 @@ PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 200
PointerAlignment: Left
ReflowComments: true
RequiresClausePosition: OwnLine
SortIncludes: true
SpaceAfterCStyleCast: false
SpaceBeforeAssignmentOperators: true
Expand Down
4 changes: 2 additions & 2 deletions .codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,5 @@ slack_app: false

ignore:
- "src/test/"
- "src/ripple/beast/test/"
- "src/ripple/beast/unit_test/"
- "include/xrpl/beast/test/"
- "include/xrpl/beast/unit_test/"
5 changes: 5 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,8 @@ e2384885f5f630c8f0ffe4bf21a169b433a16858
241b9ddde9e11beb7480600fd5ed90e1ef109b21
760f16f56835663d9286bd29294d074de26a7ba6
0eebe6a5f4246fced516d52b83ec4e7f47373edd
2189cc950c0cebb89e4e2fa3b2d8817205bf7cef
b9d007813378ad0ff45660dc07285b823c7e9855
fe9a5365b8a52d4acc42eb27369247e6f238a4f9
9a93577314e6a8d4b4a8368cc9d2b15a5d8303e8
552377c76f55b403a1c876df873a23d780fcc81c
2 changes: 2 additions & 0 deletions .github/actions/build/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ runs:
${{ inputs.generator && format('-G "{0}"', inputs.generator) || '' }} \
-DCMAKE_TOOLCHAIN_FILE:FILEPATH=build/generators/conan_toolchain.cmake \
-DCMAKE_BUILD_TYPE=${{ inputs.configuration }} \
-Dtests=TRUE \
-Dxrpld=TRUE \
${{ inputs.cmake-args }} \
..
- name: build
Expand Down
2 changes: 2 additions & 0 deletions .github/actions/dependencies/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@ runs:
conan install \
--output-folder . \
--build missing \
--options tests=True \
--options xrpld=True \
--settings build_type=${{ inputs.configuration }} \
..
- name: upload dependencies to remote
Expand Down
12 changes: 5 additions & 7 deletions .github/workflows/clang-format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ on: [push, pull_request]

jobs:
check:
runs-on: ubuntu-20.04
runs-on: ubuntu-24.04
env:
CLANG_VERSION: 10
CLANG_VERSION: 18
steps:
- uses: actions/checkout@v4
- name: Install clang-format
Expand All @@ -19,10 +19,8 @@ jobs:
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add
sudo apt-get update
sudo apt-get install clang-format-${CLANG_VERSION}
- name: Format src/ripple
run: find src/ripple -type f \( -name '*.cpp' -o -name '*.h' -o -name '*.ipp' \) -print0 | xargs -0 clang-format-${CLANG_VERSION} -i
- name: Format src/test
run: find src/test -type f \( -name '*.cpp' -o -name '*.h' -o -name '*.ipp' \) -print0 | xargs -0 clang-format-${CLANG_VERSION} -i
- name: Format first-party sources
run: find include src -type f \( -name '*.cpp' -o -name '*.hpp' -o -name '*.h' -o -name '*.ipp' \) -exec clang-format-${CLANG_VERSION} -i {} +
- name: Check for differences
id: assert
run: |
Expand Down Expand Up @@ -52,7 +50,7 @@ jobs:
To fix it, you can do one of two things:
1. Download and apply the patch generated as an artifact of this
job to your repo, commit, and push.
2. Run 'git-clang-format --extensions c,cpp,h,cxx,ipp develop'
2. Run 'git-clang-format --extensions cpp,h,hpp,ipp develop'
in your repo, commit, and push.
run: |
echo "${PREAMBLE}"
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/doxygen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
branches:
- develop
- doxygen
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
Expand Down
88 changes: 88 additions & 0 deletions .github/workflows/libxrpl.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
name: Check libXRPL compatibility with Clio
env:
CONAN_URL: http://18.143.149.228:8081/artifactory/api/conan/conan-non-prod
CONAN_LOGIN_USERNAME_RIPPLE: ${{ secrets.CONAN_USERNAME }}
CONAN_PASSWORD_RIPPLE: ${{ secrets.CONAN_TOKEN }}
on:
pull_request:
paths:
- 'src/libxrpl/protocol/BuildInfo.cpp'
- '.github/workflows/libxrpl.yml'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
publish:
name: Publish libXRPL
outputs:
outcome: ${{ steps.upload.outputs.outcome }}
version: ${{ steps.version.outputs.version }}
channel: ${{ steps.channel.outputs.channel }}
runs-on: [self-hosted, heavy]
container: rippleci/rippled-build-ubuntu:aaf5e3e
steps:
- name: Wait for essential checks to succeed
uses: lewagon/[email protected]
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
running-workflow-name: wait-for-check-regexp
check-regexp: '(dependencies|test).*linux.*' # Ignore windows and mac tests but make sure linux passes
repo-token: ${{ secrets.GITHUB_TOKEN }}
wait-interval: 10
- name: Checkout
uses: actions/checkout@v4
- name: Generate channel
id: channel
shell: bash
run: |
echo channel="clio/pr_${{ github.event.pull_request.number }}" | tee ${GITHUB_OUTPUT}
- name: Export new package
shell: bash
run: |
conan export . ${{ steps.channel.outputs.channel }}
- name: Add Ripple Conan remote
shell: bash
run: |
conan remote list
conan remote remove ripple || true
# Do not quote the URL. An empty string will be accepted (with a non-fatal warning), but a missing argument will not.
conan remote add ripple ${{ env.CONAN_URL }} --insert 0
- name: Parse new version
id: version
shell: bash
run: |
echo version="$(cat src/libxrpl/protocol/BuildInfo.cpp | grep "versionString =" \
| awk -F '"' '{print $2}')" | tee ${GITHUB_OUTPUT}
- name: Try to authenticate to Ripple Conan remote
id: remote
shell: bash
run: |
# `conan user` implicitly uses the environment variables CONAN_LOGIN_USERNAME_<REMOTE> and CONAN_PASSWORD_<REMOTE>.
# https://docs.conan.io/1/reference/commands/misc/user.html#using-environment-variables
# https://docs.conan.io/1/reference/env_vars.html#conan-login-username-conan-login-username-remote-name
# https://docs.conan.io/1/reference/env_vars.html#conan-password-conan-password-remote-name
echo outcome=$(conan user --remote ripple --password >&2 \
&& echo success || echo failure) | tee ${GITHUB_OUTPUT}
- name: Upload new package
id: upload
if: (steps.remote.outputs.outcome == 'success')
shell: bash
run: |
echo "conan upload version ${{ steps.version.outputs.version }} on channel ${{ steps.channel.outputs.channel }}"
echo outcome=$(conan upload xrpl/${{ steps.version.outputs.version }}@${{ steps.channel.outputs.channel }} --remote ripple --confirm >&2 \
&& echo success || echo failure) | tee ${GITHUB_OUTPUT}
notify_clio:
name: Notify Clio
runs-on: ubuntu-latest
needs: publish
env:
GH_TOKEN: ${{ secrets.CLIO_NOTIFY_TOKEN }}
steps:
- name: Notify Clio about new version
if: (needs.publish.outputs.outcome == 'success')
shell: bash
run: |
gh api --method POST -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" \
/repos/xrplf/clio/dispatches -f "event_type=check_libxrpl" \
-F "client_payload[version]=${{ needs.publish.outputs.version }}@${{ needs.publish.outputs.channel }}"
52 changes: 51 additions & 1 deletion .github/workflows/nix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ jobs:
- name: upload coverage report
uses: wandalen/[email protected]
with:
action: codecov/codecov-action@v4.3.0
action: codecov/codecov-action@v4.5.0
with: |
files: coverage.xml
fail_ci_if_error: true
Expand All @@ -232,3 +232,53 @@ jobs:
token: ${{ secrets.CODECOV_TOKEN }}
attempt_limit: 5
attempt_delay: 210000 # in milliseconds

conan:
needs: dependencies
runs-on: [self-hosted, heavy]
container: rippleci/rippled-build-ubuntu:aaf5e3e
env:
build_dir: .build
configuration: Release
steps:
- name: download cache
uses: actions/download-artifact@v3
with:
name: linux-gcc-${{ env.configuration }}
- name: extract cache
run: |
mkdir -p ~/.conan
tar -xzf conan.tar -C ~/.conan
- name: check environment
run: |
env | sort
echo ${PATH} | tr ':' '\n'
conan --version
cmake --version
- name: checkout
uses: actions/checkout@v4
- name: dependencies
uses: ./.github/actions/dependencies
env:
CONAN_URL: http://18.143.149.228:8081/artifactory/api/conan/conan-non-prod
with:
configuration: ${{ env.configuration }}
- name: export
run: |
version=$(conan inspect --raw version .)
reference="xrpl/${version}@local/test"
conan remove -f ${reference} || true
conan export . local/test
echo "reference=${reference}" >> "${GITHUB_ENV}"
- name: build
run: |
cd examples/example
mkdir ${build_dir}
cd ${build_dir}
conan install .. --output-folder . \
--require-override ${reference} --build missing
cmake .. \
-DCMAKE_TOOLCHAIN_FILE:FILEPATH=./build/${configuration}/generators/conan_toolchain.cmake \
-DCMAKE_BUILD_TYPE=${configuration}
cmake --build .
./example | grep '^[[:digit:]]\+\.[[:digit:]]\+\.[[:digit:]]\+'
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# .pre-commit-config.yaml
repos:
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v10.0.1
rev: v18.1.3
hooks:
- id: clang-format
Loading
Loading