6 "github.com/pkg/errors"
7 data "github.com/tendermint/go-wire/data"
11 BTCEncoder data.ByteEncoder = base58Encoder{BTCAlphabet}
12 FlickrEncoder = base58Encoder{FlickrAlphabet}
15 // base58Encoder implements ByteEncoder encoding the slice as
16 // base58 url-safe encoding
17 type base58Encoder struct {
21 func (e base58Encoder) _assertByteEncoder() data.ByteEncoder {
25 func (e base58Encoder) Unmarshal(dst *[]byte, src []byte) (err error) {
27 err = json.Unmarshal(src, &s)
29 return errors.Wrap(err, "parse string")
31 *dst, err = DecodeAlphabet(s, e.alphabet)
35 func (e base58Encoder) Marshal(bytes []byte) ([]byte, error) {
36 s := EncodeAlphabet(bytes, e.alphabet)
37 return json.Marshal(s)