* feat: add lcov compatible coverage reporting to clarity-cli
* make lcov output configurable
* chore: cleanup/refactor miner tenure information gathering
* chore: updates for latest bitcoind
* typo
* fix: ensure microblocks mined by the node itself are emitted to the event observer
* feat: emit microblock header hash to event observer, required for micro-fork detection
* feat: include microblock parent hash in /new_microblocks event paylaod
* test: added test to ensure microblock hashes were properly added to the mb event
* fix: #2668 microblock data missing from event emitter while syncing
* Added prev burn block stats to the new_block event
* Added burn block stats for new_microblock event; refactored variable names for burn block stats for the new_block event
* Switched using to using for all the burn block stats, handled getting burn block stats in the case that the parent_consensus_hash was the
* Add some string-ascii and string-utf8 types to the docs
* ran format
* Changed panic! to warn! statement
* feat: add output_serialized to clarity-cli
* added some additional examples
* added all the different examples
* added concat example
* feat: make eval_all function public (#2689)
* running format
* Addressed comments.
* Addressed failing tests
* Use a virtual type 'sequence' to condense complicated disjoined types
Instead of having long lists of disjoined types, e.g.,
buff|(list A)|string-ascii|string-utf8
We now condense these to being a 'virtual' type called 'sequence',
which doesn't actually exist in the Clarity type hierarchy,
but is used in the docs, and which is explained in each description
in which it is used.
* Ran 'cargo fmt'
* Fixed some signatures
Some signatures were inconsistent with the input/output types.
* Fixed one more signature
This changes a signature that antedates this PR to be
more consistent.
* Re-worked the types and signatures
Various changes to the focus functions were made for clarity and consistency.
* fix: #2644 reorder UTXO staleness and RBF-limit check
* Addressing comments by @pavitthrap
* Fixes build warnings for 'cargo build' in 'develop' branch
* Added new-microblocks event to event dispatcher docs
* chore: remove tini dependency
* Fixed a vm:docs test case
* Fixed some typos
* removed some files that aren't in 'develop'
* Trying to rever CHANGELOG.md
* Reverting files to the 'develop' branch versions
* fix: logic bug in mocknet/helium miner #2710
* Removed a TODO, the question it relates to is now in issue #2712
* Removed a trailing space character.
* chore: try to speed up some integration tests
* chore: remove infinite loop in microblock_integration test
* test: use wait_for_microblocks rather than a wait_ms
* dont assert microblocks bumped -- it could have been bumped before the call to wait_for_microblocks
* test: wait for microblock to be processed before fetching /v2/info, use loop on wait_for_microblocks
* test: oops, flip equality in /v2/info loop
* docs: adding release process to README.md
* docs: add info on creating release candidate, and Hiro testing envs
* chore: genesis accounts key rotation
* chore: update magic bytes (X6 to T2)
* chore: update POX constants
* chore: update genesis anchoring (block #2000000)
* chore: update testnet command
* fix: address regressions
* chore: cargo fmt
* chore: update readme
* fix: addressing regression in integration test
* fix: silence non-fmt panic warnings
* fix: remove potentiall runtime panic that can arise when a sortition is queried while it is in the process of being invalidated
* fix: disable non-fmt panic warnings
* fix: disable non-fmt panic warnings
* refactor: use PeerNetwork::with_http() to expose the underlying HttpPeer
* fix: when loading block headers, if we encounter an InvalidPoxSortition error from the GetBlocksInv handler, reply a NACK instead of erroring out
* feat: query the list of bootstrap nodes distinct from always-allowed nodes
* fix: address #2730 by considering whether or not we are in the IBD phase when choosing where to start scanning for new block downloads. Also, use the PeerNetwork::with_http() interface to access the inner HTTP peer when downloading blocks and microblocks.
* fix: address #2728 by only rescanning a neighbor's inventory from just before the reward cycle it reported that the local peer diverged. Also, record this sortition height for the block downloader's consumption.
* fix: address #2719 by introducing a Transient(..) error type which indicates that a network error can be resolved by simply re-trying the poll loop.
* refactor: make the HTTP peer an Optional<..> so the PeerNetwork instance can be passed to the HTTP handler code. Also, do a better job at propagating hints from the inventory state-machine to the downloader as part of #2730.
* refactor: use new test API for adding peers
* fix: take a PeerNetwork as an argument for handling requests, and address #2738 by way of using cached data in the PeerNetwork to construct a /v2/info response without doing any I/O
* refactor: take a PeerNetwork instance as an argument instead of a hodge-podge of fields from it, so it can be passed into the HTTP request handler
* fix: address #2701 by catching Transient(..) errors and simply logging them
* fix: address #2713 by starting processing from the first burnchain block of the reward cycle in which the canonical Stacks chain state starts
* refactor: use latest rust-ism for spin loops
* fix: fix compiler errors in unit tests
* fix: more compile-time errors
* docs: address PR feedback
* fix: update the cached burnchain view *before* servicing HTTP requests, so /v2/info acts on the *current* chain view
* Update README.md
Co-authored-by: Ludo Galabru <ludovic@blockstack.com>
* Update README.md
Co-authored-by: Ludo Galabru <ludovic@blockstack.com>
* Update README.md
Co-authored-by: Ludo Galabru <ludovic@blockstack.com>
* docs: add optionality on when to open develop->master PR
* fix: sync one more blocks inventory on PoX disagreement so we don't stall, and use the cached burnchain_tip in PeerNetwork to determine whether or not the PoX bitvector needs to be reloaded. In addition, use the _new_ PoX bitvector length to carry out an inv trucation if it's shorter
* fix: refresh cached sortition state before doing anything else in the peer network run loop
* fix: mask net_error::Transient in the p2p state machine so we don't accidentally drop receipts
* fix: always panic on network error, now that the network masks transient errors
* fix: re-enable non_fmt_panic lint
* style: make bufflength instance variable private
* fix: only set the block/microblock start sortition if the downloader isn't in the middle of processing blocks
* fix: when starting a block inventory scan from a remote bootstrap peer that's diverged from us, start at either the reward cycle that contains the highest processed Stacks block, or INV_REWARD_CYCLES fewer reward cycles than the diverged reward cycle -- whichever is lower
* fix: when starting a downloader pass, start from the sortition height of either the highest processed Stacks block, or the inventory sortition height hint from the inv state machine -- whichever is lower
* chore: address feedbacks
* fix: use constant
* chore: fix all warns in `cargo check --tests --workspace`
* chore: simplify fmt/asserts
* Add Changelog for 2.0.11.2.0 (#2760)
* changelog for 2.0.11.2.0
* fixed spelling error
* fixed grammar error in changelog
* fix: issue 2771
* fix: tests::neon_integrations::bitcoind_forking_test
* fix: move log
* fix: move comment
* feat(docs): Add to "Non-Consensus Breaking Release Process" (#2766)
* changelog for 2.0.11.2.0
* start to discuss the version number
* changelog section
* fixed the wording around conensus breaking change
* updates to the changelog section
* added to release timing.
* added to timing section
* fix: test + patch
* chore: cargo fmt
* fix: edge case
* fix: restore timeout
* chore: add comments
* fix: revert patch
* chore: cargo fmt
* Update testnet/stacks-node/src/tests/neon_integrations.rs
* Update testnet/stacks-node/src/tests/neon_integrations.rs
* Update testnet/stacks-node/src/tests/neon_integrations.rs
* fix: bitcoind_forking_test assertions added
* fix: bitcoind_forking_test assertions added
* Update src/burnchains/burnchain.rs
* fix: only consider target block if relevant
* chore: cargo fmt
* chore: add log when ignoring target
* Update src/burnchains/burnchain.rs
* Update src/burnchains/burnchain.rs
* fix: log
* fix: switched all occurrences of max_value/min_value to MAX/MIN because it will deprecated in a future version of Rust
* feat(Changelog) Add some PR's that got missed for 2.0.11.2.0 (#2789)
* added micro-blocks PR to the changelog
* add PR 2647
* removed a space
* added some notes about the reset of the testnet
* "master -> develop" ahead of Release 2.0.11.2.0 (#2796)
* fix: typos in Clarity docs
* docs: rupdate testnet information and run lint
* docs: add regtest name and address reviewer comments
Co-authored-by: Patrick Gray <pgray@hiro.so>
Co-authored-by: pavitthrap <paviusa23@gmail.com>
* feat(Changelog): Adds in two patches to the Changelog (#2795)
* Add Ludo's bug fixes to the change log.
* removed extra space
Co-authored-by: Aaron Blankstein <aaron@blockstack.com>
Co-authored-by: Matthew Little <zone117x@gmail.com>
Co-authored-by: Pavitthra Pandurangan <paviusa23@gmail.com>
Co-authored-by: Greg Coppola <greg@hiro.so>
Co-authored-by: Hank Stoever <hstove@gmail.com>
Co-authored-by: Reed Rosenbluth <331327+reedrosenbluth@users.noreply.github.com>
Co-authored-by: Jude Nelson <judecn@gmail.com>
Co-authored-by: CharlieC3 <2747302+CharlieC3@users.noreply.github.com>
Co-authored-by: Ludo Galabru <ludovic@blockstack.com>
Co-authored-by: Patrick Gray <pgray@hiro.so>