Skip to content

VarInt breaking change in 0.32.9 #6138

Description

@bigspider

In 91a6e64, VarInt was changed so that it only represents numbers up to 0x0200_0000, instead of any u64. This broke the ledger_bitcoin_client crate with bitcoin-0.32.9, because the type was used outside of bitcoin protocol meaning as a general-purpose encoding for u64.

I can easily fix it on the crate (luckily, it's only used internally, and not part of its public API), but I thought it's worth bringing it up, as I suspect that this is likely to affect many crates. Searching 'bitcoin variable-length integers' brings results like this or this and many others, and I've seen over the years tens of implementations of 'bitcoin variable length integers' that work for 64-bits.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions