Commits on Oct 4, 2019

  1. Update Serde annotations in pool crate (#3081)

    * update serde annotations in pool crate
    
    * rustfmt
    yeastplume committed Oct 4, 2019
  2. More robust peer banning (#3086)

    More robust peer banning
    quentinlesceller committed Oct 4, 2019

Commits on Oct 7, 2019

  1. chore: pre-commit hook - format all staged files, re-add then commit (#…

    …3078)
    
    * chore: pre-commit hook - format all staged files, re-add then commit
    
    * chore: pre-commit hook - formatted files logged green colour
    Joseph Goulden authored and antiochp committed Oct 7, 2019

Commits on Oct 8, 2019

  1. Implement security-process RFC (#3009)

    * Implement security-process RFC
    
    * Update canary, disclosure contacts
    
    * Fix typo
    
    * Use grin-security links instead
    j01tz authored and lehnberg committed Oct 8, 2019

Commits on Oct 10, 2019

Commits on Oct 16, 2019

  1. [DOC] Update japanese translation (#3020)

    * Fix typo
    
    * Fix markdown
    
    * Update translation
    
    * "MimbleWimble" -> "Mimblewimble"
    hirogasa authored and quentinlesceller committed Oct 16, 2019

Commits on Oct 17, 2019

Commits on Oct 21, 2019

  1. Remove usage of try! macro, use ? instead (#3097)

    We converted the major part of the code a while ago, but some occurences were left. It's a compiler warning on nightly already.
    hashmap authored and quentinlesceller committed Oct 21, 2019

Commits on Oct 27, 2019

  1. Verify headers and blocks only when needed (#3023)

    * Verify headers and blocks only when needed
    
    Curretnly we have some lightweigt validation implemented as part of
    entity deserialization, which is safer and allows us to not parse the
    entire object if some part is invalid. At the same time this logic
    always applies when we read an entity, eg when reading from DB.
    
    This PR introduces UntrustedHeader/Block which is used when we read from
    the network. It does partial validation during read, then it is supposed
    to be converted into regular header/block which doesn't validate itself.
    
    Also this PR adds "lightweight" validation to block header read like we have
    for block body, so we don't parse block body if the header is invalid.
    
    Fixes #1642
    
    * Move version validation to untrusted header
    
    * update fuzz tests
    hashmap committed Oct 27, 2019

Commits on Oct 28, 2019

  1. fix: add shutting down dialog to TUI (#3101)

    * fix: add shutting down dialog to the TUI
    Joseph Goulden authored and hashmap committed Oct 28, 2019

Commits on Oct 29, 2019

  1. read header_head and sync_head from the header and sync MMR respectiv…

    …ely (#3045)
    
    no need to maintain header_head and sync_head in the db explicitly
    antiochp committed Oct 29, 2019

Commits on Oct 31, 2019

  1. fix a spelling mistake (#3106)

    web3shannon authored and hashmap committed Oct 31, 2019

Commits on Nov 1, 2019

  1. Refactor transaction building combinators (#3057)

    * tx combinators now take operate on Result to allow for more robust errors handling
    replace with_fee() and with_lock_height() with a more flexible with_features()
    
    * pass kernel features in as arg to build::transaction()
    
    * fix chain tests
    
    * fix pool tests
    
    * do not pass kernel around in the combinators
    just set it once on the tx when building
    
    * build::partial_transaction now takes a existing tx to build on
    antiochp committed Nov 1, 2019

Commits on Nov 4, 2019

  1. Retrieve outputs within a block height range (#3103)

    * add function to retrieve a set of pmmr indices between a given block height range
    
    * typo
    
    * change APU to just return required indices
    
    * change pmmr index retrieval, change new function to only return pmmr indices between blocks
    yeastplume committed Nov 4, 2019

Commits on Nov 13, 2019

  1. feat: TUI logs view (#3064)

    * fix: add logs page to TUI
    
    * chore: print panic traces to TUI logs
    
    * chore: stop and start tui nicely and a bit of refactoring
    
    * chore: rustfmt
    
    * chore: typo
    
    * chore: use sync_channel for logs
    
    * chore: don't try to unwrap err on try_send log message
    
    * chore: fix compiler/lint warnings
    
    * fix: Only create logs channel if TUI is enabled and resovle other small review comments
    
    * fix: wrap logs in TUI to fix window size
    
    * fix: debug and trace logs appear white in the TUI logs
    JosephGoulden authored and quentinlesceller committed Nov 13, 2019
  2. Remove error serialization/deserialization (#3110)

    it's not used
    hashmap committed Nov 13, 2019
  3. Increase IO_TIMEOUT to allow nodes on high-latency connections to sync (

    #3109)
    
    Commit d3dbafa "Use blocking IO in P2P to reduce CPU load" (merged
    into v2.1.0) introduced the constant IO_TIMEOUT, setting it to 1 second.
    
    On nodes with high-latency connections, this short timeout causes the
    txhashset archive download during step 2 of the IBD process to
    invariably fail before it completes.  Since there's no mechanism for
    resuming a failed download, this means the node gets stuck at this stage
    and never syncs.
    
    Increasing IO_TIMEOUT to 10 seconds solves the issue on my node; others
    might suggest a more optimal value for the constant.
    mmgen authored and hashmap committed Nov 13, 2019

Commits on Nov 14, 2019

  1. Make imports in core crate more Rust 2018 idiomatic (#3112)

    We use crate renaming to remove grin prefix, as  result imports for util and keychain crates start with crate::
    which looks like a part of the current crate. This PR fixes it.
    Also some small improvements were made.
    If this approach works I'll replicate it to other crates.
    hashmap authored and quentinlesceller committed Nov 14, 2019
  2. [doc]Chinese Translation: grin4bitcoiners_ZH-CN.md (#3116)

    * Create grin4bitcoiners_ZH-CN
    
    * Rename grin4bitcoiners_ZH-CN to grin4bitcoiners_ZH-CN.md
    Funkyswing authored and quentinlesceller committed Nov 14, 2019
  3. add tx pool kernel counts to tui status page (#3111)

    * add tx pool kernel counts to tui status page
    
    * fix formatting on tui
    antiochp committed Nov 14, 2019

Commits on Nov 15, 2019

  1. fix: for TUI status try to acquire read lock on pmmr_header but if no… (

    #3119)
    
    fix: for TUI status try to acquire read lock on pmmr_header but if not available just leave the header stats alone
    JosephGoulden authored and hashmap committed Nov 15, 2019

Commits on Nov 17, 2019

  1. fix: split state validation status into kernel and rproof updates. (#…

    …3096)
    
    * fix: split state validation status into kernel and rproof updates. And fix sync status for these two states
    
    * fix: show correct number of leaves for pruned MMR as well as unpruned
    
    * docs: better docs for kernel/range proof validation
    
    * fix: ordering of kernel and rproofs validation in TUI
    
    * fix: typo in rangeproofs api and comments
    JosephGoulden authored and hashmap committed Nov 17, 2019

Commits on Nov 18, 2019

  1. fix: #3117 For backwards compatibility only capitalise first letter o… (

    #3124)
    
    * fix: #3117 For backwards compatibility only capitalise first letter of log level in config file
    
    * fix: For forwards compatibility old config needs Warning log level changed to standard log::Level WARN
    
    * refactor: renamed some variables
    JosephGoulden authored and antiochp committed Nov 18, 2019

Commits on Nov 19, 2019

  1. Replace MimbleWimble by Mimblewimble (#3118)

    * Replace MimbleWimble by Mimblewimble
    
    * MimbleWimble->Mimblewimble
    quentinlesceller authored and antiochp committed Nov 19, 2019

Commits on Nov 22, 2019

  1. use try_read_for() with timeout for tui status updates (header and po…

    …ol stats) (#3129)
    
    * use try_read_for with timeout for tui status updates (header and pool stats)
    
    * rework based on feedback
    antiochp committed Nov 22, 2019

Commits on Nov 26, 2019

  1. Chinese translation (#3098)

    * add: simplified Chinese translation
    AurevoirXavier authored and quentinlesceller committed Nov 26, 2019
  2. Fixing misleading privacy claim (#3127)

    * Correcting an old, misleading claim
    
    * Merge conflict
    
    * Changing "confidential transactions" to "hidden amounts"
    DavidBurkett authored and antiochp committed Nov 26, 2019
  3. Enable faster sync (#3108)

    * add bitmap accumulator
    refactor vec backend so we can use it outside of tests
    introduce a "hash only" vec backend for the accumulator
    
    * get core tests passing
    
    * initial test coverage for bitmap_accumulator
    
    * better test coverage for bitmap accumulator and cleanup code
    
    * refactor txhashset roots, call validate() on roots during block validation
    
    * fix store tests
    
    * log the "merged" root when validating roots
    
    * cleanup, revise based on feedback
    
    * cleanup
    
    * rework it to pass explicit size into bitmap accumulator when applying
    antiochp committed Nov 26, 2019

Commits on Nov 27, 2019

  1. Hardfork2 (#3136)

    * add 2nd HF and cuckaroom
    
    * add cuckaroom and hardfork tests
    
    * remove all traces of later phaseouts
    
    * refactor header_version from valid_header_version
    tromp authored and antiochp committed Nov 27, 2019

Commits on Nov 29, 2019

  1. Captute "type" byte for unknow message type (#3146)

    Found it useful for debugging
    hashmap committed Nov 29, 2019
  2. Revert "Remove error serialization/deserialization (#3110)" (#3151)

    This reverts commit 76ac941.
    hashmap authored and yeastplume committed Nov 29, 2019

Commits on Nov 30, 2019

  1. our TCP listener is nonblocking so we *must* set the accepted stream …

    …to blocking explicitly... (#3154)
    antiochp authored and hashmap committed Nov 30, 2019

Commits on Dec 2, 2019

  1. Set longer timeout for msg body read/write operations (#3145)

    * Set longer timeout for msg body read operations
    
    * Introduce a channel timeout
    hashmap authored and antiochp committed Dec 2, 2019
  2. cleanup HeaderVersion::default() (#3149)

    * header version now explicit, no "default" version
    "empty" block can safely have verion 0 as it needs to be set later
    
    * default block header uses version 1
    
    * HeaderVersion(1)
    antiochp committed Dec 2, 2019

Commits on Dec 5, 2019

  1. height (header version) specific output PMMR root rules (#3147)

    * height (header version) specific output PMMR root rules
    
    * cleanup
    
    * cleanup based on PR feedback
    
    * address feedback
    antiochp committed Dec 5, 2019