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

Implemented NegativeUNL #3380

Closed
wants to merge 34 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
11271c2
Improve compression support:
gregtatcam Apr 13, 2020
ea0bcdd
Use base 10 for majority vote calculation:
gregtatcam May 18, 2020
69c7523
Improve Slice:
nbougalis May 10, 2020
9be4b3e
Cleanup SHAMap and simplify interfaces:
nbougalis May 4, 2020
230a2f8
Make server_info report consistent with internal
mtrippled Mar 29, 2020
1555a58
Improve online_delete configuration and DB tuning:
ximinez May 11, 2020
be0b23b
Update cmake so that rippled can build as a submodule
ximinez Jun 11, 2020
46bb011
Fix a build issue caused by pip3 being unavailable
manojsdoshi Jun 12, 2020
d12f92b
Remove CryptoConditionsSuite amendment:
seelabs Jun 15, 2020
f006fbf
crawl_shards comment fix
mDuo13 Jun 11, 2020
87d661c
Update tecUNFUNDED & tecUNFUNDED_ADD messages:
mDuo13 Jun 18, 2020
5563d59
Add comments to protobuf files
cjcobb23 May 12, 2020
96c4da8
Improve handling of empty buffer in varint parsing (RIPD-1683)
HowardHinnant Feb 20, 2020
9076f20
Consolidate "Not Synced" Error Messages
HowardHinnant May 27, 2020
6acf35d
Improve received node process
miguelportilla Jun 11, 2020
50ce9b2
Use NuDB version 2.0.3
miguelportilla Jun 3, 2020
924fefc
Improve ledgermaster shard acquire
miguelportilla May 21, 2020
d89d273
Add Shard Family
miguelportilla Jun 2, 2020
d2d1d66
Add support for deterministic database shards (#2688):
Apr 1, 2020
eaa4787
Implement version upgrade warning
pwang200 Jun 9, 2020
6c7a3fb
Implemented NegativeUNL
pwang200 Mar 2, 2020
be54c90
fix Travis CI error
pwang200 Apr 28, 2020
a3cfcd1
add nUnl spec
pwang200 Apr 28, 2020
55a238f
change field name and fix CI error
pwang200 Apr 29, 2020
802c0e8
Update README and Address comments
pwang200 May 1, 2020
1cdacc0
nUnl unit test refactor
pwang200 May 2, 2020
df68890
address PR comments, fixes after rebase
pwang200 May 7, 2020
0c40ad0
Negative UNL to gRPC
pwang200 May 9, 2020
f1222b4
added isFlagLedger function, changed negativeUNLFilter function
pwang200 May 12, 2020
6eba163
address comments, commented out NegativeUNL from supported amendments
pwang200 Jun 4, 2020
8794e8b
reformat the doc md file to a max 80 column line limit
pwang200 Jun 9, 2020
127b05a
Address more comments
pwang200 Jun 17, 2020
0dd633b
Add a missing header
pwang200 Jun 17, 2020
0f576c3
fix after rebase
pwang200 Jun 25, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions Builds/CMake/CMakeFuncs.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,10 @@ function (print_ep_logs _target)
COMMENT "${_target} BUILD OUTPUT"
COMMAND ${CMAKE_COMMAND}
-DIN_FILE=${STAMP_DIR}/${_target}-build-out.log
-P ${CMAKE_SOURCE_DIR}/Builds/CMake/echo_file.cmake
-P ${CMAKE_CURRENT_SOURCE_DIR}/Builds/CMake/echo_file.cmake
COMMAND ${CMAKE_COMMAND}
-DIN_FILE=${STAMP_DIR}/${_target}-build-err.log
-P ${CMAKE_SOURCE_DIR}/Builds/CMake/echo_file.cmake)
-P ${CMAKE_CURRENT_SOURCE_DIR}/Builds/CMake/echo_file.cmake)
endfunction ()

