-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proposed 2.0.0-b1 #4705
Merged
Merged
Proposed 2.0.0-b1 #4705
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* 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.
Clarify usage of ssl_cert vs ssl_chain
- 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 #4550
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.
(File was already removed from the source)
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.
* 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.
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 #4543.
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 <[email protected]>
LGTM |
manojsdoshi
approved these changes
Sep 14, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
* 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.
intelliot
force-pushed
the
develop-next
branch
from
September 14, 2023 20:21
4624c29
to
5427321
Compare
Please ignore the accidental close. I just rebased this commit in order to include a couple more PRs:
|
notes:
|
intelliot
requested review from
legleux,
thejohnfreeman,
ximinez and
HowardHinnant
September 15, 2023 00:51
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
intelliot
force-pushed
the
develop-next
branch
from
September 15, 2023 04:12
4854508
to
6615e01
Compare
Rebased to add #4708. This is expected to build on Windows now. |
intelliot
force-pushed
the
develop-next
branch
from
September 15, 2023 15:06
6615e01
to
237b406
Compare
This was likely put back when #4292 was rebased.
intelliot
force-pushed
the
develop-next
branch
from
September 15, 2023 15:55
9e8960e
to
046d0c2
Compare
This is now ready for re-review at 046d0c2. |
ximinez
approved these changes
Sep 15, 2023
HowardHinnant
approved these changes
Sep 15, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
High Level Overview of Change
This is a beta for the next release. This PR's diff shows all of the changes since the last release (1.12.0).
Highlights:
The base branch is
release
because all releases (including betas) go inrelease
.Context of Change
When finalized, the next stable release of
rippled
is expected to be the last release for 2023 (given the holidays in Nov/Dec). The major version is bumped because:api_version
2 general availabilityComparison: 1.12.0...develop-next
Note that the replacement for getting and setting thread name (#4312) was reverted, so it is not in this release.
Type of Change