You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Changed interface names from Encoder to Coder to signify encoding and
decoding functionality better.
Removed obsolete methods.
Simple (aka allocating) versions of Decode() will now return byte[]'s instead of Span<byte>'s for correct
ownership semantics. It's even possible that some copying may be avoided in certain scenarios.
Base16.TryDecode() doesn't throw on invalid input, but returns false instead.
Base32.Decode() throws separate exceptions for encountered failures.
Added Base58.Bitcoin.EncodeCheck() and Base58.Bitcoin.TryDecodeCheck() methods.
Added Base58.Bitcoin.EncodeCb58() and Base58.Bitcoin.TryDecodeCb58() methods.
Improvements
Added more buffer overflow detection to Base32 coder
Removed all unsafe code. New Span-based optimizations make the code come close to unsafe perf.
Removed slow and hard to read optimizations like bit shift operations for multiplication and division
where compiler almost always does a better job of optimizing.
Fixes
Fixed output buffer was too small error for certain Base58 cases.