forked from mimblewimble/grin
-
Notifications
You must be signed in to change notification settings - Fork 25
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
Feature/rebase to v5.4.x #65
Merged
Merged
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
) * Chunk generation and validation * Rename chunk -> segment * Missed a few * Generate and validate merkle proof * Fix bugs in generation and validation * Add test for unprunable MMR of various sizes * Add missing docs * Remove unused functions * Remove segment error variant on chain error type * Simplify calculation by using a Vec instead of HashMap * Use vectors in segment definition * Compare subtree root during tests * Add test of segments for a prunable mmr * Remove assertion * Only send intermediary hashes for prunable MMRs * Get hash from file directly * Require both leaves if one of them is not pruned * More pruning tests * Add segment (de)serialization * Require sorted vectors in segment deser * Store pos and data separately in segment * Rename log_size -> height * Fix bitmap index in root calculation * Add validation function for output (bitmap) MMRs * Remove left over debug statements * Fix test * Edge case: final segment with uneven number of leaves * Use last_pos instead of segment_last_pos * Simplify pruning in test * Add leaf and hash iterators * Support fully pruned segments * Drop backend before deleting dir in pruned_segment test * Simplify output of first_unpruned_parent
* default capabilities cleanup * fix tests for unused pibd capabilities
with consistent rewind (mimblewimble#3482) * add segmenter for generating segments from txhashset with consistent rewind * rework segmenter to take a txhashset wrapped in rwlock rework our rewindable pmmr so we can convert to readonly easily * placeholder code for rewinding readonly txhashset extension to build a rangeproof segment * segment creation for outputs/rangeproofs/kernels/bitmaps * placeholder segment impl * commit * rework segmenter to use a cached bitmap (rewind is expensive) * cache segmenter instance based on current archive header * integrate the real segment and segment identifier with our segmenter * exercise the segmenter code on chain init * wrap accumulator in an arc, no need to clone each time
to hash file (mimblewimble#3497) * use extend_from_slice when appending multiple hashes to hash file * bump
* Define PIBD segment p2p messages * Respond to segment requests * Use specialized (de)ser for output bitmap segments * Allowed segment height ranges in const
See explanation: https://github.com/mimblewimble/grin-rfcs/blob/master/text/0017-fix-fees.md * add FeeFields type * use FeeFields with ::zero and try_into().unwrap() * fixed tests * avoid 0 accept_base_fee * add aggregate_fee_fields method for transaction * implement std::fmt::Display trait for FeeFields * make base_fee argument non-optional in libtx::mod::tx_fee * add global and thread local accept_fee_base; use to simplify tests * set unusually high fee base for a change * revert to optional base fee argument; default coming from either grin-{server,wallet}.toml * remove optional base fee argument; can be set with global::set_local_accept_fee_base instead * define constant global::DEFAULT_ACCEPT_FEE_BASE and set global value * add Transaction::accept_fee() method and use * Manual (de)ser impl on FeeFields * fix comment bug * Serialize FeeFields as int in tx * allow feefields: u32:into() for tests * try adding height args everywhere * make FeeFields shift/fee methods height dependent * prior to hf4 feefield testing * rename selected fee_fields back to fee for serialization compatibility * fix test_fee_fields test, merge conflict, and doctest use of obsolete fee_fields * make accept_fee height dependent * Accept any u64 in FeeFields deser
Update: Bumped to 5.0.0
…imble#3512) * rework migrate_db_v2_v3 * db flag to track block migration
…imblewimble#3521) but use inbound peer for header and body sync if necessary sync state from inbound peer if no outbound peers to sync from
* sync traversal performance improvements * rework how body_sync determines block hashes to request
…ewimble#3560) treat peers as abusive based on incoming msgs, not outgoing msg rates
…t in failure to get peers lock (mimblewimble#3566) (mimblewimble#3570) * fix for: inefficient locking of peers lists can result in failure to get peers lock * dont hold the peers Vec lock while writing to the peers lmdb
* split prune file rewrite into two steps only one needs a mut ref to self * write both tmp files then replace
…ase (mimblewimble#3750) * remove non-mainnet check for PIBD requests * remove surplus flag * use matches! macro * fix match logic * correct match logic
* remove non-mainnet check for PIBD requests * add first version of get blocks function * .\api\src\foreign.rs * add a max value to get_blocks, documentation
…from db when checking progress (mimblewimble#3756)
mimblewimble#3757) * revert earlier pibd_aborted flag in sync logic * formatting
* remove two unneeded mut's * ensure correct size for leading_zeros()
…mimblewimble#3774) * fix: handle invalid mmr root to prevent sync thread panic * test: fix roots check
…data or mismatched roots (mimblewimble#3775) * process restart * remove trace statements * remove further debug statement * remove further debug statement
…ewimble#3765) MWC Update: just added add Github Actions, let's keep Azure for now, there are pipelines that handle mobile builds, we better to keep them for now
…imblewimble#3787) * Add secp context for all calls
…_outputs` (mimblewimble#3792) (mimblewimble#3793) MWC - Merkle Proof is not removed, it is optional requested data, let's not break API
…will be easier to validate the changes
…node into feature/rebase_to_v5.4.x
…node into feature/rebase_to_v5.4.x
… new bitmap sessions. Add more bitmap root control for income messages
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.
name: Rebase to grin node v 5.3.2
Apply relevant changes from grin node starting from the rebase. Changes that required hardfork was postponed until MWC hardfork will happens (it is not planned for now).
Feature Parallel Initial Block Download (PIDB) was adopted for MWC because grin's implenetation required consensus change that MWC tries eliminate. Instead PIDB sync required handshake where all party agreed on the required hash for data exchange.