Skip to content

Releases: wyhaines/base58.cr

Bug fix and code cleanup

04 Jun 03:12
Compare
Choose a tag to compare

This is a minor release that fixes a couple bugs that were found while working through the code doing style and format cleanups.

SS58 encode/decode arbitrary length data

15 Mar 00:01
Compare
Choose a tag to compare

Substrate's SS58 address format doc prescribes checksum lengths only for payloads of 1, 2, 4, 8, or 32 bytes. For any other payload, the behavior is undefined. For lack of any other clear guidance beyond the abundance of 2 byte checksums in the actual live use of SS58, this library is implementing a default checksum of 2 bytes for otherwise undefined payload lengths. This change adds a Base58::SS58.encode and a Base58::SS58.decode method for dealing with arbitrary data, of arbitrary sizes.

Support for Polkadot/Substrate SS58 and Substrate Addresses

09 Feb 16:08
Compare
Choose a tag to compare

This release incrementally improves the documentation, and adds support for handling the Polkadot/Substrate SS58 checksum algorithm, and also specifically for handling the way that Substrate addresses are encoded and decoded.

Better Benchmark Suite

30 Jan 03:39
Compare
Choose a tag to compare

There are no core changes to this release; it just improves the benchmark suite a little.

Initial release

29 Jan 07:09
Compare
Choose a tag to compare

I am cutting an initial release of this shard. It has fairly complete specs, and should generally work for everything.

The encoder method structure might need a little internal simplification, but externally, the main API is unlikely to change.

I have tried to test the various code paths pretty exhaustively, but may have missed things. If anything fails that seems like it shouldn't have, raise an issue.

One encoding target that is missing is IO. It'd be really useful to be able to encode to an IO directly (and decode from an IO directly).

Look for that in a version bump soon.