#[=========================================================[
Expand Down Expand Up @@ -177,7 +177,7 @@ function (git_hash hash_val)
endif ()
endif ()
execute_process (COMMAND ${GIT_EXECUTABLE} "log" "--pretty=${_format}" "-n1"
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
RESULT_VARIABLE _git_exit_code
OUTPUT_VARIABLE _temp_hash
OUTPUT_STRIP_TRAILING_WHITESPACE
Expand All @@ -194,7 +194,7 @@ function (git_branch branch_val)
endif ()
set (_branch "")
execute_process (COMMAND ${GIT_EXECUTABLE} "rev-parse" "--abbrev-ref" "HEAD"
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
RESULT_VARIABLE _git_exit_code
OUTPUT_VARIABLE _temp_branch
OUTPUT_STRIP_TRAILING_WHITESPACE
Expand Down
7 changes: 7 additions & 0 deletions Builds/CMake/RippledCore.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,7 @@ install (
src/ripple/basics/IOUAmount.h
src/ripple/basics/LocalValue.h
src/ripple/basics/Log.h
src/ripple/basics/MathUtilities.h
src/ripple/basics/safe_cast.h
src/ripple/basics/Slice.h
src/ripple/basics/StringUtilities.h
Expand Down Expand Up @@ -376,6 +377,7 @@ target_sources (rippled PRIVATE
src/ripple/app/misc/CanonicalTXSet.cpp
src/ripple/app/misc/FeeVoteImpl.cpp
src/ripple/app/misc/HashRouter.cpp
src/ripple/app/misc/NegativeUNLVote.cpp
src/ripple/app/misc/NetworkOPs.cpp
src/ripple/app/misc/SHAMapStoreImp.cpp
src/ripple/app/misc/impl/AccountTxPaging.cpp
Expand Down Expand Up @@ -508,6 +510,7 @@ target_sources (rippled PRIVATE
src/ripple/nodestore/impl/DatabaseNodeImp.cpp
src/ripple/nodestore/impl/DatabaseRotatingImp.cpp
src/ripple/nodestore/impl/DatabaseShardImp.cpp
src/ripple/nodestore/impl/DeterministicShard.cpp
src/ripple/nodestore/impl/DecodedBlob.cpp
src/ripple/nodestore/impl/DummyScheduler.cpp
src/ripple/nodestore/impl/EncodedBlob.cpp
Expand Down Expand Up @@ -636,12 +639,14 @@ target_sources (rippled PRIVATE
main sources:
subdir: shamap
#]===============================]
src/ripple/shamap/impl/NodeFamily.cpp
src/ripple/shamap/impl/SHAMap.cpp
src/ripple/shamap/impl/SHAMapDelta.cpp
src/ripple/shamap/impl/SHAMapItem.cpp
src/ripple/shamap/impl/SHAMapNodeID.cpp
src/ripple/shamap/impl/SHAMapSync.cpp
src/ripple/shamap/impl/SHAMapTreeNode.cpp
src/ripple/shamap/impl/ShardFamily.cpp
#[===============================[
test sources:
subdir: app
Expand Down Expand Up @@ -742,6 +747,7 @@ target_sources (rippled PRIVATE
src/test/consensus/DistributedValidatorsSim_test.cpp
src/test/consensus/LedgerTiming_test.cpp
src/test/consensus/LedgerTrie_test.cpp
src/test/consensus/NegativeUNL_test.cpp
src/test/consensus/ScaleFreeSim_test.cpp
src/test/consensus/Validations_test.cpp
#[===============================[
Expand Down Expand Up @@ -867,6 +873,7 @@ target_sources (rippled PRIVATE
test sources:
subdir: protocol
#]===============================]
src/test/protocol/BuildInfo_test.cpp
src/test/protocol/InnerObjectFormats_test.cpp
src/test/protocol/Issue_test.cpp
src/test/protocol/PublicKey_test.cpp
Expand Down
6 changes: 3 additions & 3 deletions Builds/CMake/RippledCov.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ if (coverage)

set (extract_pattern "")
if (coverage_core_only)
set (extract_pattern "${CMAKE_SOURCE_DIR}/src/ripple/")
set (extract_pattern "${CMAKE_CURRENT_SOURCE_DIR}/src/ripple/")
endif ()

if (LLVM_COV AND LLVM_PROFDATA)
Expand Down Expand Up @@ -72,14 +72,14 @@ if (coverage)
COMMAND ${CMAKE_COMMAND} -E echo "Generating coverage- results will be in ${CMAKE_BINARY_DIR}/coverage/index.html."
# create baseline info file
COMMAND ${LCOV}
--no-external -d "${CMAKE_SOURCE_DIR}" -c -d . -i -o baseline.info
--no-external -d "${CMAKE_CURRENT_SOURCE_DIR}" -c -d . -i -o baseline.info
| grep -v "ignoring data for external file"
# run tests
COMMAND ${CMAKE_COMMAND} -E echo "Running rippled tests for coverage report."
COMMAND rippled --unittest$<$<BOOL:${coverage_test}>:=${coverage_test}> --quiet --unittest-log
# Create test coverage data file
COMMAND ${LCOV}
--no-external -d "${CMAKE_SOURCE_DIR}" -c -d . -o tests.info
--no-external -d "${CMAKE_CURRENT_SOURCE_DIR}" -c -d . -o tests.info
| grep -v "ignoring data for external file"
# Combine baseline and test coverage data
COMMAND ${LCOV}
Expand Down
2 changes: 1 addition & 1 deletion Builds/CMake/RippledDocs.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ if (NOT TARGET Doxygen::doxygen)
endif ()

set (doxygen_output_directory "${CMAKE_BINARY_DIR}/docs")
set (doxygen_include_path "${CMAKE_SOURCE_DIR}/src")
set (doxygen_include_path "${CMAKE_CURRENT_SOURCE_DIR}/src")
set (doxygen_index_file "${doxygen_output_directory}/html/index.html")
set (doxyfile "${CMAKE_CURRENT_SOURCE_DIR}/docs/Doxyfile")

Expand Down
2 changes: 1 addition & 1 deletion Builds/CMake/RippledNIH.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ if (NOT DEFINED NIH_CACHE_ROOT)
if (DEFINED ENV{NIH_CACHE_ROOT})
set (NIH_CACHE_ROOT $ENV{NIH_CACHE_ROOT})
else ()
set (NIH_CACHE_ROOT "${CMAKE_SOURCE_DIR}/.nih_c")
set (NIH_CACHE_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/.nih_c")
endif ()
endif ()
set (nih_cache_path
Expand Down
4 changes: 2 additions & 2 deletions Builds/CMake/RippledRelease.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ if (is_root_project)
docker run
-e NIH_CACHE_ROOT=/opt/rippled_bld/pkg/.nih_c
-v ${NIH_CACHE_ROOT}/pkgbuild:/opt/rippled_bld/pkg/.nih_c
-v ${CMAKE_SOURCE_DIR}:/opt/rippled_bld/pkg/rippled
-v ${CMAKE_CURRENT_SOURCE_DIR}:/opt/rippled_bld/pkg/rippled
-v ${CMAKE_CURRENT_BINARY_DIR}/packages:/opt/rippled_bld/pkg/out
"$<$<BOOL:${map_user}>:--volume=/etc/passwd:/etc/passwd;--volume=/etc/group:/etc/group;--user=${DOCKER_USER_ID}:${DOCKER_GROUP_ID}>"
-t rippled-rpm-builder:${container_label}
Expand Down Expand Up @@ -124,7 +124,7 @@ if (is_root_project)
docker run
-e NIH_CACHE_ROOT=/opt/rippled_bld/pkg/.nih_c
-v ${NIH_CACHE_ROOT}/pkgbuild:/opt/rippled_bld/pkg/.nih_c
-v ${CMAKE_SOURCE_DIR}:/opt/rippled_bld/pkg/rippled
-v ${CMAKE_CURRENT_SOURCE_DIR}:/opt/rippled_bld/pkg/rippled
-v ${CMAKE_CURRENT_BINARY_DIR}/packages:/opt/rippled_bld/pkg/out
"$<$<BOOL:${map_user}>:--volume=/etc/passwd:/etc/passwd;--volume=/etc/group:/etc/group;--user=${DOCKER_USER_ID}:${DOCKER_GROUP_ID}>"
-t rippled-dpkg-builder:${container_label}
Expand Down
4 changes: 2 additions & 2 deletions Builds/CMake/deps/Nudb.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ if (is_root_project) # NuDB not needed in the case of xrpl_core inclusion build
FetchContent_Declare(
nudb_src
GIT_REPOSITORY https://github.com/CPPAlliance/NuDB.git
GIT_TAG 2.0.1
GIT_TAG 2.0.3
)
FetchContent_GetProperties(nudb_src)
if(NOT nudb_src_POPULATED)
Expand All @@ -23,7 +23,7 @@ if (is_root_project) # NuDB not needed in the case of xrpl_core inclusion build
ExternalProject_Add (nudb_src
PREFIX ${nih_cache_path}
GIT_REPOSITORY https://github.com/CPPAlliance/NuDB.git
GIT_TAG 2.0.1
GIT_TAG 2.0.3
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
TEST_COMMAND ""
Expand Down
4 changes: 2 additions & 2 deletions Builds/CMake/deps/Rocksdb.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -64,13 +64,13 @@ if (local_rocksdb)
PATCH_COMMAND
# only used by windows build
${CMAKE_COMMAND} -E copy
${CMAKE_SOURCE_DIR}/Builds/CMake/rocks_thirdparty.inc
${CMAKE_CURRENT_SOURCE_DIR}/Builds/CMake/rocks_thirdparty.inc
<SOURCE_DIR>/thirdparty.inc
COMMAND
# fixup their build version file to keep the values
# from changing always
${CMAKE_COMMAND} -E copy_if_different
${CMAKE_SOURCE_DIR}/Builds/CMake/rocksdb_build_version.cc.in
${CMAKE_CURRENT_SOURCE_DIR}/Builds/CMake/rocksdb_build_version.cc.in
<SOURCE_DIR>/util/build_version.cc.in
CMAKE_ARGS
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
Expand Down
2 changes: 1 addition & 1 deletion Builds/CMake/deps/Soci.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ else()
# This patch process is likely fragile and should be reviewed carefully
# whenever we update the GIT_TAG above.
PATCH_COMMAND
${CMAKE_COMMAND} -P ${CMAKE_SOURCE_DIR}/Builds/CMake/soci_patch.cmake
${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/Builds/CMake/soci_patch.cmake
CMAKE_ARGS
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
Expand Down
2 changes: 1 addition & 1 deletion Builds/CMake/deps/Sqlite.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ else()
# for the single amalgamation source file.
PATCH_COMMAND
${CMAKE_COMMAND} -E copy_if_different
${CMAKE_SOURCE_DIR}/Builds/CMake/CMake_sqlite3.txt
${CMAKE_CURRENT_SOURCE_DIR}/Builds/CMake/CMake_sqlite3.txt
<SOURCE_DIR>/CMakeLists.txt
CMAKE_ARGS
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
Expand Down
2 changes: 1 addition & 1 deletion Builds/CMake/deps/gRPC.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -312,7 +312,7 @@ set (GRPC_GEN_DIR "${CMAKE_BINARY_DIR}/proto_gen_grpc")
file (MAKE_DIRECTORY ${GRPC_GEN_DIR})
set (GRPC_PROTO_SRCS)
set (GRPC_PROTO_HDRS)
set (GRPC_PROTO_ROOT "${CMAKE_SOURCE_DIR}/src/ripple/proto/org")
set (GRPC_PROTO_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/src/ripple/proto/org")
file(GLOB_RECURSE GRPC_DEFINITION_FILES LIST_DIRECTORIES false "${GRPC_PROTO_ROOT}/*.proto")
foreach(file ${GRPC_DEFINITION_FILES})
get_filename_component(_abs_file ${file} ABSOLUTE)
Expand Down
1 change: 1 addition & 0 deletions Builds/containers/gitlab-ci/docker_alpine_setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ set -ex
echo $(nproc)
docker login -u rippled \
-p ${ARTIFACTORY_DEPLOY_KEY_RIPPLED} ${ARTIFACTORY_HUB}
apk add --update py-pip
apk add \
bash util-linux coreutils binutils grep \
make ninja cmake build-base gcc g++ abuild git \
Expand Down
5 changes: 5 additions & 0 deletions RELEASENOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ This document contains the release notes for `rippled`, the reference server imp

Have new ideas? Need help with setting up your node? Come visit us [here](https://github.com/ripple/rippled/issues/new/choose)

# Change Log

- Work on a version 2 of the XRP Network API has begun. The new API returns the code `notSynced` in place of `noClosed`, `noCurrent`, and `noNetwork`. And `invalidLgrRange` is returned in place of `lgrIdxInvalid`.
- The version 2 API can be specified by adding "api_version" : 2 to your json request. The default version remains 1 (if unspecified), except for the command line interface which always uses the latest verison.

# Releases

## Version 1.5.0
Expand Down
Loading