mirror of
https://github.com/Xahau/xahaud.git
synced 2025-12-06 17:27:52 +00:00
Compare commits
3 Commits
fix-float
...
sha-optimi
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a516266e5d | ||
|
|
f0cabd162c | ||
|
|
a6f596bc8b |
2
.vscode/settings.json
vendored
2
.vscode/settings.json
vendored
@@ -3,7 +3,7 @@
|
|||||||
"C_Cpp.clang_format_path": ".clang-format",
|
"C_Cpp.clang_format_path": ".clang-format",
|
||||||
"C_Cpp.clang_format_fallbackStyle": "{ ColumnLimit: 0 }",
|
"C_Cpp.clang_format_fallbackStyle": "{ ColumnLimit: 0 }",
|
||||||
"[cpp]":{
|
"[cpp]":{
|
||||||
"editor.wordBasedSuggestions": "off",
|
"editor.wordBasedSuggestions": false,
|
||||||
"editor.suggest.insertMode": "replace",
|
"editor.suggest.insertMode": "replace",
|
||||||
"editor.semanticHighlighting.enabled": true,
|
"editor.semanticHighlighting.enabled": true,
|
||||||
"editor.tabSize": 4,
|
"editor.tabSize": 4,
|
||||||
|
|||||||
@@ -2,34 +2,92 @@
|
|||||||
NIH dep: openssl
|
NIH dep: openssl
|
||||||
#]===================================================================]
|
#]===================================================================]
|
||||||
|
|
||||||
#[===============================================[
|
# Include modules
|
||||||
OPENSSL_ROOT_DIR is the only variable that
|
include(ExternalProject)
|
||||||
FindOpenSSL honors for locating, so convert any
|
include(CheckCCompilerFlag)
|
||||||
OPENSSL_ROOT vars to this
|
|
||||||
#]===============================================]
|
check_c_compiler_flag("-mavx512f" COMPILER_SUPPORTS_AVX512)
|
||||||
if (NOT DEFINED OPENSSL_ROOT_DIR)
|
option(ENABLE_AVX512 "Enable AVX512 instructions" ${COMPILER_SUPPORTS_AVX512})
|
||||||
if (DEFINED ENV{OPENSSL_ROOT})
|
|
||||||
set (OPENSSL_ROOT_DIR $ENV{OPENSSL_ROOT})
|
set(OPENSSL_NISTP "")
|
||||||
elseif (HOMEBREW)
|
set(OPENSSL_AVX512 "")
|
||||||
execute_process (COMMAND ${HOMEBREW} --prefix openssl
|
|
||||||
OUTPUT_VARIABLE OPENSSL_ROOT_DIR
|
if(APPLE)
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
if(CMAKE_SYSTEM_PROCESSOR MATCHES "arm64")
|
||||||
endif ()
|
set(OPENSSL_PLATFORM "darwin64-arm64-cc")
|
||||||
file (TO_CMAKE_PATH "${OPENSSL_ROOT_DIR}" OPENSSL_ROOT_DIR)
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
|
||||||
endif ()
|
set(OPENSSL_PLATFORM "darwin64-x86_64-cc")
|
||||||
|
else()
|
||||||
|
message(FATAL_ERROR "Unsupported macOS architecture: ${CMAKE_SYSTEM_PROCESSOR}")
|
||||||
|
endif()
|
||||||
|
elseif(UNIX AND NOT APPLE)
|
||||||
|
set(OPENSSL_PLATFORM "linux-x86_64")
|
||||||
|
set(OPENSSL_NISTP "enable-ec_nistp_64_gcc_128")
|
||||||
|
set(OPENSSL_AVX512 "-march=skylake-avx512")
|
||||||
|
else()
|
||||||
|
message(FATAL_ERROR "Unsupported platform")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
ExternalProject_Add(openssl_src
|
||||||
|
PREFIX ${nih_cache_path}
|
||||||
|
GIT_REPOSITORY https://github.com/openssl/openssl.git
|
||||||
|
GIT_TAG OpenSSL_1_1_1u
|
||||||
|
CONFIGURE_COMMAND
|
||||||
|
${nih_cache_path}/src/openssl_src/Configure
|
||||||
|
-DBUILD_SHARED_LIBS=OFF
|
||||||
|
-DBUILD_STATIC_LIBS=ON
|
||||||
|
${OPENSSL_PLATFORM}
|
||||||
|
${OPENSSL_NISTP}
|
||||||
|
${OPENSSL_AVX512}
|
||||||
|
enable-rmd160
|
||||||
|
no-ssl2
|
||||||
|
LOG_BUILD ON
|
||||||
|
LOG_CONFIGURE ON
|
||||||
|
LOG_DOWNLOAD ON
|
||||||
|
BUILD_IN_SOURCE 1
|
||||||
|
BUILD_COMMAND $(MAKE)
|
||||||
|
TEST_COMMAND ""
|
||||||
|
INSTALL_COMMAND ""
|
||||||
|
BUILD_BYPRODUCTS
|
||||||
|
<BINARY_DIR>/libssl.a
|
||||||
|
<BINARY_DIR>/libcrypto.a
|
||||||
|
)
|
||||||
|
|
||||||
|
ExternalProject_Get_Property (openssl_src BINARY_DIR)
|
||||||
|
set (openssl_src_BINARY_DIR "${BINARY_DIR}")
|
||||||
|
|
||||||
|
add_library (OpenSSL::SSL STATIC IMPORTED GLOBAL)
|
||||||
|
add_library (OpenSSL::Crypto STATIC IMPORTED GLOBAL)
|
||||||
|
|
||||||
|
add_dependencies(OpenSSL::SSL openssl_src)
|
||||||
|
add_dependencies(OpenSSL::Crypto openssl_src)
|
||||||
|
execute_process(
|
||||||
|
COMMAND
|
||||||
|
mkdir -p "${openssl_src_BINARY_DIR}/include"
|
||||||
|
)
|
||||||
|
|
||||||
|
set_target_properties(OpenSSL::SSL PROPERTIES
|
||||||
|
IMPORTED_LOCATION_DEBUG
|
||||||
|
"${openssl_src_BINARY_DIR}/libssl.a"
|
||||||
|
IMPORTED_LOCATION_RELEASE
|
||||||
|
"${openssl_src_BINARY_DIR}/libssl.a"
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES
|
||||||
|
"${openssl_src_BINARY_DIR}/include"
|
||||||
|
)
|
||||||
|
|
||||||
|
set_target_properties(OpenSSL::Crypto PROPERTIES
|
||||||
|
IMPORTED_LOCATION_DEBUG
|
||||||
|
"${openssl_src_BINARY_DIR}/libcrypto.a"
|
||||||
|
IMPORTED_LOCATION_RELEASE
|
||||||
|
"${openssl_src_BINARY_DIR}/libcrypto.a"
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES
|
||||||
|
"${openssl_src_BINARY_DIR}/include"
|
||||||
|
)
|
||||||
|
|
||||||
if (static)
|
|
||||||
set (OPENSSL_USE_STATIC_LIBS ON)
|
|
||||||
endif ()
|
|
||||||
set (OPENSSL_MSVC_STATIC_RT ON)
|
|
||||||
find_package (OpenSSL 1.1.1 REQUIRED)
|
|
||||||
target_link_libraries (ripple_libs
|
target_link_libraries (ripple_libs
|
||||||
INTERFACE
|
INTERFACE
|
||||||
OpenSSL::SSL
|
OpenSSL::SSL
|
||||||
OpenSSL::Crypto)
|
OpenSSL::Crypto)
|
||||||
# disable SSLv2...this can also be done when building/configuring OpenSSL
|
|
||||||
set_target_properties(OpenSSL::SSL PROPERTIES
|
|
||||||
INTERFACE_COMPILE_DEFINITIONS OPENSSL_NO_SSL2)
|
|
||||||
#[=========================================================[
|
#[=========================================================[
|
||||||
https://gitlab.kitware.com/cmake/cmake/issues/16885
|
https://gitlab.kitware.com/cmake/cmake/issues/16885
|
||||||
depending on how openssl is built, it might depend
|
depending on how openssl is built, it might depend
|
||||||
@@ -46,3 +104,9 @@ if (TARGET ZLIB::ZLIB)
|
|||||||
INTERFACE_LINK_LIBRARIES ZLIB::ZLIB)
|
INTERFACE_LINK_LIBRARIES ZLIB::ZLIB)
|
||||||
set (has_zlib TRUE)
|
set (has_zlib TRUE)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
if(ENABLE_AVX512 AND COMPILER_SUPPORTS_AVX512 AND NOT APPLE)
|
||||||
|
add_compile_options(-mavx512f)
|
||||||
|
add_compile_options(-march=skylake-avx512)
|
||||||
|
endif()
|
||||||
|
add_link_options(-lssl -lcrypto)
|
||||||
@@ -144,12 +144,4 @@ D686F2538F410C9D0D856788E98E3579595DAF7B38D38887F81ECAC934B06040 HooksUpdate1
|
|||||||
86E83A7D2ECE3AD5FA87AB2195AE015C950469ABF0B72EAACED318F74886AE90 CryptoConditionsSuite
|
86E83A7D2ECE3AD5FA87AB2195AE015C950469ABF0B72EAACED318F74886AE90 CryptoConditionsSuite
|
||||||
3C43D9A973AA4443EF3FC38E42DD306160FBFFDAB901CD8BAA15D09F2597EB87 NonFungibleTokensV1
|
3C43D9A973AA4443EF3FC38E42DD306160FBFFDAB901CD8BAA15D09F2597EB87 NonFungibleTokensV1
|
||||||
0285B7E5E08E1A8E4C15636F0591D87F73CB6A7B6452A932AD72BBC8E5D1CBE3 fixNFTokenDirV1
|
0285B7E5E08E1A8E4C15636F0591D87F73CB6A7B6452A932AD72BBC8E5D1CBE3 fixNFTokenDirV1
|
||||||
36799EA497B1369B170805C078AEFE6188345F9B3E324C21E9CA3FF574E3C3D6 fixNFTokenNegOffer
|
36799EA497B1369B170805C078AEFE6188345F9B3E324C21E9CA3FF574E3C3D6 fixNFTokenNegOffer
|
||||||
4C499D17719BB365B69010A436B64FD1A82AAB199FC1CEB06962EBD01059FB09 fixXahauV1
|
|
||||||
215181D23BF5C173314B5FDB9C872C92DE6CC918483727DE037C0C13E7E6EE9D fixXahauV2
|
|
||||||
0D8BF22FF7570D58598D1EF19EBB6E142AD46E59A223FD3816262FBB69345BEA Remit
|
|
||||||
7CA0426E7F411D39BB014E57CD9E08F61DE1750F0D41FCD428D9FB80BB7596B0 ZeroB2M
|
|
||||||
4B8466415FAB32FFA89D9DCBE166A42340115771DF611A7160F8D7439C87ECD8 fixNSDelete
|
|
||||||
EDB4EE4C524E16BDD91D9A529332DED08DCAAA51CC6DC897ACFA1A0ED131C5B6 fix240819
|
|
||||||
8063140E9260799D6716756B891CEC3E7006C4E4F277AB84670663A88F94B9C4 fixPageCap
|
|
||||||
88693F108C3CD8A967F3F4253A32DEF5E35F9406ACD2A11B88B11D90865763A9 fix240911
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
#/bin/bash
|
|
||||||
RIPPLED_ROOT="../src/ripple"
|
|
||||||
echo '// For documentation please see: https://xrpl-hooks.readme.io/reference/'
|
|
||||||
echo '// Generated using generate_sfcodes.sh'
|
|
||||||
cat $RIPPLED_ROOT/protocol/impl/SField.cpp | grep -E '^CONSTRUCT_' |
|
|
||||||
sed 's/UINT16/1/g' |
|
|
||||||
sed 's/UINT32/2/g' |
|
|
||||||
sed 's/UINT64/3/g' |
|
|
||||||
sed 's/HASH128/4/g' |
|
|
||||||
sed 's/HASH256/5/g' |
|
|
||||||
sed 's/UINT128/4/g' |
|
|
||||||
sed 's/UINT256/5/g' |
|
|
||||||
sed 's/AMOUNT/6/g' |
|
|
||||||
sed 's/VL/7/g' | sed 's/Import7/ImportVL/g' |
|
|
||||||
sed 's/ACCOUNT/8/g' |
|
|
||||||
sed 's/OBJECT/14/g' |
|
|
||||||
sed 's/ARRAY/15/g' |
|
|
||||||
sed 's/UINT8/16/g' |
|
|
||||||
sed 's/HASH160/17/g' |
|
|
||||||
sed 's/UINT160/17/g' |
|
|
||||||
sed 's/PATHSET/18/g' |
|
|
||||||
sed 's/VECTOR256/19/g' |
|
|
||||||
sed 's/UINT96/20/g' |
|
|
||||||
sed 's/UINT192/21/g' |
|
|
||||||
sed 's/UINT384/22/g' |
|
|
||||||
sed 's/UINT512/23/g' |
|
|
||||||
grep -Eo '"([^"]+)", *([0-9]+), *([0-9]+)' |
|
|
||||||
sed 's/"//g' | sed 's/ *//g' | sed 's/,/ /g' |
|
|
||||||
awk '{print ("#define sf"$1" (("$2"U << 16U) + "$3"U)")}'
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* These are helper macros for writing hooks, all of them are optional as is including macro.h at all
|
* These are helper macros for writing hooks, all of them are optional as is including hookmacro.h at all
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|||||||
@@ -60,10 +60,7 @@
|
|||||||
#define sfBurnedNFTokens ((2U << 16U) + 44U)
|
#define sfBurnedNFTokens ((2U << 16U) + 44U)
|
||||||
#define sfHookStateCount ((2U << 16U) + 45U)
|
#define sfHookStateCount ((2U << 16U) + 45U)
|
||||||
#define sfEmitGeneration ((2U << 16U) + 46U)
|
#define sfEmitGeneration ((2U << 16U) + 46U)
|
||||||
#define sfLockCount ((2U << 16U) + 49U)
|
#define sfLockCount ((2U << 16U) + 47U)
|
||||||
#define sfFirstNFTokenSequence ((2U << 16U) + 50U)
|
|
||||||
#define sfXahauActivationLgrSeq ((2U << 16U) + 96U)
|
|
||||||
#define sfImportSequence ((2U << 16U) + 97U)
|
|
||||||
#define sfRewardTime ((2U << 16U) + 98U)
|
#define sfRewardTime ((2U << 16U) + 98U)
|
||||||
#define sfRewardLgrFirst ((2U << 16U) + 99U)
|
#define sfRewardLgrFirst ((2U << 16U) + 99U)
|
||||||
#define sfRewardLgrLast ((2U << 16U) + 100U)
|
#define sfRewardLgrLast ((2U << 16U) + 100U)
|
||||||
@@ -83,8 +80,6 @@
|
|||||||
#define sfHookInstructionCount ((3U << 16U) + 17U)
|
#define sfHookInstructionCount ((3U << 16U) + 17U)
|
||||||
#define sfHookReturnCode ((3U << 16U) + 18U)
|
#define sfHookReturnCode ((3U << 16U) + 18U)
|
||||||
#define sfReferenceCount ((3U << 16U) + 19U)
|
#define sfReferenceCount ((3U << 16U) + 19U)
|
||||||
#define sfAccountIndex ((3U << 16U) + 98U)
|
|
||||||
#define sfAccountCount ((3U << 16U) + 99U)
|
|
||||||
#define sfRewardAccumulator ((3U << 16U) + 100U)
|
#define sfRewardAccumulator ((3U << 16U) + 100U)
|
||||||
#define sfEmailHash ((4U << 16U) + 1U)
|
#define sfEmailHash ((4U << 16U) + 1U)
|
||||||
#define sfTakerPaysCurrency ((10U << 16U) + 1U)
|
#define sfTakerPaysCurrency ((10U << 16U) + 1U)
|
||||||
@@ -125,9 +120,6 @@
|
|||||||
#define sfOfferID ((5U << 16U) + 34U)
|
#define sfOfferID ((5U << 16U) + 34U)
|
||||||
#define sfEscrowID ((5U << 16U) + 35U)
|
#define sfEscrowID ((5U << 16U) + 35U)
|
||||||
#define sfURITokenID ((5U << 16U) + 36U)
|
#define sfURITokenID ((5U << 16U) + 36U)
|
||||||
#define sfGovernanceFlags ((5U << 16U) + 99U)
|
|
||||||
#define sfGovernanceMarks ((5U << 16U) + 98U)
|
|
||||||
#define sfEmittedTxnID ((5U << 16U) + 97U)
|
|
||||||
#define sfAmount ((6U << 16U) + 1U)
|
#define sfAmount ((6U << 16U) + 1U)
|
||||||
#define sfBalance ((6U << 16U) + 2U)
|
#define sfBalance ((6U << 16U) + 2U)
|
||||||
#define sfLimitAmount ((6U << 16U) + 3U)
|
#define sfLimitAmount ((6U << 16U) + 3U)
|
||||||
@@ -144,9 +136,6 @@
|
|||||||
#define sfNFTokenBrokerFee ((6U << 16U) + 19U)
|
#define sfNFTokenBrokerFee ((6U << 16U) + 19U)
|
||||||
#define sfHookCallbackFee ((6U << 16U) + 20U)
|
#define sfHookCallbackFee ((6U << 16U) + 20U)
|
||||||
#define sfLockedBalance ((6U << 16U) + 21U)
|
#define sfLockedBalance ((6U << 16U) + 21U)
|
||||||
#define sfBaseFeeDrops ((6U << 16U) + 22U)
|
|
||||||
#define sfReserveBaseDrops ((6U << 16U) + 23U)
|
|
||||||
#define sfReserveIncrementDrops ((6U << 16U) + 24U)
|
|
||||||
#define sfPublicKey ((7U << 16U) + 1U)
|
#define sfPublicKey ((7U << 16U) + 1U)
|
||||||
#define sfMessageKey ((7U << 16U) + 2U)
|
#define sfMessageKey ((7U << 16U) + 2U)
|
||||||
#define sfSigningPubKey ((7U << 16U) + 3U)
|
#define sfSigningPubKey ((7U << 16U) + 3U)
|
||||||
@@ -182,13 +171,11 @@
|
|||||||
#define sfNFTokenMinter ((8U << 16U) + 9U)
|
#define sfNFTokenMinter ((8U << 16U) + 9U)
|
||||||
#define sfEmitCallback ((8U << 16U) + 10U)
|
#define sfEmitCallback ((8U << 16U) + 10U)
|
||||||
#define sfHookAccount ((8U << 16U) + 16U)
|
#define sfHookAccount ((8U << 16U) + 16U)
|
||||||
#define sfInform ((8U << 16U) + 99U)
|
|
||||||
#define sfIndexes ((19U << 16U) + 1U)
|
#define sfIndexes ((19U << 16U) + 1U)
|
||||||
#define sfHashes ((19U << 16U) + 2U)
|
#define sfHashes ((19U << 16U) + 2U)
|
||||||
#define sfAmendments ((19U << 16U) + 3U)
|
#define sfAmendments ((19U << 16U) + 3U)
|
||||||
#define sfNFTokenOffers ((19U << 16U) + 4U)
|
#define sfNFTokenOffers ((19U << 16U) + 4U)
|
||||||
#define sfHookNamespaces ((19U << 16U) + 5U)
|
#define sfHookNamespaces ((19U << 16U) + 5U)
|
||||||
#define sfURITokenIDs ((19U << 16U) + 99U)
|
|
||||||
#define sfPaths ((18U << 16U) + 1U)
|
#define sfPaths ((18U << 16U) + 1U)
|
||||||
#define sfTransactionMetaData ((14U << 16U) + 2U)
|
#define sfTransactionMetaData ((14U << 16U) + 2U)
|
||||||
#define sfCreatedNode ((14U << 16U) + 3U)
|
#define sfCreatedNode ((14U << 16U) + 3U)
|
||||||
@@ -211,12 +198,6 @@
|
|||||||
#define sfHookDefinition ((14U << 16U) + 22U)
|
#define sfHookDefinition ((14U << 16U) + 22U)
|
||||||
#define sfHookParameter ((14U << 16U) + 23U)
|
#define sfHookParameter ((14U << 16U) + 23U)
|
||||||
#define sfHookGrant ((14U << 16U) + 24U)
|
#define sfHookGrant ((14U << 16U) + 24U)
|
||||||
#define sfGenesisMint ((14U << 16U) + 96U)
|
|
||||||
#define sfActiveValidator ((14U << 16U) + 95U)
|
|
||||||
#define sfImportVLKey ((14U << 16U) + 94U)
|
|
||||||
#define sfHookEmission ((14U << 16U) + 93U)
|
|
||||||
#define sfMintURIToken ((14U << 16U) + 92U)
|
|
||||||
#define sfAmountEntry ((14U << 16U) + 91U)
|
|
||||||
#define sfSigners ((15U << 16U) + 3U)
|
#define sfSigners ((15U << 16U) + 3U)
|
||||||
#define sfSignerEntries ((15U << 16U) + 4U)
|
#define sfSignerEntries ((15U << 16U) + 4U)
|
||||||
#define sfTemplate ((15U << 16U) + 5U)
|
#define sfTemplate ((15U << 16U) + 5U)
|
||||||
@@ -231,8 +212,4 @@
|
|||||||
#define sfHookExecutions ((15U << 16U) + 18U)
|
#define sfHookExecutions ((15U << 16U) + 18U)
|
||||||
#define sfHookParameters ((15U << 16U) + 19U)
|
#define sfHookParameters ((15U << 16U) + 19U)
|
||||||
#define sfHookGrants ((15U << 16U) + 20U)
|
#define sfHookGrants ((15U << 16U) + 20U)
|
||||||
#define sfGenesisMints ((15U << 16U) + 96U)
|
|
||||||
#define sfActiveValidators ((15U << 16U) + 95U)
|
#define sfActiveValidators ((15U << 16U) + 95U)
|
||||||
#define sfImportVLKeys ((15U << 16U) + 94U)
|
|
||||||
#define sfHookEmissions ((15U << 16U) + 93U)
|
|
||||||
#define sfAmounts ((15U << 16U) + 92U)
|
|
||||||
@@ -4617,8 +4617,6 @@ DEFINE_HOOK_FUNCTION(
|
|||||||
}
|
}
|
||||||
catch (std::exception& e)
|
catch (std::exception& e)
|
||||||
{
|
{
|
||||||
JLOG(j.trace()) << "HookInfo[" << HC_ACC()
|
|
||||||
<< "]: etxn_fee_base exception: " << e.what();
|
|
||||||
return INVALID_TXN;
|
return INVALID_TXN;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5404,7 +5402,7 @@ DEFINE_HOOK_FUNCTION(
|
|||||||
const int64_t float_one_internal = make_float(1000000000000000ull, -15, false);
|
const int64_t float_one_internal = make_float(1000000000000000ull, -15, false);
|
||||||
|
|
||||||
inline int64_t
|
inline int64_t
|
||||||
float_divide_internal(int64_t float1, int64_t float2, bool hasFix)
|
float_divide_internal(int64_t float1, int64_t float2)
|
||||||
{
|
{
|
||||||
RETURN_IF_INVALID_FLOAT(float1);
|
RETURN_IF_INVALID_FLOAT(float1);
|
||||||
RETURN_IF_INVALID_FLOAT(float2);
|
RETURN_IF_INVALID_FLOAT(float2);
|
||||||
@@ -5457,16 +5455,8 @@ float_divide_internal(int64_t float1, int64_t float2, bool hasFix)
|
|||||||
while (man2 > 0)
|
while (man2 > 0)
|
||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
if (hasFix)
|
for (; man1 > man2; man1 -= man2, ++i)
|
||||||
{
|
;
|
||||||
for (; man1 >= man2; man1 -= man2, ++i)
|
|
||||||
;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
for (; man1 > man2; man1 -= man2, ++i)
|
|
||||||
;
|
|
||||||
}
|
|
||||||
|
|
||||||
man3 *= 10;
|
man3 *= 10;
|
||||||
man3 += i;
|
man3 += i;
|
||||||
@@ -5486,8 +5476,7 @@ DEFINE_HOOK_FUNCTION(int64_t, float_divide, int64_t float1, int64_t float2)
|
|||||||
HOOK_SETUP(); // populates memory_ctx, memory, memory_length, applyCtx,
|
HOOK_SETUP(); // populates memory_ctx, memory, memory_length, applyCtx,
|
||||||
// hookCtx on current stack
|
// hookCtx on current stack
|
||||||
|
|
||||||
bool const hasFix = view.rules().enabled(fixFloatDivide);
|
return float_divide_internal(float1, float2);
|
||||||
return float_divide_internal(float1, float2, hasFix);
|
|
||||||
|
|
||||||
HOOK_TEARDOWN();
|
HOOK_TEARDOWN();
|
||||||
}
|
}
|
||||||
@@ -5506,9 +5495,7 @@ DEFINE_HOOK_FUNCTION(int64_t, float_invert, int64_t float1)
|
|||||||
return DIVISION_BY_ZERO;
|
return DIVISION_BY_ZERO;
|
||||||
if (float1 == float_one_internal)
|
if (float1 == float_one_internal)
|
||||||
return float_one_internal;
|
return float_one_internal;
|
||||||
|
return float_divide_internal(float_one_internal, float1);
|
||||||
bool const fixV3 = view.rules().enabled(fixFloatDivide);
|
|
||||||
return float_divide_internal(float_one_internal, float1, fixV3);
|
|
||||||
|
|
||||||
HOOK_TEARDOWN();
|
HOOK_TEARDOWN();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1132,7 +1132,7 @@ accountTxPage(
|
|||||||
{
|
{
|
||||||
sql = boost::str(
|
sql = boost::str(
|
||||||
boost::format(
|
boost::format(
|
||||||
prefix + (R"(AccountTransactions.LedgerSeq BETWEEN %u AND %u
|
prefix + (R"(AccountTransactions.LedgerSeq BETWEEN '%u' AND '%u'
|
||||||
ORDER BY AccountTransactions.LedgerSeq %s,
|
ORDER BY AccountTransactions.LedgerSeq %s,
|
||||||
AccountTransactions.TxnSeq %s
|
AccountTransactions.TxnSeq %s
|
||||||
LIMIT %u;)")) %
|
LIMIT %u;)")) %
|
||||||
@@ -1155,14 +1155,12 @@ accountTxPage(
|
|||||||
FROM AccountTransactions, Transactions WHERE
|
FROM AccountTransactions, Transactions WHERE
|
||||||
(AccountTransactions.TransID = Transactions.TransID AND
|
(AccountTransactions.TransID = Transactions.TransID AND
|
||||||
AccountTransactions.Account = '%s' AND
|
AccountTransactions.Account = '%s' AND
|
||||||
AccountTransactions.LedgerSeq BETWEEN %u AND %u)
|
AccountTransactions.LedgerSeq BETWEEN '%u' AND '%u')
|
||||||
UNION
|
OR
|
||||||
SELECT AccountTransactions.LedgerSeq,AccountTransactions.TxnSeq,Status,RawTxn,TxnMeta
|
|
||||||
FROM AccountTransactions, Transactions WHERE
|
|
||||||
(AccountTransactions.TransID = Transactions.TransID AND
|
(AccountTransactions.TransID = Transactions.TransID AND
|
||||||
AccountTransactions.Account = '%s' AND
|
AccountTransactions.Account = '%s' AND
|
||||||
AccountTransactions.LedgerSeq = %u AND
|
AccountTransactions.LedgerSeq = '%u' AND
|
||||||
AccountTransactions.TxnSeq %s %u)
|
AccountTransactions.TxnSeq %s '%u')
|
||||||
ORDER BY AccountTransactions.LedgerSeq %s,
|
ORDER BY AccountTransactions.LedgerSeq %s,
|
||||||
AccountTransactions.TxnSeq %s
|
AccountTransactions.TxnSeq %s
|
||||||
LIMIT %u;
|
LIMIT %u;
|
||||||
|
|||||||
@@ -1894,9 +1894,7 @@ fromNetwork(
|
|||||||
constexpr auto RPC_REPLY_MAX_BYTES = megabytes(256);
|
constexpr auto RPC_REPLY_MAX_BYTES = megabytes(256);
|
||||||
|
|
||||||
using namespace std::chrono_literals;
|
using namespace std::chrono_literals;
|
||||||
// auto constexpr RPC_NOTIFY = 10min; // Wietse: lolwut 10 minutes for one
|
auto constexpr RPC_NOTIFY = 10min;
|
||||||
// HTTP call?
|
|
||||||
auto constexpr RPC_NOTIFY = 30s;
|
|
||||||
|
|
||||||
HTTPClient::request(
|
HTTPClient::request(
|
||||||
bSSL,
|
bSSL,
|
||||||
|
|||||||
@@ -78,14 +78,12 @@ public:
|
|||||||
{
|
{
|
||||||
std::lock_guard sl(mLock);
|
std::lock_guard sl(mLock);
|
||||||
|
|
||||||
// Wietse: we're not going to limit this, this is admin-port only, scale
|
if (mDeque.size() >= eventQueueMax)
|
||||||
// accordingly Dropping events just like this results in inconsistent
|
{
|
||||||
// data on the receiving end if (mDeque.size() >= eventQueueMax)
|
// Drop the previous event.
|
||||||
// {
|
JLOG(j_.warn()) << "RPCCall::fromNetwork drop";
|
||||||
// // Drop the previous event.
|
mDeque.pop_back();
|
||||||
// JLOG(j_.warn()) << "RPCCall::fromNetwork drop";
|
}
|
||||||
// mDeque.pop_back();
|
|
||||||
// }
|
|
||||||
|
|
||||||
auto jm = broadcast ? j_.debug() : j_.info();
|
auto jm = broadcast ? j_.debug() : j_.info();
|
||||||
JLOG(jm) << "RPCCall::fromNetwork push: " << jvObj;
|
JLOG(jm) << "RPCCall::fromNetwork push: " << jvObj;
|
||||||
@@ -184,8 +182,7 @@ private:
|
|||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// Wietse: we're not going to limit this, this is admin-port only, scale
|
enum { eventQueueMax = 32 };
|
||||||
// accordingly enum { eventQueueMax = 32 };
|
|
||||||
|
|
||||||
boost::asio::io_service& m_io_service;
|
boost::asio::io_service& m_io_service;
|
||||||
JobQueue& m_jobQueue;
|
JobQueue& m_jobQueue;
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ namespace detail {
|
|||||||
// Feature.cpp. Because it's only used to reserve storage, and determine how
|
// Feature.cpp. Because it's only used to reserve storage, and determine how
|
||||||
// large to make the FeatureBitset, it MAY be larger. It MUST NOT be less than
|
// large to make the FeatureBitset, it MAY be larger. It MUST NOT be less than
|
||||||
// the actual number of amendments. A LogicError on startup will verify this.
|
// the actual number of amendments. A LogicError on startup will verify this.
|
||||||
static constexpr std::size_t numFeatures = 74;
|
static constexpr std::size_t numFeatures = 73;
|
||||||
|
|
||||||
/** Amendments that this server supports and the default voting behavior.
|
/** Amendments that this server supports and the default voting behavior.
|
||||||
Whether they are enabled depends on the Rules defined in the validated
|
Whether they are enabled depends on the Rules defined in the validated
|
||||||
@@ -361,7 +361,6 @@ extern uint256 const fixNSDelete;
|
|||||||
extern uint256 const fix240819;
|
extern uint256 const fix240819;
|
||||||
extern uint256 const fixPageCap;
|
extern uint256 const fixPageCap;
|
||||||
extern uint256 const fix240911;
|
extern uint256 const fix240911;
|
||||||
extern uint256 const fixFloatDivide;
|
|
||||||
|
|
||||||
} // namespace ripple
|
} // namespace ripple
|
||||||
|
|
||||||
|
|||||||
@@ -467,7 +467,6 @@ REGISTER_FIX (fixNSDelete, Supported::yes, VoteBehavior::De
|
|||||||
REGISTER_FIX (fix240819, Supported::yes, VoteBehavior::DefaultYes);
|
REGISTER_FIX (fix240819, Supported::yes, VoteBehavior::DefaultYes);
|
||||||
REGISTER_FIX (fixPageCap, Supported::yes, VoteBehavior::DefaultYes);
|
REGISTER_FIX (fixPageCap, Supported::yes, VoteBehavior::DefaultYes);
|
||||||
REGISTER_FIX (fix240911, Supported::yes, VoteBehavior::DefaultYes);
|
REGISTER_FIX (fix240911, Supported::yes, VoteBehavior::DefaultYes);
|
||||||
REGISTER_FIX (fixFloatDivide, Supported::yes, VoteBehavior::DefaultYes);
|
|
||||||
|
|
||||||
// The following amendments are obsolete, but must remain supported
|
// The following amendments are obsolete, but must remain supported
|
||||||
// because they could potentially get enabled.
|
// because they could potentially get enabled.
|
||||||
|
|||||||
Reference in New Issue
Block a user