Releases: wyhaines/base58.cr
Bug fix and code cleanup
SS58 encode/decode arbitrary length data
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
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
There are no core changes to this release; it just improves the benchmark suite a little.
Initial release
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.