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

Hooks merge #4927

Draft
wants to merge 458 commits into
base: hooks
Choose a base branch
from
Draft

Hooks merge #4927

wants to merge 458 commits into from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Aug 21, 2023

  1. refactor: use C++20 function std::popcount (XRPLF#4389)

    - Replace custom popcnt16 implementation with std::popcount from C++20
    - Maintain compatibility with older compilers and MacOS by providing a
      conditional compilation fallback to __builtin_popcount and a lookup
      table method
    - Move and inline related functions within SHAMapInnerNode for
      performance and readability
    
    Signed-off-by: Manoj Doshi <mdoshi@ripple.com>
    a-noni-mousse authored and manojsdoshi committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    4f49510 View commit details
    Browse the repository at this point in the history
  2. refactor: improve checking of path lengths (XRPLF#4519)

    Improve the checking of the path lengths during Payments. Previously,
    the code that did the check of the payment path lengths was sometimes
    executed, but without any effect. This changes it to only check when it
    matters, and to not make unnecessary copies of the path vectors.
    
    Signed-off-by: Manoj Doshi <mdoshi@ripple.com>
    a-noni-mousse authored and manojsdoshi committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    b28f62b View commit details
    Browse the repository at this point in the history
  3. Fix the package recipe for consumers of libxrpl (XRPLF#4631)

    - "Rename" the type `LedgerInfo` to `LedgerHeader` (but leave an alias
      for `LedgerInfo` to not yet disturb existing uses). Put it in its own
      public header, named after itself, so that it is more easily found.
    - Move the type `Fees` and NFT serialization functions into public
      (installed) headers.
    - Compile the XRPL and gRPC protocol buffers directly into `libxrpl` and
      install their headers. Fix the Conan recipe to correctly export these
      types.
    
    Addresses change (2) in
    XRPLF/XRPL-Standards#121.
    
    For context: This work supports Clio's dependence on libxrpl. Clio is
    just an example consumer. These changes should benefit all current and
    future consumers.
    
    ---------
    
    Co-authored-by: cyan317 <120398799+cindyyan317@users.noreply.github.com>
    Signed-off-by: Manoj Doshi <mdoshi@ripple.com>
    2 people authored and manojsdoshi committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    91e9658 View commit details
    Browse the repository at this point in the history
  4. add view updates for account SLEs (XRPLF#4629)

    Signed-off-by: Manoj Doshi <mdoshi@ripple.com>
    mvadari authored and manojsdoshi committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    dcb7dd8 View commit details
    Browse the repository at this point in the history
  5. test: add forAllApiVersions helper function (XRPLF#4611)

    Introduce a new variadic template helper function, `forAllApiVersions`,
    that accepts callables to execute a set of functions over a range of
    versions - from RPC::apiMinimumSupportedVersion to RPC::apiBetaVersion.
    This avoids the duplication of code.
    
    Context: XRPLF#4552
    arihantkothari authored and manojsdoshi committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    5d88b72 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    da203b2 View commit details
    Browse the repository at this point in the history
  7. refactor: fix typo in FeeUnits.h (XRPLF#4644)

    covert -> convert
    eltociear authored and manojsdoshi committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    213491d View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    21c4aaf View commit details
    Browse the repository at this point in the history
  9. Apply transaction batches in periodic intervals (XRPLF#4504)

    Add new transaction submission API field, "sync", which
    determines behavior of the server while submitting transactions:
    1) sync (default): Process transactions in a batch immediately,
       and return only once the transaction has been processed.
    2) async: Put transaction into the batch for the next processing
       interval and return immediately.
    3) wait: Put transaction into the batch for the next processing
       interval and return only after it is processed.
    mtrippled authored and manojsdoshi committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    b580049 View commit details
    Browse the repository at this point in the history
  10. Several changes to improve Consensus stability: (XRPLF#4505)

     * Verify accepted ledger becomes validated, and retry
       with a new consensus transaction set if not.
     * Always store proposals.
     * Track proposals by ledger sequence. This helps slow peers catch
       up with the rest of the network.
     * Acquire transaction sets for proposals with future ledger sequences.
       This also helps slow peers catch up.
     * Optimize timer delay for establish phase to wait based on how
       long validators have been sending proposals. This also helps slow
       peers to catch up.
     * Fix impasse achieving close time consensus.
     * Don't wait between open and establish phases.
    mtrippled authored and manojsdoshi committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    e8a7b2a View commit details
    Browse the repository at this point in the history
  11. Set version to 1.12-b3

    Signed-off-by: Manoj Doshi <mdoshi@ripple.com>
    manojsdoshi committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    3574956 View commit details
    Browse the repository at this point in the history
  12. Set version to 1.12.0-rc1

    manojsdoshi committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    300b7e0 View commit details
    Browse the repository at this point in the history

Commits on Aug 29, 2023

  1. Configuration menu
    Copy the full SHA
    7ca1c64 View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2023

  1. Configuration menu
    Copy the full SHA
    d943c58 View commit details
    Browse the repository at this point in the history
  2. Revert "Asynchronously write batches to NuDB (XRPLF#4503)"

    This reverts commit 21c4aaf.
    intelliot committed Aug 30, 2023
    Configuration menu
    Copy the full SHA
    8ceb0f3 View commit details
    Browse the repository at this point in the history
  3. Set version to 1.12.0-rc3

    intelliot committed Aug 30, 2023
    Configuration menu
    Copy the full SHA
    f31c50d View commit details
    Browse the repository at this point in the history

Commits on Sep 1, 2023

  1. AMMBid: use tecINTERNAL for 'impossible' errors (XRPLF#4674)

    Modify two error cases in AMMBid transactor to return `tecINTERNAL` to
    more clearly indicate that these errors should not be possible unless
    operating in unforeseen circumstances. It likely indicates a bug.
    
    The log level has been updated to `fatal()` since it indicates a
    (potentially network-wide) unexpected condition when either of these
    errors occurs.
    
    Details:
    
    The two specific transaction error cases changed are:
    
    - `tecAMM_BALANCE` - In this case, this error (total LP Tokens
      outstanding is lower than the amount to be burned for the bid) is a
      subset of the case where the user doesn't have enough LP Tokens to pay
      for the bid. When this case is reached, the bidder's LP Tokens balance
      has already been checked first. The user's LP Tokens should always be
      a subset of total LP Tokens issued, so this should be impossible.
    - `tecINSUFFICIENT_PAYMENT` - In this case, the amount to be refunded as
      a result of the bid is greater than the price paid for the auction
      slot. This should never occur unless something is wrong with the math
      for calculating the refund amount.
    
    Both error cases in question are "defense in depth" measures meant to
    protect against making things worse if the code has already reached a
    state that is supposed to be impossible, likely due to a bug elsewhere.
    
    Such "shouldn't ever occur" checks should use an error code that
    categorically indicates a larger problem. This is similar to how
    `tecINVARIANT_FAILED` is a warning sign that something went wrong and
    likely could've been worse, but since there isn't an Invariant Check
    applying here, `tecINTERNAL` is the appropriate error code.
    
    This is "debatably" a transaction processing change since it could
    hypothetically change how transactions are processed if there's a bug we
    don't know about.
    mDuo13 committed Sep 1, 2023
    Configuration menu
    Copy the full SHA
    a61a88e View commit details
    Browse the repository at this point in the history
  2. amm_info: fetch by amm account id; add AMM object entry (XRPLF#4682)

    - Update amm_info to fetch AMM by amm account id.
      - This is an additional way to retrieve an AMM object.
      - Alternatively, AMM can still be fetched by the asset pair as well.
    - Add owner directory entry for AMM object.
    
    Context:
    
    - Add back the AMM object directory entry, which was deleted by XRPLF#4626.
      - This fixes `account_objects` for `amm` type.
    gregtatcam committed Sep 1, 2023
    Configuration menu
    Copy the full SHA
    b014b79 View commit details
    Browse the repository at this point in the history
  3. Set version to 1.12.0-rc4

    intelliot committed Sep 1, 2023
    Configuration menu
    Copy the full SHA
    9d4d8c2 View commit details
    Browse the repository at this point in the history

Commits on Sep 6, 2023

  1. Set version to 1.12.0

    manojsdoshi committed Sep 6, 2023
    Configuration menu
    Copy the full SHA
    89780c8 View commit details
    Browse the repository at this point in the history

Commits on Sep 7, 2023

  1. Introduce replacement for getting and setting thread name: (XRPLF#4312)

    * In namespace ripple, introduces get_name function that takes a
      std::thread::native_handle_type and returns a std::string.
    * In namespace ripple, introduces get_name function that takes a
      std::thread or std::jthread and returns a std::string.
    * In namespace ripple::this_thread, introduces get_name function
      that takes no parameters and returns the name of the current
      thread as a std::string.
    * In namespace ripple::this_thread, introduces set_name function
      that takes a std::string_view and sets the name of the current
      thread.
    * Intended to replace the beast utilities setCurrentThreadName
      and getCurrentThreadName.
    HowardHinnant committed Sep 7, 2023
    Configuration menu
    Copy the full SHA
    36cb5f9 View commit details
    Browse the repository at this point in the history
  2. docs(rippled-example.cfg): clarify ssl_cert vs ssl_chain (XRPLF#4667)

    Clarify usage of ssl_cert vs ssl_chain
    ggprod committed Sep 7, 2023
    Configuration menu
    Copy the full SHA
    6f74a74 View commit details
    Browse the repository at this point in the history

Commits on Sep 8, 2023

  1. APIv2(ledger_entry): return invalidParams for bad parameters (XRPLF#4630

    )
    
    - Verify "check", used to retrieve a Check object, is a string.
    - Verify "nft_page", used to retrieve an NFT Page, is a string.
    - Verify "index", used to retrieve any type of ledger object by its
      unique ID, is a string.
    - Verify "directory", used to retrieve a DirectoryNode, is a string or
      an object.
    
    This change only impacts api_version 2 since it is a breaking change.
    
    https://xrpl.org/ledger_entry.html
    
    Fix XRPLF#4550
    PeterChen13579 committed Sep 8, 2023
    Configuration menu
    Copy the full SHA
    c6f6375 View commit details
    Browse the repository at this point in the history
  2. refactor: simplify TxFormats common fields logic (XRPLF#4637)

    Minor refactor to `TxFormats.cpp`:
    - Rename `commonFields` to `pseudoCommonFields` (since it is the common fields
      that all pseudo-transactions need)
    - Add a new static variable, `commonFields`, which represents all the common
      fields that non-pseudo transactions need (essentially everything that
      `pseudoCommonFields` contains, plus `sfTicketSequence`)
    
    This makes it harder to accidentally leave out `sfTicketSequence` in a new
    transaction.
    mvadari committed Sep 8, 2023
    Configuration menu
    Copy the full SHA
    31c8281 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a955057 View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2023

  1. Remove CurrentThreadName.h from RippledCore.cmake (XRPLF#4697)

    (File was already removed from the source)
    HowardHinnant committed Sep 11, 2023
    Configuration menu
    Copy the full SHA
    3b5fcd5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1d9db1b View commit details
    Browse the repository at this point in the history
  3. Apply transaction batches in periodic intervals (XRPLF#4504)

    Add new transaction submission API field, "sync", which
    determines behavior of the server while submitting transactions:
    1) sync (default): Process transactions in a batch immediately,
       and return only once the transaction has been processed.
    2) async: Put transaction into the batch for the next processing
       interval and return immediately.
    3) wait: Put transaction into the batch for the next processing
       interval and return only after it is processed.
    mtrippled committed Sep 11, 2023
    Configuration menu
    Copy the full SHA
    002893f View commit details
    Browse the repository at this point in the history
  4. Several changes to improve Consensus stability: (XRPLF#4505)

    * Verify accepted ledger becomes validated, and retry
       with a new consensus transaction set if not.
     * Always store proposals.
     * Track proposals by ledger sequence. This helps slow peers catch
       up with the rest of the network.
     * Acquire transaction sets for proposals with future ledger sequences.
       This also helps slow peers catch up.
     * Optimize timer delay for establish phase to wait based on how
       long validators have been sending proposals. This also helps slow
       peers to catch up.
     * Fix impasse achieving close time consensus.
     * Don't wait between open and establish phases.
    mtrippled committed Sep 11, 2023
    Configuration menu
    Copy the full SHA
    f259cc1 View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2023

  1. APIv2(account_tx, noripple_check): return error on invalid input (XRP…

    …LF#4620)
    
    For the `account_tx` and `noripple_check` methods, perform input
    validation for optional parameters such as "binary", "forward",
    "strict", "transactions". Previously, when these parameters had invalid
    values (e.g. not a bool), no error would be returned. Now, it returns an
    `invalidParams` error.
    
    * This updates the behavior to match Clio
      (https://github.com/XRPLF/clio).
    * Since this is potentially a breaking change, it only applies to
      requests specifying api_version: 2.
    * Fix XRPLF#4543.
    PeterChen13579 committed Sep 13, 2023
    Configuration menu
    Copy the full SHA
    7fae1c1 View commit details
    Browse the repository at this point in the history

Commits on Sep 14, 2023

  1. XChainBridge: Introduce sidechain support (XLS-38): (XRPLF#4292)

    A bridge connects two blockchains: a locking chain and an issuing
    chain (also called a mainchain and a sidechain). Both are independent
    ledgers, with their own validators and potentially their own custom
    transactions. Importantly, there is a way to move assets from the
    locking chain to the issuing chain and a way to return those assets from
    the issuing chain back to the locking chain: the bridge. This key
    operation is called a cross-chain transfer. A cross-chain transfer is
    not a single transaction. It happens on two chains, requires multiple
    transactions, and involves an additional server type called a "witness".
    
    A bridge does not exchange assets between two ledgers. Instead, it locks
    assets on one ledger (the "locking chain") and represents those assets
    with wrapped assets on another chain (the "issuing chain"). A good model
    to keep in mind is a box with an infinite supply of wrapped assets.
    Putting an asset from the locking chain into the box will release a
    wrapped asset onto the issuing chain. Putting a wrapped asset from the
    issuing chain back into the box will release one of the existing locking
    chain assets back onto the locking chain. There is no other way to get
    assets into or out of the box. Note that there is no way for the box to
    "run out of" wrapped assets - it has an infinite supply.
    
    Co-authored-by: Gregory Popovitch <greg7mdp@gmail.com>
    seelabs and greg7mdp committed Sep 14, 2023
    Configuration menu
    Copy the full SHA
    649c11a View commit details
    Browse the repository at this point in the history
  2. Revert ThreadName due to problems on Windows (XRPLF#4702)

    * Revert "Remove CurrentThreadName.h from RippledCore.cmake (XRPLF#4697)"
    
    This reverts commit 3b5fcd5.
    
    * Revert "Introduce replacement for getting and setting thread name: (XRPLF#4312)"
    
    This reverts commit 36cb5f9.
    HowardHinnant committed Sep 14, 2023
    Configuration menu
    Copy the full SHA
    ce570c1 View commit details
    Browse the repository at this point in the history
  3. Match unit tests on start of test name (XRPLF#4634)

    * For example, without this change, to run the TxQ tests, must specify
      `--unittest=TxQ1,TxQ2` on the command line. With this change, can use
      `--unittest=TxQ`, and both will be run.
    * An exact match will prevent any further partial matching.
    * This could have some side effects for different tests with a common
      name beginning. For example, NFToken, NFTokenBurn, NFTokenDir. This
      might be useful. If not, the shorter-named test(s) can be renamed. For
      example, NFToken to NFTokens.
    * Split the NFToken, NFTokenBurn, and Offer test classes. Potentially speeds
      up parallel tests by a factor of 5.
    ximinez committed Sep 14, 2023
    Configuration menu
    Copy the full SHA
    5427321 View commit details
    Browse the repository at this point in the history

Commits on Sep 15, 2023

  1. Fix Windows build by removing two unused declarations (XRPLF#4708)

    Remove the `verify` and `message` function declarations. The explicit
    instantiation requests could not be completed because there were no
    implementations for those two member functions. It is helpful that the
    Microsoft (MSVC) compiler on Windows appears to be strict when it comes
    to template instantiation.
    
    This resolves the warning:
    
      XChainAttestations.h(450): warning C4661: 'bool
      ripple::XChainAttestationsBase<ripple::XChainClaimAttestation>::verify(void)
      const': no suitable definition provided for explicit template
      instantiation request
    seelabs committed Sep 15, 2023
    Configuration menu
    Copy the full SHA
    237b406 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5b7d2c1 View commit details
    Browse the repository at this point in the history
  3. Revert CMake changes (XRPLF#4707)

    This was likely put back when XRPLF#4292 was rebased.
    legleux authored and intelliot committed Sep 15, 2023
    Configuration menu
    Copy the full SHA
    01fc4b0 View commit details
    Browse the repository at this point in the history
  4. Set version to 2.0.0-b1

    intelliot committed Sep 15, 2023
    Configuration menu
    Copy the full SHA
    046d0c2 View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2023

  1. docs(BUILD): make it easier to find environment.md (XRPLF#4507)

    Make the instructions a bit easier to follow. Users on different
    platforms can look for their platform name to find relevant information.
    intelliot committed Sep 16, 2023
    Configuration menu
    Copy the full SHA
    3397922 View commit details
    Browse the repository at this point in the history

Commits on Sep 18, 2023

  1. fix: remove unused variable causing clang 14 build errors (XRPLF#4672)

    Removed the unused variable `none` from `Writer.cpp` which was causing
    build errors on clang version 14.
    ximinez committed Sep 18, 2023
    Configuration menu
    Copy the full SHA
    65df4bc View commit details
    Browse the repository at this point in the history
  2. docs: fix comment for LedgerHistory::fixIndex return value (XRPLF#4574)

    `LedgerHistory::fixIndex` returns `false` if a repair was performed.
    
    Fix XRPLF#4572
    ckeshava committed Sep 18, 2023
    Configuration menu
    Copy the full SHA
    e86181c View commit details
    Browse the repository at this point in the history
  3. Update secp256k1 to 0.3.2 (XRPLF#4653)

    Copy the new code to `src/secp256k1` without changes:
    `src/secp256k1` is identical to bitcoin-core/secp256k1@acf5c55 (v0.3.2).
    
    We could consider changing to a Git submodule, though that would require
    changes to the build instructions because we are not using submodules
    anywhere else.
    thejohnfreeman committed Sep 18, 2023
    Configuration menu
    Copy the full SHA
    7bff9dc View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2023

  1. docs(RELEASENOTES): update 1.12.0 notes to match dev blog (XRPLF#4691)

    * Reorganize some changelog entries
    * Add note about portable binaries
    * Dev blog: https://xrpl.org/blog
    intelliot committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    9f102fc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8f65bc2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a948203 View commit details
    Browse the repository at this point in the history

Commits on Sep 21, 2023

  1. build: use Boost 1.82 and link Boost.Json (XRPLF#4632)

    Add Boost::json to the list of linked Boost libraries.
    
    This seems to be required for macOS.
    thejohnfreeman committed Sep 21, 2023
    Configuration menu
    Copy the full SHA
    77e0912 View commit details
    Browse the repository at this point in the history
  2. APIv2(gateway_balances, channel_authorize): update errors (XRPLF#4618)

    gateway_balances
    * When `account` does not exist in the ledger, return `actNotFound`
      * (Previously, a normal response was returned)
      * Fix XRPLF#4290
    * When required field(s) are missing, return `invalidParams`
      * (Previously, `invalidHotWallet` was incorrectly returned)
      * Fix XRPLF#4548
    
    channel_authorize
    * When the specified `key_type` is invalid, return `badKeyType`
      * (Previously, `invalidParams` was returned)
      * Fix XRPLF#4289
    
    Since these are breaking changes, they apply only to API version 2.
    
    Supersedes XRPLF#4577
    PeterChen13579 committed Sep 21, 2023
    Configuration menu
    Copy the full SHA
    2487dab View commit details
    Browse the repository at this point in the history
  3. Fix typo in BUILD.md (XRPLF#4718)

    Co-authored-by: Chenna Keshava B S <21219765+ckeshava@users.noreply.github.com>
    ForwardSlashBack and ckeshava committed Sep 21, 2023
    Configuration menu
    Copy the full SHA
    5433e13 View commit details
    Browse the repository at this point in the history

Commits on Sep 22, 2023

  1. Add ProtocolStart and GracefulClose P2P protocol messages (XRPLF#3839)

    Clean up the peer-to-peer protocol start/close sequences by introducing
    START_PROTOCOL and GRACEFUL_CLOSE messages, which sync inbound/outbound
    peer send/receive. The GRACEFUL_CLOSE message differentiates application
    and link layer failures.
    
    * Introduce the `InboundHandoff` class to manage inbound peer
      instantiation and synchronize the send/receive protocol messages
      between peers.
    * Update `OverlayImpl` to utilize the `InboundHandoff` class to manage
      inbound handshakes.
    * Update `PeerImp` for improved handling of protocol messages.
    * Modify the `Message` class for better maintainability.
    * Introduce P2P protocol version `2.3`.
    gregtatcam committed Sep 22, 2023
    Configuration menu
    Copy the full SHA
    8f89694 View commit details
    Browse the repository at this point in the history
  2. chore: add .build to .gitignore (XRPLF#4722)

    Currently, the `BUILD.md` instructions suggest using `.build` as the
    build directory, so this change helps to reduce confusion.
    
    An alternative would be to instruct developers to add `/.build/` to
    `.git/info/exclude` or to user-level `.gitignore` (although the latter
    is very intrusive). However, it is being added here because it is a good
    practice to have a sensible default that's consistent with the build
    instructions.
    Bronek committed Sep 22, 2023
    Configuration menu
    Copy the full SHA
    e4db0fb View commit details
    Browse the repository at this point in the history
  3. fix: accept all valid currency codes in API (XRPLF#4566)

    A few methods, including `book_offers`, take currency codes as
    parameters. The XRPL doesn't care if the letters in those codes are
    lowercase or uppercase, as long as they come from an alphabet defined
    internally. rippled doesn't care either, when they are submitted in a
    hex representation. When they are submitted in an ASCII string
    representation, rippled, but not XRPL, is more restrictive, preventing
    clients from interacting with some currencies already in the XRPL.
    
    This change gets rippled out of the way and lets clients submit currency
    codes in ASCII using the full alphabet.
    
    Fixes XRPLF#4112
    thejohnfreeman committed Sep 22, 2023
    Configuration menu
    Copy the full SHA
    6b61505 View commit details
    Browse the repository at this point in the history
  4. Set version to 2.0.0-b2

    intelliot committed Sep 22, 2023
    Configuration menu
    Copy the full SHA
    2c56d9f View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2023

  1. Configuration menu
    Copy the full SHA
    548c91e View commit details
    Browse the repository at this point in the history
  2. fix(build): uint is not defined on Windows platform (XRPLF#4731)

    Fix the Windows build by using `unsigned int` (instead of `uint`).
    
    The error, introduced by XRPLF#4618, looks something like:
      rpc\impl\RPCHelpers.h(299,5): error C2061: syntax error: identifier
      'uint' (compiling source file app\ledger\Ledger.cpp)
    ximinez committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    b92d511 View commit details
    Browse the repository at this point in the history

Commits on Sep 28, 2023

  1. fix: stabilize voting threshold for amendment majority mechanism (XRP…

    …LF#4410)
    
    Amendment "flapping" (an amendment repeatedly gaining and losing
    majority) usually occurs when an amendment is on the verge of gaining
    majority, and a validator not in favor of the amendment goes offline or
    loses sync. This fix makes two changes:
    
    1. The number of validators in the UNL determines the threshold required
       for an amendment to gain majority.
    2. The AmendmentTable keeps a record of the most recent Amendment vote
       received from each trusted validator (and, with `trustChanged`, stays
       up-to-date when the set of trusted validators changes). If no
       validation arrives from a given validator, then the AmendmentTable
       assumes that the previously-received vote has not changed.
    
    In other words, when missing an `STValidation` from a remote validator,
    each server now uses the last vote seen. There is a 24 hour timeout for
    recorded validator votes.
    
    These changes do not require an amendment because they do not impact
    transaction processing, but only the threshold at which each individual
    validator decides to propose an EnableAmendment pseudo-transaction.
    
    Fix XRPLF#4350
    scottschurr committed Sep 28, 2023
    Configuration menu
    Copy the full SHA
    2bb8de0 View commit details
    Browse the repository at this point in the history

Commits on Oct 2, 2023

  1. fix(XLS-38): disallow the same bridge on one chain: (XRPLF#4720)

    Modify the `XChainBridge` amendment.
    
    Before this patch, two door accounts on the same chain could could own
    the same bridge spec (of course, one would have to be the issuer and one
    would have to be the locker). While this is silly, it does not violate
    any bridge invariants. However, on further review, if we allow this then
    the `claim` transactions would need to change. Since it's hard to see a
    use case for two doors to own the same bridge, this patch disallows
    it. (The transaction will return tecDUPLICATE).
    seelabs committed Oct 2, 2023
    Configuration menu
    Copy the full SHA
    925aca7 View commit details
    Browse the repository at this point in the history
  2. docs(BUILD.md): require GCC 11 or higher (XRPLF#4700)

    Update minimum compiler requirement for building the codebase. The
    feature "using enum" is required. This feature was introduced in C++20.
    
    Updating the C++ compiler to version 11 or later fixes this error:
    
    ```
    Building CXX object CMakeFiles/xrpl_core.dir/src/ripple/protocol/impl/STAmount.cpp.o
    /build/ripple/binary/src/ripple/protocol/impl/STAmount.cpp: In lambda function:
    /build/ripple/binary/src/ripple/protocol/impl/STAmount.cpp:1577:15: error: expected nested-name-specifier before 'enum'
     1577 |         using enum Number::rounding_mode;
          |               ^~~~
    ```
    
    Fix XRPLF#4693
    ckeshava committed Oct 2, 2023
    Configuration menu
    Copy the full SHA
    e27d24b View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2023

  1. fix: asan stack-use-after-scope in soci::use with rvalues (XRPLF#4676)

    Address a stack-use-after-scope issue when using rvalues with
    `soci::use`. Replace rvalues with lvalues to ensure the scope extends
    beyond the end of the expression.
    
    The issue arises from `soci` taking a reference to the rvalue without
    copying its value or extending its lifetime. `soci` references rvalues
    in `soci::use_container` and then the address in `soci_use_type`. For
    types like `int`, memory access post-lifetime is unlikely to cause
    issues. However, for `std::string`, the backing heap memory can be freed
    and potentially reused, leading to a potential segmentation fault.
    
    This was detected on x86_64 using clang-15 with asan. asan confirms
    resolution of the issue.
    
    Fix XRPLF#4675
    StefanVK committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    3dea78d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0c43eb3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    40ebbec View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2023

  1. refactor: reunify transaction common fields: (XRPLF#4715)

    Make transactions and pseudo-transactions share the same commonFields
    again. This regularizes the code in a nice way.
    
    While this technically allows pseudo-transactions to have a
    TicketSequence field, pseudo-transactions are only ever constructed by
    code paths that don't add such a field, so this is not a transaction
    processing change. It may be possible to add a separate check to ensure
    TicketSequence (and other fields that don't make sense on
    pseudo-transactions) are never added to pseudo-transactions, but that
    should not be necessary. (TicketSequence is not the only common field
    that can not and does not appear in pseudo-transactions.) Note:
    TicketSequence is already documented as a common field.
    
    Related: XRPLF#4637
    
    Fix XRPLF#4714
    mDuo13 committed Oct 5, 2023
    Configuration menu
    Copy the full SHA
    4e84ad6 View commit details
    Browse the repository at this point in the history
  2. refactor: reduce boilerplate in applySteps: (XRPLF#4710)

    When a new transactor is added, there are several places in applySteps
    that need to be modified. This patch refactors the code so only one
    function needs to be modified.
    seelabs committed Oct 5, 2023
    Configuration menu
    Copy the full SHA
    ec86260 View commit details
    Browse the repository at this point in the history
  3. fixDisallowIncomingV1: allow issuers to authorize trust lines (XRPL…

    …F#4721)
    
    Context: The `DisallowIncoming` amendment provides an option to block
    incoming trust lines from reaching your account. The
    asfDisallowIncomingTrustline AccountSet Flag, when enabled, prevents any
    incoming trust line from being created. However, it was too restrictive:
    it would block an issuer from authorizing a trust line, even if the
    trust line already exists. Consider:
    
    1. Issuer sets asfRequireAuth on their account.
    2. User sets asfDisallowIncomingTrustline on their account.
    3. User submits tx to SetTrust to Issuer.
    
    At this point, without `fixDisallowIncomingV1` active, the issuer would
    not be able to authorize the trust line.
    
    The `fixDisallowIncomingV1` amendment, once activated, allows an issuer
    to authorize a trust line even after the user sets the
    asfDisallowIncomingTrustline flag, as long as the trust line already
    exists.
    dangell7 committed Oct 5, 2023
    Configuration menu
    Copy the full SHA
    6ba9450 View commit details
    Browse the repository at this point in the history

Commits on Oct 6, 2023

  1. docs(rippled-example.cfg): add P2P link compression (XRPLF#4753)

    P2P link compression is a feature added in 1.6.0 by XRPLF#3287.
    
    https://xrpl.org/enable-link-compression.html
    
    If the default changes in the future - for example, as currently
    proposed by XRPLF#4387 - the comment will be updated at that time.
    
    Fix XRPLF#4656
    florent-uzio committed Oct 6, 2023
    Configuration menu
    Copy the full SHA
    ced14ec View commit details
    Browse the repository at this point in the history
  2. docs(API-CHANGELOG): add XRPFees change (XRPLF#4741)

    * Add a new API Changelog section for release 1.10.
    * Mark `jss::fee_ref` as deprecated.
    * Fix a copy-paste error in one of the unit tests.
    ximinez committed Oct 6, 2023
    Configuration menu
    Copy the full SHA
    053b69c View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2023

  1. ci: reenable Windows CI build with Artifactory support (XRPLF#4596)

    Artifactory support was added to the `nix` builds with XRPLF#4556. This
    extends that support to the Windows build. Now the Windows build works;
    CI will build and test a Windows release build. This only affects CI and
    does not change any C++ code.
    
    * Copy the remote setup step outcome fix from XRPLF#4716 discussion
    * Allow the Windows job to succeed if tests fail:
      * Currently the tests do not always pass, even on a single threaded
        run on the GitHub runners. So we are using parallel runs and mark
        the test step as allowed to fail (continue-on-error).
      * At this point, it's more important that the build succeeds than that
        the tests succeed, because:
      * We've got plenty of test coverage on the other jobs.
      * Test failures are much rarer than build failures because of
        cross-platform issues.
      * Having a test failure locally doesn't interrupt a workflow nearly as
        much as a build failure.
    
    Note that Conan Center cannot hold the binaries we need. They do not
    build the configurations we need, and they will not add them.
    
    ## Future Tasks
    
    This introduces a new bottleneck since the build and test takes over an
    hour. Speed up the job by:
    
    * Making this job run on heavy Windows runners.
    * Increasing the number of hardware threads.
    ximinez committed Oct 9, 2023
    Configuration menu
    Copy the full SHA
    3e08c39 View commit details
    Browse the repository at this point in the history

Commits on Oct 11, 2023

  1. fix(CI): update workflow for uploading binaries to artifactory (XRPLF…

    …#4746)
    
    Update the nix CI runner. This commit does not modify any source code
    files. The unix builds were successful, but the binaries were not
    uploaded to the internal artifactory. This PR borrows an idea from
    @ximinez to attempt to fix this issue.
    
    After successful authentication, the `outcome` variable contains a
    string. In the upload step, we are checking if outcome == 'success' as a
    prerequisite for uploading the binary.
    
    This commit updates the contents of the `outcome` variable.
    ckeshava committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    1151fba View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2023

  1. fix(PathRequest): remove incorrect assert (XRPLF#4743)

    The assert is saying that the only reason `pathFinder` would be null is
    if the request was aborted (connection dropped, etc.). That's what
    `continueCallback()` checks. But that is very clearly not true if you
    look at `getPathFinder`, which calls `findPaths`, which can return false
    for many reasons.
    
    Fix XRPLF#4744
    ximinez committed Oct 12, 2023
    Configuration menu
    Copy the full SHA
    50cc1cf View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c915984 View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2023

  1. fix(CI): Call python to upgrade pip on Windows (XRPLF#4768)

    In Windows, we need to call `python` in order for the `pip` upgrade
    command to work.
    
    This changes the GitHub Actions Windows CI job to use the correct
    command to upgrade PIP, fixing this error:
    
    ```
    ERROR: To modify pip, please run the following command:
    C:\hostedtoolcache\windows\Python\3.9.13\x64\python.exe -m pip install --upgrade pip
    ```
    
    A future task is to make job run on heavy Windows runners so that it
    doesn't take so long.
    
    Context: XRPLF#4596
    ximinez committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    1fde585 View commit details
    Browse the repository at this point in the history

Commits on Oct 17, 2023

  1. Set version to 2.0.0-b3

    intelliot committed Oct 17, 2023
    Configuration menu
    Copy the full SHA
    1fc1eb9 View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2023

  1. Configuration menu
    Copy the full SHA
    be6ac7e View commit details
    Browse the repository at this point in the history
  2. refactor(peerfinder): use LogicError in PeerFinder::Logic (XRPLF#4562)

    It might be possible for the server code to indirect through certain
    `end()` iterators. While a debug build would catch this problem with
    `assert()`s, a release build would crash. If there are problems in this
    area in the future, it is best to get a definitive indication of the
    nature of the error regardless of whether it's a debug or release build.
    To accomplish this, these `assert`s are converted into `LogicError`s
    that will produce a reasonable error message when they fire.
    scottschurr committed Oct 18, 2023
    Configuration menu
    Copy the full SHA
    b69156a View commit details
    Browse the repository at this point in the history
  3. Update the reserved hook error code name to tecHOOK_REJECTED (XRPLF…

    …#4559)
    
    The old name was `tecHOOK_ERROR`
    dangell7 committed Oct 18, 2023
    Configuration menu
    Copy the full SHA
    41cd337 View commit details
    Browse the repository at this point in the history
  4. DID: Decentralized identifiers (DIDs) (XLS-40): (XRPLF#4636)

    Implement native support for W3C DIDs.
    
    Add a new ledger object: `DID`.
    
    Add two new transactions:
    1. `DIDSet`: create or update the `DID` object.
    2. `DIDDelete`: delete the `DID` object.
    
    This meets the requirements specified in the DID v1.0 specification
    currently recommended by the W3C Credentials Community Group.
    
    The DID format for the XRP Ledger conforms to W3C DID standards.
    The objects can be created and owned by any XRPL account holder.
    The transactions can be integrated by any service, wallet, or application.
    mvadari committed Oct 18, 2023
    Configuration menu
    Copy the full SHA
    b421945 View commit details
    Browse the repository at this point in the history
  5. feat(rpc): add server_definitions method (XRPLF#4703)

    Add a new RPC / WS call for `server_definitions`, which returns an
    SDK-compatible `definitions.json` (binary enum definitions) generated by
    the server. This enables clients/libraries to dynamically work with new
    fields and features, such as ones that may become available on side
    chains. Clients query `server_definitions` on a node from the network
    they want to work with, and immediately know how to speak that node's
    binary "language", even if new features are added to it in the future
    (as long as there are no new serialized types that the software doesn't
    know how to serialize/deserialize).
    
    Example:
    
    ```js
    > {"command": "server_definitions"}
    < {
        "result": {
            "FIELDS": [
                [
                    "Generic",
                    {
                        "isSerialized": false,
                        "isSigningField": false,
                        "isVLEncoded": false,
                        "nth": 0,
                        "type": "Unknown"
                    }
                ],
                [
                    "Invalid",
                    {
                        "isSerialized": false,
                        "isSigningField": false,
                        "isVLEncoded": false,
                        "nth": -1,
                        "type": "Unknown"
                    }
                ],
                [
                    "ObjectEndMarker",
                    {
                        "isSerialized": false,
                        "isSigningField": true,
                        "isVLEncoded": false,
                        "nth": 1,
                        "type": "STObject"
                    }
                ],
            ...
    ```
    
    Close XRPLF#3657
    
    ---------
    
    Co-authored-by: Richard Holland <richard.holland@starstone.co.nz>
    mvadari and RichardAH committed Oct 18, 2023
    Configuration menu
    Copy the full SHA
    078bd60 View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2023

  1. fix: allow pseudo-transactions to omit NetworkID (XRPLF#4737)

    The Network ID logic should not be applied to pseudo-transactions.
    
    This allows amendments to enable on a network with an ID > 1024.
    
    Context:
    - NetworkID: XRPLF#4370
    - Pseudo-transactions: https://xrpl.org/pseudo-transaction-types.html
    
    Fix XRPLF#4736
    
    ---------
    
    Co-authored-by: RichardAH <richard.holland@starstone.co.nz>
    dangell7 and RichardAH committed Oct 19, 2023
    Configuration menu
    Copy the full SHA
    8d86c5e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5af9dc5 View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2023

  1. perf(CI): use unity builds to speed up Windows CI (XRPLF#4780)

    The unity build speeds up compilation by bundling multiple source files
    into one larger file. This reduces Windows CI build time by up to 50%.
    
    As described in XRPLF#4596, the automatic Windows builds take a very long
    time. Unity builds are significantly faster - currently about 45 min,
    much closer to the typical MacOS (35-40 minutes) and nix (~30 minutes)
    run times.
    
    This is intended as a stopgap solution until a more resourced and
    reliable runner is available.
    
    No C++ code was changed. This only affects CI.
    ximinez committed Oct 23, 2023
    Configuration menu
    Copy the full SHA
    5026cbd View commit details
    Browse the repository at this point in the history
  2. APIv2(DeliverMax): add alias for Amount in Payment transactions (XRPL…

    …F#4733)
    
    Using the "Amount" field in Payment transactions can cause incorrect
    interpretation. There continue to be problems from the use of this
    field. "Amount" is rarely the correct field to use; instead,
    "delivered_amount" (or "DeliveredAmount") should be used.
    
    Rename the "Amount" field to "DeliverMax", a less misleading name. With
    api_version: 2, remove the "Amount" field from Payment transactions.
    
    - Input: "DeliverMax" in `tx_json` is an alias for "Amount"
      - sign
      - submit (in sign-and-submit mode)
      - submit_multisigned
      - sign_for
    - Output: Add "DeliverMax" where transactions are provided by the API
      - ledger
      - tx
      - tx_history
      - account_tx
      - transaction_entry
      - subscribe (transactions stream)
    - Output: Remove "Amount" from API version 2
    
    Fix XRPLF#3484
    
    Fix XRPLF#3902
    Bronek committed Oct 23, 2023
    Configuration menu
    Copy the full SHA
    3972683 View commit details
    Browse the repository at this point in the history
  3. Set version to 2.0.0-b4

    intelliot committed Oct 23, 2023
    Configuration menu
    Copy the full SHA
    2a66bb3 View commit details
    Browse the repository at this point in the history

Commits on Oct 24, 2023

  1. docs: clarify definition of network health (XRPLF#4729)

    Update the documentation to describe network health with more nuance as
    well as context about related factors.
    mtrippled committed Oct 24, 2023
    Configuration menu
    Copy the full SHA
    3e5f770 View commit details
    Browse the repository at this point in the history
  2. APIv2: remove tx_history and ledger_header (XRPLF#4759)

    Remove `tx_history` and `ledger_header` methods from API version 2.
    
    Update `RPC::Handler` to allow for methods (or method implementations)
    to be API version specific. This partially resolves XRPLF#4727. We can now
    store multiple handlers with the same name, as long as they belong to
    different (non-overlapping) API versions. This necessarily impacts the
    handler lookup algorithm and its complexity; however, there is no
    performance loss on x86_64 architecture, and only minimal performance
    loss on arm64 (around 10ns). This design change gives us extra
    flexibility evolving the API in the future, including other parts of
    XRPLF#4727.
    
    In API version 2, `tx_history` and `ledger_header` are no longer
    recognised; if they are called, `rippled` will return error
    `unknownCmd`
    
    Resolve XRPLF#3638
    
    Resolve XRPLF#3539
    Bronek committed Oct 24, 2023
    Configuration menu
    Copy the full SHA
    1eac4d2 View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2023

  1. fix: remove include <ranges> (XRPLF#4788)

    Remove dependency on `<ranges>` header, since it is not implemented by
    all compilers which we want to support.
    
    This code change only affects unit tests.
    
    Resolve XRPLF#4787
    Bronek committed Oct 30, 2023
    Configuration menu
    Copy the full SHA
    ac02e56 View commit details
    Browse the repository at this point in the history
  2. fixFillOrKill: fix offer crossing with tfFillOrKill (XRPLF#4694)

    Introduce the `fixFillOrKill` amendment.
    
    Fix an edge case occurring when an offer with `tfFillOrKill` set (but
    without `tfSell` set) fails to cross an offer with a better rate. If
    `tfFillOrKill` is set, then the owner must receive the full TakerPays.
    Without this amendment, an offer fails if the entire `TakerGets` is not
    spent. With this amendment, when `tfSell` is not set, the entire
    `TakerGets` does not have to be spent.
    
    For details about OfferCreate, see: https://xrpl.org/offercreate.html
    
    Fix XRPLF#4684
    
    ---------
    
    Co-authored-by: Scott Schurr <scott@ripple.com>
    gregtatcam and scottschurr committed Oct 30, 2023
    Configuration menu
    Copy the full SHA
    3b624d8 View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2023

  1. fix: remove unused variable (XRPLF#4677)

    With clang 15, an unused-but-set-variable warning was emitted:
    
    PostgresDatabase.cpp:178:14: warning: variable 'expNumResults' set but
    not used [-Wunused-but-set-variable]
        uint32_t expNumResults = 1;
    StefanVK committed Oct 31, 2023
    Configuration menu
    Copy the full SHA
    26b0322 View commit details
    Browse the repository at this point in the history

Commits on Nov 1, 2023

  1. Configuration menu
    Copy the full SHA
    85342b2 View commit details
    Browse the repository at this point in the history

Commits on Nov 2, 2023

  1. Fix unit test api_version to enable api_version 2 (XRPLF#4785)

    The command line API still uses `apiMaximumSupportedVersion`.
    The unit test RPCs use `apiMinimumSupportedVersion` if unspecified.
    
    Context:
    - XRPLF#4568
    - XRPLF#4552
    pwang200 committed Nov 2, 2023
    Configuration menu
    Copy the full SHA
    056255e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    09e0f10 View commit details
    Browse the repository at this point in the history

Commits on Nov 8, 2023

  1. Unify JSON serialization format of transactions (XRPLF#4775)

    * Remove include <ranges>
    
    * Formatting fix
    
    * Output for subscriptions
    
    * Output from sign, submit etc.
    
    * Output from ledger
    
    * Output from account_tx
    
    * Output from transaction_entry
    
    * Output from tx
    
    * Store close_time_iso in API v2 output
    
    * Add small APIv2 unit test for subscribe
    
    * Add unit test for transaction_entry
    
    * Add unit test for tx
    
    * Remove inLedger from API version 2
    
    * Set ledger_hash and ledger_index
    
    * Move isValidated from RPCHelpers to LedgerMaster
    
    * Store closeTime in LedgerFill
    
    * Time formatting fix
    
    * additional tests for Subscribe unit tests
    
    * Improved comments
    
    * Rename mInLedger to mLedgerIndex
    
    * Minor fixes
    
    * Set ledger_hash on closed ledger, even if not validated
    
    * Update API-CHANGELOG.md
    
    * Add ledger_hash, ledger_index to transaction_entry
    
    * Fix validated and close_time_iso in account_tx
    
    * Fix typos
    
    * Improve getJson for Transaction and STTx
    
    * Minor improvements
    
    * Replace class enum JsonOptions with struct
    
    We may consider turning this into a general-purpose template and using it elsewhere
    
    * simplify the extraction of transactionID from Transaction object
    
    * Remove obsolete comments
    
    * Unconditionally set validated in account_tx output
    
    * Minor improvements
    
    * Minor fixes
    
    ---------
    
    Co-authored-by: Chenna Keshava <ckeshavabs@gmail.com>
    Bronek and ckeshava committed Nov 8, 2023
    Configuration menu
    Copy the full SHA
    32ced49 View commit details
    Browse the repository at this point in the history

Commits on Nov 9, 2023

  1. Set version to 2.0.0-rc1

    manojsdoshi committed Nov 9, 2023
    Configuration menu
    Copy the full SHA
    cf4e9e5 View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2023

  1. Configuration menu
    Copy the full SHA
    4cb0bcb View commit details
    Browse the repository at this point in the history
  2. Promote API version 2 to supported (XRPLF#4803)

    * Promote API version 2 to supported
    
    * Switch command line to API version 1
    
    * Fix LedgerRequestRPC test
    
    * Remove obsolete tx_account method
    
    This method is not implemented, the only parts which are removed are related to command-line parsing
    
    * Fix RPCCall test
    
    * Reduce diff size, small test improvements
    
    * Minor fixes
    
    * Support for the mold linker
    
    * [fold] handle case where both mold and gold are installed
    
    * [fold] Use first non-default linker
    
    * Fix TransactionEntry_test
    
    * Fix AccountTx_test
    
    ---------
    
    Co-authored-by: seelabs <scott.determan@yahoo.com>
    Bronek and seelabs committed Nov 13, 2023
    Configuration menu
    Copy the full SHA
    ac27089 View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2023

  1. Update Linux smoketest distros (XRPLF#4813)

    Co-authored-by: manoj <mdoshi@ripple.com>
    legleux and manojsdoshi committed Nov 15, 2023
    Configuration menu
    Copy the full SHA
    7b49f1e View commit details
    Browse the repository at this point in the history

Commits on Nov 16, 2023

  1. Fix 2.0 regression in tx method with binary output (XRPLF#4812)

    * Fix binary output from tx method
    
    * Formatting fix
    
    * Minor test improvement
    
    * Minor test improvements
    Bronek committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    d593972 View commit details
    Browse the repository at this point in the history

Commits on Nov 17, 2023

  1. Optimize calculation of close time to avoid impasse and minimize grat…

    …uitous proposal changes (XRPLF#4760)
    
    * Optimize the calculation of close time to avoid
    impasse and minimize gratuitous proposal changes.
    
    * git apply clang-format.patch
    
    * Review (Howard) fixes.
    
    * Review fix for impasse discovered by John.
    
    * Review fixes (comments) from John.
    
    * Scott S review fixes. Also clang-format.
    mtrippled committed Nov 17, 2023
    Configuration menu
    Copy the full SHA
    8ce85a9 View commit details
    Browse the repository at this point in the history

Commits on Nov 20, 2023

  1. Proposed 2.0.0-rc2 (XRPLF#4818)

    * Support for the mold linker (XRPLF#4807)
    
    * Promote API version 2 to supported (XRPLF#4803)
    
    * Promote API version 2 to be supported
    
    * Switch the command line to API version 1
    
    * Fix LedgerRequestRPC test
    
    * Remove obsolete tx_account method
    
    This method is not implemented, the only parts which are removed are related to command-line parsing
    
    * Fix RPCCall test
    
    * Reduce diff size, small test improvements
    
    * Minor fixes
    
    * Support for the mold linker
    
    * Fix TransactionEntry_test
    
    * Fix AccountTx_test
    
    ---------
    
    Co-authored-by: seelabs <scott.determan@yahoo.com>
    
    * Update Linux smoketest distros (XRPLF#4813)
    
    * Fix 2.0 regression in tx method with binary output (XRPLF#4812)
    
    * Fix binary output from tx method
    
    * Formatting fix
    
    * Minor test improvement
    
    * Minor test improvements
    
    * Optimize calculation of close time to avoid impasse and minimize gratuitous proposal changes (XRPLF#4760)
    
    * Optimize the calculation of close time to avoid
    impasse and minimize gratuitous proposal changes.
    
    * git apply clang-format.patch
    
    * Scott S review fixes. Also clang-format.
    
    * Set version to 2.0.0-rc2
    
    ---------
    
    Co-authored-by: manoj <mdoshi@ripple.com>
    Co-authored-by: Scott Determan <scott.determan@yahoo.com>
    Co-authored-by: Bronek Kozicki <brok@incorrekt.com>
    Co-authored-by: Michael Legleux <legleux@users.noreply.github.com>
    Co-authored-by: Mark Travis <mtrippled@users.noreply.github.com>
    5 people committed Nov 20, 2023
    Configuration menu
    Copy the full SHA
    4977a5d View commit details
    Browse the repository at this point in the history

Commits on Nov 21, 2023

  1. Configuration menu
    Copy the full SHA
    4dff203 View commit details
    Browse the repository at this point in the history
  2. Promote API version 2 to supported (XRPLF#4803)

    * Promote API version 2 to supported
    
    * Switch command line to API version 1
    
    * Fix LedgerRequestRPC test
    
    * Remove obsolete tx_account method
    
    This method is not implemented, the only parts which are removed are related to command-line parsing
    
    * Fix RPCCall test
    
    * Reduce diff size, small test improvements
    
    * Minor fixes
    
    * Support for the mold linker
    
    * [fold] handle case where both mold and gold are installed
    
    * [fold] Use first non-default linker
    
    * Fix TransactionEntry_test
    
    * Fix AccountTx_test
    
    ---------
    
    Co-authored-by: seelabs <scott.determan@yahoo.com>
    2 people authored and manojsdoshi committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    96c926c View commit details
    Browse the repository at this point in the history
  3. Update Linux smoketest distros (XRPLF#4813)

    Co-authored-by: manoj <mdoshi@ripple.com>
    legleux and manojsdoshi committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    f95fa33 View commit details
    Browse the repository at this point in the history
  4. Fix 2.0 regression in tx method with binary output (XRPLF#4812)

    * Fix binary output from tx method
    
    * Formatting fix
    
    * Minor test improvement
    
    * Minor test improvements
    Bronek authored and manojsdoshi committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    d5059b1 View commit details
    Browse the repository at this point in the history
  5. Optimize calculation of close time to avoid impasse and minimize grat…

    …uitous proposal changes (XRPLF#4760)
    
    * Optimize the calculation of close time to avoid
    impasse and minimize gratuitous proposal changes.
    
    * git apply clang-format.patch
    
    * Review (Howard) fixes.
    
    * Review fix for impasse discovered by John.
    
    * Review fixes (comments) from John.
    
    * Scott S review fixes. Also clang-format.
    mtrippled authored and manojsdoshi committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    c171090 View commit details
    Browse the repository at this point in the history
  6. Set version to 2.0.0-rc2

    manojsdoshi committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    44a9266 View commit details
    Browse the repository at this point in the history

Commits on Nov 27, 2023

  1. Merge pull request XRPLF#4824 from manojsdoshi/develop

    Merging rc2 to develop
    intelliot committed Nov 27, 2023
    Configuration menu
    Copy the full SHA
    f05acbd View commit details
    Browse the repository at this point in the history
  2. Merge pull request XRPLF#4823 from XRPLF/release

    Merging release into develop
    intelliot committed Nov 27, 2023
    Configuration menu
    Copy the full SHA
    92957d6 View commit details
    Browse the repository at this point in the history
  3. Add Debian 12 Bookworm; ignore core-utils in almalinux (XRPLF#4836)

    Add codename `bookworm` to the distro matrix during Artifactory uploads
    allowing Debian 12 clients to install `rippled` packages.
    
    Ignore installing conflicting `core-utils` packages during almalinux
    package smoke tests.
    legleux committed Nov 27, 2023
    Configuration menu
    Copy the full SHA
    2e93dd5 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    923e1ce View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    e33a6d5 View commit details
    Browse the repository at this point in the history
  6. Set version to 2.0.0-rc3

    manojsdoshi committed Nov 27, 2023
    Configuration menu
    Copy the full SHA
    8ec475b View commit details
    Browse the repository at this point in the history

Commits on Nov 29, 2023

  1. APIv2: consistently return ledger_index as integer (XRPLF#4820)

    For api_version 2, always return ledger_index as integer in JSON output.
    
    api_version 1 retains prior behavior.
    Bronek committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    c045060 View commit details
    Browse the repository at this point in the history
  2. APIv2: show DeliverMax in submit, submit_multisigned (XRPLF#4827)

    Show `DeliverMax` instead of `Amount` in output from `submit`,
    `submit_multisigned`, `sign`, and `sign_for`.
    
    Fix XRPLF#4829
    Bronek committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    fe8621b View commit details
    Browse the repository at this point in the history
  3. Set version to 2.0.0-rc4

    intelliot committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    4316464 View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2023

  1. Revert XRPLF#4505, XRPLF#4760 (XRPLF#4842)

    * Revert "Optimize calculation of close time to avoid impasse and minimize gratuitous proposal changes (XRPLF#4760)"
    
    This reverts commit 8ce85a9.
    
    * Revert "Several changes to improve Consensus stability: (XRPLF#4505)"
    
    This reverts commit f259cc1.
    
    * Add missing include
    
    ---------
    
    Co-authored-by: seelabs <scott.determan@yahoo.com>
    sophiax851 and seelabs committed Dec 1, 2023
    Configuration menu
    Copy the full SHA
    5aef102 View commit details
    Browse the repository at this point in the history
  2. Workarounds for gcc-13 compatibility (XRPLF#4817)

    Workaround for compilation errors with gcc-13 and other compilers
    relying on `libstdc++` version 13. This is temporary until actual fix is
    available for us to use: boostorg/beast#2682
    
    Some boost.beast files (which we do use) rely on an old gcc-12 behaviour
    where `#include <cstdint>` was not needed even though types from this
    header were used. This was broken by a change in libstdc++ version 13:
    https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes
    
    The necessary fix was implemented in boost.beast, however it is not yet
    available. Until it is available, we can use this workaround to enable
    compilation of `rippled` with gcc-13, clang-16, etc.
    Bronek committed Dec 1, 2023
    Configuration menu
    Copy the full SHA
    06251aa View commit details
    Browse the repository at this point in the history
  3. Set version to 2.0.0-rc5

    intelliot committed Dec 1, 2023
    Configuration menu
    Copy the full SHA
    46f3d3e View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2023

  1. fix typo: 'of' instead of 'on' (XRPLF#4821)

    Co-authored-by: Hussein Badakhchani <hoos@alsoug.com>
    hoos and Hussein Badakhchani committed Dec 6, 2023
    Configuration menu
    Copy the full SHA
    656948c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3b191a3 View commit details
    Browse the repository at this point in the history

Commits on Dec 19, 2023

  1. Configuration menu
    Copy the full SHA
    ffb53f2 View commit details
    Browse the repository at this point in the history

Commits on Dec 20, 2023

  1. Revert "Apply transaction batches in periodic intervals (XRPLF#4504)" (

    …XRPLF#4852)
    
    This reverts commit 002893f.
    
    There were two files with conflicts in the automated revert:
    
    - src/ripple/rpc/impl/RPCHelpers.h and
    - src/test/rpc/JSONRPC_test.cpp
    
    Those files were manually resolved.
    scottschurr committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    c53a5e7 View commit details
    Browse the repository at this point in the history
  2. Set version to 2.0.0-rc6

    intelliot committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    ca31981 View commit details
    Browse the repository at this point in the history

Commits on Jan 5, 2024

  1. Set version to 2.0.0-rc7

    * Ignore python error about modifying system python (XRPLF#4863)
    legleux committed Jan 5, 2024
    Configuration menu
    Copy the full SHA
    350d213 View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2024

  1. Set version to 2.0.0

    intelliot committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    2b0313d View commit details
    Browse the repository at this point in the history

Commits on Jan 12, 2024

  1. WebSocket should only call async_close once (XRPLF#4848)

    Prevent WebSocket connections from trying to close twice.
    
    The issue only occurs in debug builds (assertions are disabled in
    release builds, including published packages), and when the WebSocket
    connections are unprivileged. The assert (and WRN log) occurs when a
    client drives up the resource balance enough to be forcibly disconnected
    while there are still messages pending to be sent.
    
    Thanks to @lathanbritz for discovering this issue in XRPLF#4822.
    ximinez committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    4308407 View commit details
    Browse the repository at this point in the history
  2. Improve lifetime management of ledger objects (SLEs) to prevent run…

    …away memory usage: (XRPLF#4822)
    
    * Add logging for Application.cpp sweep()
    * Improve lifetime management of ledger objects (`SLE`s)
    * Only store SLE digest in CachedView; get SLEs from CachedSLEs
    * Also force release of last ledger used for path finding if there are
      no path finding requests to process
    * Count more ST objects (derive from `CountedObject`)
    * Track CachedView stats in CountedObjects
    * Rename the CachedView counters
    * Fix the scope of the digest lookup lock
    
    Before this patch, if you asked "is it caching?" It was always caching.
    ximinez committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    d9f90c8 View commit details
    Browse the repository at this point in the history

Commits on Jan 16, 2024

  1. fix: clang warning about deprecated sprintf usage (XRPLF#4747)

    Resolves a warning that was emitted from the clang compiler. Switches
    usage of the sprintf function to the recommended snprintf function.
    
    Warning was observed in Apple clang version 15.0.0 (clang-1500.0.40.1).
    
    Fix XRPLF#4569
    ckeshava committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    5a7af5b View commit details
    Browse the repository at this point in the history
  2. fix: change default send_queue_limit to 500 (XRPLF#4867)

    Clients subscribed to `transactions` over WebSocket are being
    disconnected because the traffic exceeds the default `send_queue_limit`
    of 100.
    
    This commit changes the default configuration, not the default in code.
    
    Fix XRPLF#4866
    thejohnfreeman committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    fe4d6c6 View commit details
    Browse the repository at this point in the history

Commits on Jan 17, 2024

  1. test: add DeliverMax to more JSONRPC tests (XRPLF#4826)

    Minor change in unit tests to improve testing scope.
    Bronek committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    6ac2b70 View commit details
    Browse the repository at this point in the history

Commits on Jan 18, 2024

  1. Configuration menu
    Copy the full SHA
    861bd1a View commit details
    Browse the repository at this point in the history
  2. Set version to 2.0.1-b1

    intelliot committed Jan 18, 2024
    1 Configuration menu
    Copy the full SHA
    87ee786 View commit details
    Browse the repository at this point in the history

Commits on Jan 19, 2024

  1. Revert "Asynchronously write batches to NuDB. (XRPLF#4503)" (XRPLF#4882)

    This reverts commit 1d9db1b.
    
    This improves the stability of online deletion.
    mtrippled committed Jan 19, 2024
    Configuration menu
    Copy the full SHA
    a41f385 View commit details
    Browse the repository at this point in the history

Commits on Jan 20, 2024

  1. docs: update help message about unit test-suite pattern matching (XRP…

    …LF#4846)
    
    Update the "rippled --help" message for the "-u" parameter. This
    documents the unit test name pattern matching rule implemented by XRPLF#4634.
    
    Fix XRPLF#4800
    ckeshava committed Jan 20, 2024
    Configuration menu
    Copy the full SHA
    efe6722 View commit details
    Browse the repository at this point in the history

Commits on Jan 22, 2024

  1. test: improve code coverage reporting (XRPLF#4849)

    * Speed up the generation of coverage reports by using multiple cores.
    
    * Add codecov step to coverage workflow.
    Bronek committed Jan 22, 2024
    Configuration menu
    Copy the full SHA
    fad9d63 View commit details
    Browse the repository at this point in the history
  2. Set version to 2.0.1-rc1

    intelliot committed Jan 22, 2024
    Configuration menu
    Copy the full SHA
    1676e9f View commit details
    Browse the repository at this point in the history

Commits on Jan 24, 2024

  1. Configuration menu
    Copy the full SHA
    d9a5bca View commit details
    Browse the repository at this point in the history

Commits on Jan 25, 2024

  1. chore: retry codecov upload (XRPLF#4896)

    Update to XRPLF#4849, using a workaround for spurious codecov upload errors.
    
    Spurious codecov upload errors are expected in public repos which rely
    on PRs via forks. Retrying uploads is a decent and easy workaround.
    Bronek committed Jan 25, 2024
    Configuration menu
    Copy the full SHA
    901152b View commit details
    Browse the repository at this point in the history

Commits on Jan 29, 2024

  1. Set version to 2.0.1

    intelliot committed Jan 29, 2024
    Configuration menu
    Copy the full SHA
    22cdb57 View commit details
    Browse the repository at this point in the history

Commits on Jan 31, 2024

  1. test: add unit test for redundant payment (XRPLF#4860)

    If the payee and payer are the same account, then the transaction fails
    in preflight with temREDUNDANT.
    Bronek committed Jan 31, 2024
    Configuration menu
    Copy the full SHA
    90d463b View commit details
    Browse the repository at this point in the history

Commits on Feb 1, 2024

  1. test: check for success/failure of Windows CI unit tests (XRPLF#4871)

    * Disable the Windows CI unit tests "allowed to fail" workaround which
      was previously introduced in XRPLF#4596.
    * The runner hardware was upgraded, and the unit tests have been passing
      since then.
    ximinez committed Feb 1, 2024
    Configuration menu
    Copy the full SHA
    f9e3658 View commit details
    Browse the repository at this point in the history

Commits on Feb 2, 2024

  1. fix(libxrpl): change library names in Conan recipe (XRPLF#4831)

    Use consistent platform-agnostic library names on all platforms.
    
    Fix an issue that prevents dependents like validator-keys-tool from
    linking to libxrpl on Windows.
    
    It is bad practice to change the binary base name depending on the
    platform. CMake already manipulates the base name into a final name that
    fits the conventions of the platform. Linkers accept base names on the
    command line and then look for conventional names on disk.
    thejohnfreeman committed Feb 2, 2024
    Configuration menu
    Copy the full SHA
    6f00d32 View commit details
    Browse the repository at this point in the history
  2. fixNFTokenReserve: ensure NFT tx fails when reserve is not met (XRP…

    …LF#4767)
    
    Without this amendment, an NFTokenAcceptOffer transaction can succeed
    even when the NFToken recipient does not have sufficient reserves for
    the new NFTokenPage. This allowed accounts to accept NFT sell offers
    without having a sufficient reserve. (However, there was no issue in
    brokered mode or when a buy offer is involved.)
    
    Instead, the transaction should fail with `tecINSUFFICIENT_RESERVE` as
    appropriate. The `fixNFTokenReserve` amendment adds checks in the
    NFTokenAcceptOffer transactor to check if the OwnerCount changed. If it
    did, then it checks the new reserve requirement.
    
    Fix XRPLF#4679
    shawnxie999 committed Feb 2, 2024
    Configuration menu
    Copy the full SHA
    828bb64 View commit details
    Browse the repository at this point in the history

Commits on Feb 5, 2024

  1. build: add headers needed in Conan package for libxrpl (XRPLF#4885)

    These headers are required in the xrpl Conan package in order for
    xbridge witness server (xbwd) to build. This change to libxrpl may help
    any dependents of libxrpl. This addition does not change any C++ code.
    legleux committed Feb 5, 2024
    Configuration menu
    Copy the full SHA
    1e96a1d View commit details
    Browse the repository at this point in the history

Commits on Feb 7, 2024

  1. feat: allow port_grpc to be specified in [server] stanza (XRPLF#4728

    )
    
    Prior to this commit, `port_grpc` could not be added to the [server]
    stanza. Instead of validating gRPC IP/Port/Protocol information in
    ServerHandler, validate grpc port info in GRPCServer constructor. This
    should not break backwards compatibility.
    
    gRPC-related config info must be in a section (stanza) called
    [port_gprc].
    
    * Close XRPLF#4015 - That was an alternate solution. It was decided that with
      relaxed validation, it is not necessary to rename port_grpc.
    * Fix XRPLF#4557
    ckeshava committed Feb 7, 2024
    Configuration menu
    Copy the full SHA
    6d3c21e View commit details
    Browse the repository at this point in the history
  2. fixInnerObjTemplate: set inner object template (XRPLF#4906)

    Add `STObject` constructor to explicitly set the inner object template.
    This allows certain AMM transactions to apply in the same ledger:
    
    There is no issue if the trading fee is greater than or equal to 0.01%.
    If the trading fee is less than 0.01%, then:
    - After AMM create, AMM transactions must wait for one ledger to close
      (3-5 seconds).
    - After one ledger is validated, all AMM transactions succeed, as
      appropriate, except for AMMVote.
    - The first AMMVote which votes for a 0 trading fee in a ledger will
      succeed. Subsequent AMMVote transactions which vote for a 0 trading
      fee will wait for the next ledger (3-5 seconds). This behavior repeats
      for each ledger.
    
    This has no effect on the ultimate correctness of AMM. This amendment
    will allow the transactions described above to succeed as expected, even
    if the trading fee is 0 and the transactions are applied within one
    ledger (block).
    gregtatcam committed Feb 7, 2024
    Configuration menu
    Copy the full SHA
    be12136 View commit details
    Browse the repository at this point in the history
  3. Set version to 2.1.0-rc1

    intelliot committed Feb 7, 2024
    Configuration menu
    Copy the full SHA
    da68651 View commit details
    Browse the repository at this point in the history

Commits on Feb 16, 2024

  1. test: guarantee proper lifetime for temporary Rules object: (XRPLF#4917)

    * Commit 01c37fe introduced a change to the STTx unit test where a local
      "defaultRules" object was created with a temporary inline "presets"
      value provided to the ctor. Rules::Impl stores a const ref to the
      presets provided to the ctor.  This particular call provided an inline
      temp variable, which goes out of scope as soon as the object is
      created. On Windows, attempting to use the presets (e.g. via the
      enabled() function) causes an access violation, which crashes the test
      run.
    * An audit of the code indicates that all other instances of Rules use
      the Application's config.features list, which will have a sufficient
      lifetime.
    ximinez committed Feb 16, 2024
    Configuration menu
    Copy the full SHA
    e74cb35 View commit details
    Browse the repository at this point in the history

Commits on Feb 21, 2024

  1. Set version to 2.1.0

    seelabs authored and ximinez committed Feb 21, 2024
    Configuration menu
    Copy the full SHA
    d7d15a9 View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2024

  1. Price Oracle (XLS-47d): (XRPLF#4789) (XRPLF#4789)

    Implement native support for Price Oracles.
    
     A Price Oracle is used to bring real-world data, such as market prices,
     onto the blockchain, enabling dApps to access and utilize information
     that resides outside the blockchain.
    
     Add Price Oracle functionality:
     - OracleSet: create or update the Oracle object
     - OracleDelete: delete the Oracle object
    
     To support this functionality add:
     - New RPC method, `get_aggregate_price`, to calculate aggregate price for a token pair of the specified oracles
     - `ltOracle` object
    
     The `ltOracle` object maintains:
     - Oracle Owner's account
     - Oracle's metadata
     - Up to ten token pairs with the scaled price
     - The last update time the token pairs were updated
    
     Add Oracle unit-tests
    gregtatcam committed Feb 26, 2024
    Configuration menu
    Copy the full SHA
    e718378 View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2024

  1. fix compile error on gcc 13: (XRPLF#4932)

    The compilation fails due to an issue in the initializer list
    of an optional argument, which holds a vector of pairs.
    The code compiles correctly on earlier gcc versions, but fails on gcc 13.
    gregtatcam committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    8a2f6be View commit details
    Browse the repository at this point in the history

Commits on Feb 29, 2024

  1. Set version to 2.2.0-b1

    seelabs committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    97863e0 View commit details
    Browse the repository at this point in the history

Commits on Mar 5, 2024

  1. Remove default ctors from SecretKey and PublicKey: (XRPLF#4607)

    * It is now an invariant that all constructed Public Keys are valid,
      non-empty and contain 33 bytes of data.
    * Additionally, the memory footprint of the PublicKey class is reduced.
      The size_ data member is declared as static.
    * Distinguish and identify the PublisherList retrieved from the local
      config file, versus the ones obtained from other validators.
    * Fixes XRPLF#2942
    ckeshava committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    62dae3c View commit details
    Browse the repository at this point in the history
  2. Fast base58 codec: (XRPLF#4327)

    This algorithm is about an order of magnitude faster than the existing
    algorithm (about 10x faster for encoding and about 15x faster for
    decoding - including the double hash for the checksum). The algorithms
    use gcc's int128 (fast MS version will have to wait, in the meantime MS
    falls back to the slow code).
    seelabs committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    cce09b7 View commit details
    Browse the repository at this point in the history
  3. feat: add user version of feature RPC (XRPLF#4781)

    * uses same formatting as admin RPC
    * hides potentially sensitive data
    mvadari committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    22b7518 View commit details
    Browse the repository at this point in the history

Commits on Mar 6, 2024

  1. Configuration menu
    Copy the full SHA
    c28e005 View commit details
    Browse the repository at this point in the history

Commits on Mar 12, 2024

  1. Configuration menu
    Copy the full SHA
    4ce426d View commit details
    Browse the repository at this point in the history
  2. fix: order book update variable swap: (XRPLF#4890)

    This is likely the result of a typo when the code was simplified.
    seelabs committed Mar 12, 2024
    Configuration menu
    Copy the full SHA
    ad8e976 View commit details
    Browse the repository at this point in the history

Commits on Mar 13, 2024

  1. Fix workflows (XRPLF#4948)

    The problem was `CONAN_USERNAME` environment variable, which Conan 1.x uses as the default user in package references.
    thejohnfreeman committed Mar 13, 2024
    Configuration menu
    Copy the full SHA
    5cc3777 View commit details
    Browse the repository at this point in the history
  2. Upgrade to xxhash 0.8.2 as a Conan requirement, enable SIMD hashing (X…

    …RPLF#4893)
    
    We are currently using old version 0.6.2 of `xxhash`, as a verbatim copy and paste of its header file `xxhash.h`. Switch to the more recent version 0.8.2. Since this version is in Conan Center (and properly protects its ABI by keeping the state object incomplete), add it as a Conan requirement. Switch to the SIMD instructions (in the new `XXH3` family) supported by the new version.
    Bronek committed Mar 13, 2024
    Configuration menu
    Copy the full SHA
    2ffead7 View commit details
    Browse the repository at this point in the history
  3. Update remaining actions (XRPLF#4949)

    Downgrade {upload,download}-artifact action to v3 because of unreliability with v4.
    thejohnfreeman committed Mar 13, 2024
    Configuration menu
    Copy the full SHA
    2ecb851 View commit details
    Browse the repository at this point in the history

Commits on Mar 14, 2024

  1. Install more public headers (XRPLF#4940)

    Fixes some mistakes in XRPLF#4885
    legleux committed Mar 14, 2024
    Configuration menu
    Copy the full SHA
    af9cabe View commit details
    Browse the repository at this point in the history

Commits on Mar 19, 2024

  1. test: Env unit test RPC errors return a unique result: (XRPLF#4877)

    * telENV_RPC_FAILED is a new code, reserved exclusively
      for unit tests when RPC fails. This will
      make those types of errors distinct and easier to test
      for when expected and/or diagnose when not.
    * Output RPC command result when result is not expected.
    ximinez committed Mar 19, 2024
    Configuration menu
    Copy the full SHA
    0c32fc5 View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2024

  1. Fix workflows (XRPLF#4951)

    - Update container for Doxygen workflow. Matches Linux workflow, with newer GLIBC version required by newer actions.
    - Fixes macOS workflow to install and configure Conan correctly. Still fails on tests, but that does not seem attributable to the workflow.
    thejohnfreeman committed Mar 20, 2024
    Configuration menu
    Copy the full SHA
    69143d7 View commit details
    Browse the repository at this point in the history

Commits on Mar 21, 2024

  1. perf: improve account_tx SQL query: (XRPLF#4955)

    The witness server makes heavily use of the `account_tx` RPC command. Perf
    testing showed that the SQL query used by `account_tx` became unacceptably slow
    when the DB was large and there was a `marker` parameter. The plan for the query
    showed only indexed reads. This appears to be an issue with the internal SQLite
    optimizer. This patch rewrote the query to use `UNION` instead of `OR` and
    significantly improves performance. See RXI-896 and RIPD-1847 for more details.
    oleks-rip committed Mar 21, 2024
    Configuration menu
    Copy the full SHA
    2e9261c View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2024

  1. fixEmptyDID: fix amendment to handle empty DID edge case: (XRPLF#4950)

    This amendment fixes an edge case where an empty DID object can be
    created. It adds an additional check to ensure that DIDs are
    non-empty when created, and returns a `tecEMPTY_DID` error if the DID
    would be empty.
    mvadari committed Mar 22, 2024
    Configuration menu
    Copy the full SHA
    ea9b1e3 View commit details
    Browse the repository at this point in the history
  2. Enforce no duplicate slots from incoming connections: (XRPLF#4944)

    We do not currently enforce that incoming peer connection does not have
    remote_endpoint which is already used (either by incoming or outgoing
    connection), hence already stored in slots_. If we happen to receive a
    connection from such a duplicate remote_endpoint, it will eventually result in a
    crash (when disconnecting) or weird behavior (when updating slot state), as a
    result of an apparently matching remote_endpoint in slots_ being used by a
    different connection.
    Bronek committed Mar 22, 2024
    Configuration menu
    Copy the full SHA
    64e4687 View commit details
    Browse the repository at this point in the history
  3. Remove zaphod.alloy.ee hub from default server list: (XRPLF#4903)

    Remove the zaphod.alloy.ee hubs from the bootstrap and default configuration after 5 years. It has been an honor to run these servers, but it is now time for another entity to step into this role.
    
    The zaphod servers will be taken offline in a phased manner keeping all those who have peering arrangements informed.
    
    These would be the preferred attributes of a boostrap set of hubs:
    
        1. Commitment to run the hubs for a minimum of 2 years
        2. Highly available
        3. Geographically dispersed
        4. Secure and up to date
        5. Committed to ensure that peering information is kept private
    alloynetworks committed Mar 22, 2024
    Configuration menu
    Copy the full SHA
    47c8cc2 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6edf03c View commit details
    Browse the repository at this point in the history
  5. Don't reach consensus as quickly if no other proposals seen: (XRPLF#4763

    )
    
    This fixes a case where a peer can desync under a certain timing
    circumstance--if it reaches a certain point in consensus before it receives
    proposals. 
    
    This was noticed under high transaction volumes. Namely, when we arrive at the
    point of deciding whether consensus is reached after minimum establish phase
    duration but before having received any proposals. This could be caused by
    finishing the previous round slightly faster and/or having some delay in
    receiving proposals. Existing behavior arrives at consensus immediately after
    the minimum establish duration with no proposals. This causes us to desync
    because we then close a non-validated ledger. The change in this PR causes us to
    wait for a configured threshold before making the decision to arrive at
    consensus with no proposals. This allows validators to catch up and for brief
    delays in receiving proposals to be absorbed. There should be no drawback since,
    with no proposals coming in, we needn't be in a huge rush to jump ahead.
    mtrippled committed Mar 22, 2024
    Configuration menu
    Copy the full SHA
    cea4309 View commit details
    Browse the repository at this point in the history
  6. fixXChainRewardRounding: round reward shares down: (XRPLF#4933)

    When calculating reward shares, the amount should always be rounded
    down. If the `fixUniversalNumber` amendment is not active, this works
    correctly. If it is not active, then the amount is incorrectly rounded
    up. This patch introduces an amendment so it will be rounded down.
    seelabs committed Mar 22, 2024
    Configuration menu
    Copy the full SHA
    61672ad View commit details
    Browse the repository at this point in the history

Commits on Mar 27, 2024

  1. fix: improper handling of large synthetic AMM offers:

    A large synthetic offer was not handled correctly in the payment engine.
    This patch fixes that issue and introduces a new invariant check while
    processing synthetic offers.
    gregtatcam authored and WietseWind committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    a7c4a47 View commit details
    Browse the repository at this point in the history
  2. Set version to 2.1.1

    seelabs authored and WietseWind committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    2d1854f View commit details
    Browse the repository at this point in the history

Commits on Mar 28, 2024

  1. chore: change Github Action triggers for build/test jobs (XRPLF#4956)

    Github Actions for the build/test jobs (nix.yml, mac.yml, windows.yml) will only run on branches that build packages (develop, release, master), and branches with names starting with "ci/". This is intended as a compromise between disabling CI jobs on personal forks entirely, and having the jobs run as a free-for-all. Note that it will not affect PR jobs at all.
    ximinez committed Mar 28, 2024
    Configuration menu
    Copy the full SHA
    4bcbf70 View commit details
    Browse the repository at this point in the history
  2. Merge pull request XRPLF#4968 from XRPLF/master

    Merging changes for 2.1.1 from master into develop
    ximinez committed Mar 28, 2024
    Configuration menu
    Copy the full SHA
    bcbf6c1 View commit details
    Browse the repository at this point in the history

Commits on Apr 4, 2024

  1. chore: Default validator-keys-tool to master branch: (XRPLF#4943)

    * master is the default branch for that project. There's no point in
      using develop.
    ximinez committed Apr 4, 2024
    Configuration menu
    Copy the full SHA
    c187f75 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d992e63 View commit details
    Browse the repository at this point in the history
  3. fix Conan component reference typo

    legleux authored and ximinez committed Apr 4, 2024
    Configuration menu
    Copy the full SHA
    099c0bc View commit details
    Browse the repository at this point in the history
  4. Set version to 2.2.0-b2

    ximinez committed Apr 4, 2024
    Configuration menu
    Copy the full SHA
    c88166e View commit details
    Browse the repository at this point in the history

Commits on Apr 18, 2024

  1. fix amendment to add PreviousTxnID/PreviousTxnLgrSequence (XRPLF#…

    …4751)
    
    This amendment, `fixPreviousTxnID`, adds `PreviousTxnID` and
    `PreviousTxnLgrSequence` as fields to all ledger objects that did
    not already have them included (`DirectoryNode`, `Amendments`,
    `FeeSettings`, `NegativeUNL`, and `AMM`). This makes it much easier
    to go through the history of these ledger objects.
    mvadari committed Apr 18, 2024
    Configuration menu
    Copy the full SHA
    659bd99 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8b0d049 View commit details
    Browse the repository at this point in the history
  3. chore: Improve codecov coverage reporting (XRPLF#4977)

    * Amend `.codecov.yml` to disable coverage reporting of test sources
      and explicitly set most parameters
    * Increase codecov upload retry time to 210s (from 35s)
    * Upgrade gcovr adding support for more coverage formats (lcov, clover, jacoco)
    * Upgrade github actions in coverage workflow
    * Explicitly disable codecov plugins (also removing `gcov` coverage, which is not
      correctly handled by codecov codecov/feedback#334)
    Bronek committed Apr 18, 2024
    Configuration menu
    Copy the full SHA
    aae4383 View commit details
    Browse the repository at this point in the history
  4. test: Add tests to raise coverage of AMM (XRPLF#4971)

    ---------
    
    Co-authored-by: Howard Hinnant <howard.hinnant@gmail.com>
    Co-authored-by: Mark Travis <mtravis@ripple.com>
    Co-authored-by: Bronek Kozicki <brok@incorrekt.com>
    Co-authored-by: Mayukha Vadari <mvadari@gmail.com>
    Co-authored-by: Chenna Keshava <ckeshavabs@gmail.com>
    6 people committed Apr 18, 2024
    Configuration menu
    Copy the full SHA
    24a275b View commit details
    Browse the repository at this point in the history
  5. test: verify the rounding behavior of equal-asset AMM deposits (XRPLF…

    …#4982)
    
    * Specifically, test using tfLPToken flag
    ckeshava committed Apr 18, 2024
    Configuration menu
    Copy the full SHA
    df3aa84 View commit details
    Browse the repository at this point in the history
  6. fix: resolve database deadlock: (XRPLF#4989)

    The `rotateWithLock` function holds a lock while it calls a callback
    function that's passed in by the caller. This is a problematic design
    that needs to be used very carefully. In this case, at least one caller
    passed in a callback that eventually relocks the mutex on the same
    thread, causing UB (a deadlock was observed). The caller was from
    SHAMapStoreImpl, and it called `clearCaches`. This `clearCaches` can
    potentially call `fetchNodeObject`, which tried to relock the mutex.
    
    This patch resolves the issue by changing the mutex type to a
    `recursive_mutex`. Ideally, the code should be rewritten so it doesn't
    hold the mutex during the callback and the mutex should be changed back
    to a regular mutex.
    
    Co-authored-by: Ed Hennis <ed@ripple.com>
    seelabs and ximinez committed Apr 18, 2024
    Configuration menu
    Copy the full SHA
    cd737ad View commit details
    Browse the repository at this point in the history

Commits on Apr 19, 2024

  1. Configuration menu
    Copy the full SHA
    f20e66e View commit details
    Browse the repository at this point in the history
  2. Set version to 2.2.0-b3

    ximinez committed Apr 19, 2024
    Configuration menu
    Copy the full SHA
    676aae2 View commit details
    Browse the repository at this point in the history
  3. Remove unused files

    thejohnfreeman committed Apr 19, 2024
    Configuration menu
    Copy the full SHA
    8037992 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    dd312c3 View commit details
    Browse the repository at this point in the history
  5. Consolidate external libraries

    Pretty Printer authored and thejohnfreeman committed Apr 19, 2024
    Configuration menu
    Copy the full SHA
    e238488 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3fcfb5c View commit details
    Browse the repository at this point in the history
  7. Rename .hpp to .h

    Pretty Printer authored and thejohnfreeman committed Apr 19, 2024
    Configuration menu
    Copy the full SHA
    241b9dd View commit details
    Browse the repository at this point in the history
  8. Format formerly .hpp files

    Pretty Printer authored and thejohnfreeman committed Apr 19, 2024
    Configuration menu
    Copy the full SHA
    760f16f View commit details
    Browse the repository at this point in the history
  9. Rewrite includes

    $ find src/ripple/ src/test/ -type f -exec sed -i 's:include\s*["<]ripple/\(.*\)\.h\(pp\)\?[">]:include <ripple/\1.h>:' {} +
    Pretty Printer authored and thejohnfreeman committed Apr 19, 2024
    Configuration menu
    Copy the full SHA
    0eebe6a View commit details
    Browse the repository at this point in the history
  10. Fix source lists

    thejohnfreeman committed Apr 19, 2024
    Configuration menu
    Copy the full SHA
    35fe957 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    985c80f View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    513842b View commit details
    Browse the repository at this point in the history
  13. Ignore more commits

    thejohnfreeman committed Apr 19, 2024
    Configuration menu
    Copy the full SHA
    b84f7e7 View commit details
    Browse the repository at this point in the history

Commits on Apr 24, 2024

  1. Configuration menu
    Copy the full SHA
    e9859ac View commit details
    Browse the repository at this point in the history

Commits on Apr 25, 2024

  1. Configuration menu
    Copy the full SHA
    b422e71 View commit details
    Browse the repository at this point in the history

Commits on Apr 26, 2024

  1. Add global access to the current ledger rules:

    It can be difficult to make transaction breaking changes to low level
    code because the low level code does not have access to a ledger and the
    current activated amendments in that ledger (the "rules"). This patch
    adds global access to the current ledger rules as a `std::optional`. If
    the optional is not seated, then there is no active transaction.
    seelabs committed Apr 26, 2024
    Configuration menu
    Copy the full SHA
    b65cea1 View commit details
    Browse the repository at this point in the history
  2. fix amendment: AMM swap should honor invariants: (XRPLF#5002)

    The AMM has an invariant for swaps where:
    new_balance_1*new_balance_2 >= old_balance_1*old_balance_2
    
    Due to rounding, this invariant could sometimes be violated (although by
    very small amounts).
    
    This patch introduces an amendment `fixAMMRounding` that changes the
    rounding to always favor the AMM. Doing this should maintain the
    invariant.
    
    Co-authored-by: Bronek Kozicki
    Co-authored-by: thejohnfreeman
    seelabs committed Apr 26, 2024
    Configuration menu
    Copy the full SHA
    3f7ce93 View commit details
    Browse the repository at this point in the history
  3. Set version to 2.2.0-rc1

    ximinez committed Apr 26, 2024
    Configuration menu
    Copy the full SHA
    02ec8b7 View commit details
    Browse the repository at this point in the history

Commits on Apr 29, 2024

  1. Update list of maintainers: (XRPLF#4984)

    I am resigning from my role as maintainer of the `rippled` codebase.
    
    Please update repository permissions accordingly, prior to merging this pull request.
    
    Thanks to everyone who has contributed, especially those whom I had the opportunity to closely collaborate with.
    nbougalis committed Apr 29, 2024
    Configuration menu
    Copy the full SHA
    dccf3f4 View commit details
    Browse the repository at this point in the history

Commits on May 1, 2024

  1. Remove flow assert: (XRPLF#5009)

    Rounding in the payment engine is causing an assert to sometimes fire
    with "dust" amounts. This is causing issues when running debug builds of
    rippled. This issue will be addressed, but the assert is no longer
    serving its purpose.
    seelabs committed May 1, 2024
    Configuration menu
    Copy the full SHA
    5aa1106 View commit details
    Browse the repository at this point in the history

Commits on May 2, 2024

  1. Configuration menu
    Copy the full SHA
    7612805 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f650949 View commit details
    Browse the repository at this point in the history

Commits on May 9, 2024

  1. Price Oracle: validate input parameters and extend test coverage: (XR…

    …PLF#5013)
    
    * Price Oracle: validate input parameters and extend test coverage:
    
    Validate trim, time_threshold, document_id are valid
    Int, UInt, or string convertible to UInt. Validate base_asset
    and quote_asset are valid currency. Update error codes.
    Extend Oracle and GetAggregatePrice unit-tests.
    Denote unreachable coverage code.
    
    * Set one-line LCOV_EXCL_LINE
    
    * Move ledger_entry tests to LedgerRPC_test.cpp
    
    * Add constants for "None"
    
    * Fix LedgerRPC test
    
    ---------
    
    Co-authored-by: Scott Determan <scott.determan@yahoo.com>
    gregtatcam and seelabs committed May 9, 2024
    Configuration menu
    Copy the full SHA
    f4da2e3 View commit details
    Browse the repository at this point in the history

Commits on May 13, 2024

  1. Configuration menu
    Copy the full SHA
    244ac5e View commit details
    Browse the repository at this point in the history

Commits on May 14, 2024

  1. Add the fixAMMOfferRounding amendment: (XRPLF#4983)

    * Fix AMM offer rounding and low quality LOB offer blocking AMM:
    
    A single-path AMM offer with account offer on DEX, is always generated
    starting with the takerPays first, which is rounded up, and then
    the takerGets, which is rounded down. This rounding ensures that the pool's
    product invariant is maintained. However, when one of the offer's side
    is XRP, this rounding can result in the AMM offer having a lower
    quality, potentially causing offer generation to fail if the quality
    is lower than the account's offer quality.
    
    To address this issue, the proposed fix adjusts the offer generation process
    to start with the XRP side first and always rounds it down. This results
    in a smaller offer size, improving the offer's quality. Regardless if the offer
    has XRP or not, the rounding is done so that the offer size is minimized.
    This change still ensures the product invariant, as the other generated
    side is the exact result of the swap-in or swap-out equations.
    
    If a liquidity can be provided by both AMM and LOB offer on offer crossing
    then AMM offer is generated so that it matches LOB offer quality. If LOB
    offer quality is less than limit quality then generated AMM offer quality
    is also less than limit quality and the offer doesn't cross. To address
    this issue, if LOB quality is better than limit quality then use LOB
    quality to generate AMM offer. Otherwise, don't use the quality to generate
    AMM offer. In this case, limitOut() function in StrandFlow limits
    the out amount to match strand's quality to limit quality and consume
    maximum AMM liquidity.
    gregtatcam committed May 14, 2024
    Configuration menu
    Copy the full SHA
    2705109 View commit details
    Browse the repository at this point in the history

Commits on May 16, 2024

  1. Fix adjustAmountsByLPTokens():

    The fix is to return the actual adjusted lp tokens and amounts
    by the function.
    gregtatcam committed May 16, 2024
    Configuration menu
    Copy the full SHA
    2a25f58 View commit details
    Browse the repository at this point in the history
  2. Fix offer crossing via single path AMM with transfer fee:

    Single path AMM offer has to factor in the transfer in rate
    when calculating the upper bound quality and the quality function
    because single path AMM's offer quality is not constant.
    This fix factors in the transfer fee in
    BookStep::adjustQualityWithFees().
    gregtatcam committed May 16, 2024
    Configuration menu
    Copy the full SHA
    7f6a079 View commit details
    Browse the repository at this point in the history
  3. Fix last Liquidity Provider withdrawal:

    Due to the rounding, LPTokenBalance of the last
    Liquidity Provider (LP), might not match this LP's
    trustline balance. This fix sets LPTokenBalance on
    last LP withdrawal to this LP's LPToken trustline
    balance.
    gregtatcam committed May 16, 2024
    Configuration menu
    Copy the full SHA
    15390be View commit details
    Browse the repository at this point in the history
  4. Set version to 2.2.0-rc2

    seelabs committed May 16, 2024
    Configuration menu
    Copy the full SHA
    d5e5c3c View commit details
    Browse the repository at this point in the history

Commits on May 20, 2024

  1. Fix Oracle's token pair deterministic order: (XRPLF#5021)

    Price Oracle data-series logic uses `unordered_map` to update the Oracle object.
    This results in different servers disagreeing on the order of that hash table.
    Consequently, the generated ledgers will have different hashes.
    The fix uses `map` instead to guarantee the order of the token pairs
    in the data-series.
    gregtatcam committed May 20, 2024
    Configuration menu
    Copy the full SHA
    f2d37da View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0c971b4 View commit details
    Browse the repository at this point in the history
  3. Set version to 2.2.0-rc3

    seelabs committed May 20, 2024
    Configuration menu
    Copy the full SHA
    40b4adc View commit details
    Browse the repository at this point in the history

Commits on Jun 4, 2024

  1. Set version to 2.2.0

    seelabs committed Jun 4, 2024
    Configuration menu
    Copy the full SHA
    2df6356 View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2024

  1. Configuration menu
    Copy the full SHA
    e3d1bb2 View commit details
    Browse the repository at this point in the history
  2. Add new command line option to make replaying transactions easier: (X…

    …RPLF#5027)
    
    * Add trap_tx_hash command line option
    
    This new option can be used only if replay is also enabled. It takes a transaction hash from the ledger loaded for replay, and will cause a specific line to be hit in Transactor.cpp, right before the selected transaction is applied.
    Bronek committed Jun 11, 2024
    Configuration menu
    Copy the full SHA
    d576416 View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2024

  1. Fix conan typo: (XRPLF#5044)

    Add missed coma in 'exportes_sources'
    oleks-rip committed Jun 12, 2024
    Configuration menu
    Copy the full SHA
    58f3abe View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2024

  1. Configuration menu
    Copy the full SHA
    263e984 View commit details
    Browse the repository at this point in the history
  2. fixReducedOffersV2: prevent offers from blocking order books: (XRPLF#…

    …5032)
    
    Fixes issue XRPLF#4937.
    
    The fixReducedOffersV1 amendment fixed certain forms of offer
    modification that could lead to blocked order books.  Reduced
    offers can block order books if the effective quality of the
    reduced offer is worse than the quality of the original offer
    (from the perspective of the taker). It turns out that, for
    small values, the quality of the reduced offer can be
    significantly affected by the rounding mode used during
    scaling computations.
    
    Issue XRPLF#4937 identified an additional code path that modified
    offers in a way that could lead to blocked order books.  This
    commit changes the rounding in that newly located code path so
    the quality of the modified offer is never worse than the
    quality of the offer as it was originally placed.
    
    It is possible that additional ways of producing blocking
    offers will come to light.  Therefore there may be a future
    need for a V3 amendment.
    scottschurr committed Jun 13, 2024
    Configuration menu
    Copy the full SHA
    ae7ea33 View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2024

  1. Configuration menu
    Copy the full SHA
    20d0549 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3f5e321 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9f7c619 View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2024

  1. Configuration menu
    Copy the full SHA
    06733ec View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8258640 View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2024

  1. Add the fixEnforceNFTokenTrustline amendment: (XRPLF#4946)

    Fix interactions between NFTokenOffers and trust lines.
    
    Since the NFTokenAcceptOffer does not check the trust line that
    the issuer receives as a transfer fee in the NFTokenAcceptOffer,
    if the issuer deletes the trust line after NFTokenCreateOffer,
    the trust line is created for the issuer by the
    NFTokenAcceptOffer.  That's fixed.
    
    Resolves XRPLF#4925.
    scottschurr committed Jun 18, 2024
    Configuration menu
    Copy the full SHA
    223e6c7 View commit details
    Browse the repository at this point in the history
  2. Change order of checks in amm_info: (XRPLF#4924)

    * Change order of checks in amm_info
    
    * Change amm_info error message in API version 3
    
    * Change amm_info error tests
    Bronek committed Jun 18, 2024
    Configuration menu
    Copy the full SHA
    c706926 View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2024

  1. Prepare to rearrange sources: (XRPLF#4997)

    - Remove CMake module "MultiConfig".
    - Update clang-format configuration, CodeCov configuration,
      levelization script.
    - Replace source lists in CMake with globs.
    thejohnfreeman committed Jun 20, 2024
    Configuration menu
    Copy the full SHA
    ae20a3a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f6879da View commit details
    Browse the repository at this point in the history
  3. Move CMake directory (XRPLF#4997)

    Pretty Printer authored and thejohnfreeman committed Jun 20, 2024
    Configuration menu
    Copy the full SHA
    2e902de View commit details
    Browse the repository at this point in the history
  4. Rearrange sources (XRPLF#4997)

    Pretty Printer authored and thejohnfreeman committed Jun 20, 2024
    Configuration menu
    Copy the full SHA
    e416ee7 View commit details
    Browse the repository at this point in the history
  5. Rewrite includes (XRPLF#4997)

    Pretty Printer authored and thejohnfreeman committed Jun 20, 2024
    Configuration menu
    Copy the full SHA
    1d23148 View commit details
    Browse the repository at this point in the history
  6. Recompute loops (XRPLF#4997)

    Pretty Printer authored and thejohnfreeman committed Jun 20, 2024
    Configuration menu
    Copy the full SHA
    d028005 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    7cf4611 View commit details
    Browse the repository at this point in the history
  8. Set version to 2.3.0-b1

    seelabs committed Jun 20, 2024
    Configuration menu
    Copy the full SHA
    ef02893 View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2024

  1. fixInnerObjTemplate2 amendment (XRPLF#5047)

    * fixInnerObjTemplate2 amendment:
    
    Apply inner object templates to all remaining (non-AMM)
    inner objects.
    
    Adds a unit test for applying the template to sfMajorities.
    Other remaining inner objects showed no problems having
    templates applied.
    
    * Move CMake directory
    
    * Rearrange sources
    
    * Rewrite includes
    
    * Recompute loops
    
    ---------
    
    Co-authored-by: Pretty Printer <cpp@ripple.com>
    scottschurr and Pretty Printer committed Jun 27, 2024
    Configuration menu
    Copy the full SHA
    9fec615 View commit details
    Browse the repository at this point in the history

Commits on Jul 2, 2024

  1. fix "account_nfts" with unassociated marker returning issue (XRPLF#5045)

    * fix "account_nfts" with unassociated marker returning issue
    
    * create unit test for fixing nft page invalid marker not returning error
    
    add more test
    
    change test name
    
    create unit test
    
    * fix "account_nfts" with unassociated marker returning issue
    
    * fix "account_nfts" with unassociated marker returning issue
    
    * fix "account_nfts" with unassociated marker returning issue
    
    * fix "account_nfts" with unassociated marker returning issue
    
    * fix "account_nfts" with unassociated marker returning issue
    
    * fix "account_nfts" with unassociated marker returning issue
    
    * fix "account_nfts" with unassociated marker returning issue
    
    * fix "account_nfts" with unassociated marker returning issue
    
    * [FOLD] accumulated review suggestions
    
    * move BEAST check out of lambda function
    
    ---------
    
    Authored-by: Scott Schurr <scott@ripple.com>
    yinyiqian1 committed Jul 2, 2024
    Configuration menu
    Copy the full SHA
    e1534a3 View commit details
    Browse the repository at this point in the history
  2. Bump codecov plugin version to version 4.5.0 (XRPLF#5055)

    This version includes fix codecov/codecov-action#1471
    which should end the codecov upload errors due to throttling.
    Bronek committed Jul 2, 2024
    Configuration menu
    Copy the full SHA
    7a1b238 View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2024

  1. Merge commit 'c706926' into hooks-merge-physical

    * commit 'c706926': (429 commits)
      Change order of checks in amm_info: (4924)
      Add the fixEnforceNFTokenTrustline amendment: (4946)
      Replaces the usage of boost::string_view with std::string_view (4509)
      docs: explain how to find a clang-format patch generated by CI (4521)
      XLS-52d: NFTokenMintOffer (4845)
      chore: remove repeat words (5041)
      Expose all amendments known by libxrpl (5026)
      fixReducedOffersV2: prevent offers from blocking order books: (5032)
      Additional unit tests for testing deletion of trust lines (4886)
      Fix conan typo: (5044)
      Add new command line option to make replaying transactions easier: (5027)
      Fix compatibility with Conan 2.x: (5001)
      Set version to 2.2.0
      Set version to 2.2.0-rc3
      Add xrpl.libpp as an exported lib in conan (5022)
      Fix Oracle's token pair deterministic order: (5021)
      Set version to 2.2.0-rc2
      Fix last Liquidity Provider withdrawal:
      Fix offer crossing via single path AMM with transfer fee:
      Fix adjustAmountsByLPTokens():
      ...
    ximinez committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    e8c80c9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    960171e View commit details
    Browse the repository at this point in the history
  3. Merge commit 'f6879da' into hooks-merge-physical

    * commit 'f6879da':
      Add bin/physical.sh (4997)
      Prepare to rearrange sources: (4997)
    ximinez committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    4c88f94 View commit details
    Browse the repository at this point in the history
  4. Move CMake directory

    Pretty Printer authored and ximinez committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    bc702ff View commit details
    Browse the repository at this point in the history
  5. Rearrange sources

    Pretty Printer authored and ximinez committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    ea6ff55 View commit details
    Browse the repository at this point in the history
  6. Rewrite includes

    Pretty Printer authored and ximinez committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    c00964a View commit details
    Browse the repository at this point in the history
  7. Recompute loops

    Pretty Printer authored and ximinez committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    ea46afd View commit details
    Browse the repository at this point in the history
  8. Invariant: prevent a deleted account from leaving (most) artifacts on…

    … the ledger. (XRPLF#4663)
    
    * Add feature / amendment "InvariantsV1_1"
    
    * Adds invariant AccountRootsDeletedClean:
    
    * Checks that a deleted account doesn't leave any directly
      accessible artifacts behind.
    * Always tests, but only changes the transaction result if
      featureInvariantsV1_1 is enabled.
    * Unit tests.
    
    * Resolves XRPLF#4638
    
    * [FOLD] Review feedback from @gregtatcam:
    
    * Fix unused variable warning
    * Improve Invariant test const correctness
    
    * [FOLD] Review feedback from @mvadari:
    
    * Centralize the account keylet function list, and some optimization
    
    * [FOLD] Some structured binding doesn't work in clang
    
    * [FOLD] Review feedback 2 from @mvadari:
    
    * Clean up and clarify some comments.
    
    * [FOLD] Change InvariantsV1_1 to unsupported
    
    * Will allow multiple PRs to be merged over time using the same amendment.
    
    * fixup! [FOLD] Change InvariantsV1_1 to unsupported
    
    * [FOLD] Update and clarify some comments. No code changes.
    
    * Move CMake directory
    
    * Rearrange sources
    
    * Rewrite includes
    
    * Recompute loops
    
    * Fix merge issue and formatting
    
    ---------
    
    Co-authored-by: Pretty Printer <cpp@ripple.com>
    ximinez and Pretty Printer committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    a17ccca View commit details
    Browse the repository at this point in the history
  9. Merge remote-tracking branch 'upstream/develop' into hooks-merge-phys…

    …ical
    
    * upstream/develop:
      Bump codecov plugin version to version 4.5.0 (5055)
      fix "account_nfts" with unassociated marker returning issue (5045)
      fixInnerObjTemplate2 amendment (5047)
      Set version to 2.3.0-b1
      Ignore restructuring commits (4997)
      Recompute loops (4997)
      Rewrite includes (4997)
      Rearrange sources (4997)
      Move CMake directory (4997)
    ximinez committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    91cd073 View commit details
    Browse the repository at this point in the history
  10. fix CTID in tx command returns invalidParams on lowercase hex (XRPLF#…

    …5049)
    
    * fix CTID in tx command returns invalidParams on lowercase hex
    
    * test mixed case and change auto to explicit type
    
    * add header cctype because std::tolower is called
    
    * remove unused local variable
    
    * change test case comment from 'lowercase' to 'mixed case'
    
    ---------
    
    Co-authored-by: Zack Brunson <Zshooter@gmail.com>
    yinyiqian1 and zrayn committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    0f32109 View commit details
    Browse the repository at this point in the history
  11. Fix formatting

    ximinez committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    ab412cc View commit details
    Browse the repository at this point in the history
  12. Merge remote-tracking branch 'upstream/develop' into hooks-merge

    * upstream/develop:
      fix CTID in tx command returns invalidParams on lowercase hex (5049)
      Invariant: prevent a deleted account from leaving (most) artifacts on the ledger. (4663)
    ximinez committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    14b97ad View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2024

  1. Configuration menu
    Copy the full SHA
    0bd8645 View commit details
    Browse the repository at this point in the history