Amber nodes are monitored by CommitWatch. Gray nodes are sampled from authenticated GitHub public commit search and may not represent complete contribution history.
This commit is a routine code cleanup in the rust-bitcoin library. It rewrites how optional amounts and fee rates are converted for JSON/serialization output to use more idiomatic Rust chaining (`.map(...).serialize(s)`) instead of explici…
This commit is a straightforward code cleanup in the rust-bitcoin library. It replaces deeply nested match blocks with newer, cleaner Rust syntax (let-else statements) inside safe arithmetic helper functions. The actual behavior of the cod…
This commit only adds a new unit test. It does not change any production code, so it cannot by itself introduce or fix a security vulnerability. The test verifies that an invalid 'sendcmpct' network message (with a mode byte other than 0 o…
Test-only change: no production code modifiedTopic: P2P message parsing strictness for sendcmpct mode byteNo patch to decoder/validation logic visible in diff
This commit is a straightforward code cleanup in the Rust Bitcoin library. It replaces a few verbose 'match' statements with shorter, more idiomatic Option helper methods. There is no functional change and no security relevance.
This commit is a pure code-style refactor. It rewrites how error values are built so each wrapping step is on its own line instead of being nested inside a single expression. The actual error values produced and the program's behavior are …
This commit is a straightforward internal code cleanup. It removes duplicated error-handling code in three decoder 'end' methods and rewrites the logic using pattern matching and early returns. There is no change to what errors are produce…
This is a small code cleanup that removes an unnecessary duplicate check when validating Bitcoin output scripts during Lightning channel funding. The old code first asked 'is this a witness program?' and then separately asked 'what is its …
No security-relevant behavior change in the diffChange is a defensive-input validation cleanup, not a fixNo new attack surface introduced
This is a small internal code cleanup in the rust-bitcoin library. It changes how transaction input (TxIn) objects are prepared for serialization so they use a dedicated wrapper type (TxInEncoder) instead of a generic three-field encoder. …
Commit message uses language ('fails to properly encapsulate') that can sound security-adjacent, but describes a design/encapsulation issue rather than a concrete vulnerabilityNo change to serialized wire format, field order, or public API visible in the diffNo references to CVEs, advisories, security reports, or researcher attribution in commit or supplied materials
This is a small internal code cleanup in the rust-bitcoin library. It changes how transaction output (TxOut) objects are prepared for serialization so they use a dedicated wrapper type (TxOutEncoder) instead of directly combining two lower…
Refactor to use dedicated encoder newtype (TxOutEncoder) for TxOut consensus encodingCommit message uses security-adjacent language ('properly encapsulate inner state', 'encoding behavior')No diff evidence of memory safety bug, consensus mismatch, or injection point
This commit only updates generated API snapshot files that list what types and functions are publicly exposed by the library. The actual code did not change; only the recorded API signatures were updated to reflect new type aliases (shorte…
This is a small internal code cleanup in the rust-bitcoin library. It changes how Bitcoin block objects are encoded to use a dedicated BlockEncoder wrapper instead of a generic two-part encoder. The actual bytes produced are unchanged; onl…
This is a routine performance and code-quality improvement. It replaces heap-allocated 'boxed' futures with stack-pinned futures in a background processor loop, removing one memory allocation per loop iteration. There is no security vulner…
This commit removes a small, custom one-byte buffering helper that was only needed to make older versions of a dependency (rust-bitcoin) happy. After the dependency changed its requirements, the wrapper became unnecessary. There is no secu…
This is a small cleanup change that removes an unnecessary BufReader wrapper when deserializing Bitcoin consensus objects. The underlying rust-bitcoin library now accepts a simpler 'Read' trait directly, so the code was updated to match. T…
This commit removes a duplicate import of the `Hasher` trait in a Rust source file. It is a code cleanup change with no functional or security effect. The `Hasher` symbol was already imported elsewhere in the same scope, so the duplicate i…
This commit fixes a bug in how the library counts 'signature operations' (sigops) in Bitcoin scripts. A small cache that remembers recently pushed numbers was not being cleared after signature-checking opcodes. This could cause a later mul…
Consensus-critical code path modified (transaction/script sigop counting)Mismatch with Bitcoin Core consensus logic explicitly cited in commit messageStale-cache bug could produce incorrect sigop counts
This commit is a pure code-style refactor. It rewrites the same multisignature-pattern check using a newer Rust syntax (let-else) that flattens nested if-let blocks. The author explicitly states there are no behavioral changes, and the dif…
This commit fixes a bug in how the library decides whether a Bitcoin script is a classic 'multisig' script. Before the fix, the final opcode that states how many public keys are required could be something other than a normal number-pushin…
Script pattern validation bypassMultisig classification bugNon-canonical opcode accepted as valid push number
This is a pure code cleanup that rewrites an awkward nested match statement into a newer, more idiomatic Rust construct called let-else. It does not change what the program does, what data it accepts, or how it responds to errors. There is…
This commit only updates a configuration file used by an automated mutation-testing tool. It tells the tool not to waste time trying to mutate a very simple default method called `is_empty` on an encoder type. There is no change to actual …