/* global describe, it */ var assert = require('assert'); var base58 = require('../').base58; var convert = require('../').convert; describe('base58', function() { describe('decode', function() { it('validates known examples', function() { var enc = '5HueCGU8rMjxEXxiPuD5BDku4MkFqeZyd4dZ1jvhTVqvbTLvyTJ'; var hex = '800c28fca386c7a227600b2fe50b7cae11ec86d3bf1fbe471be89827e19d72aa1d507a5b8d'; assert.deepEqual(base58.decode(enc), convert.hexToBytes(hex)); }) }) describe('encode', function() { it('handles known examples', function() { var enc = '5HueCGU8rMjxEXxiPuD5BDku4MkFqeZyd4dZ1jvhTVqvbTLvyTJ'; var hex = '800c28fca386c7a227600b2fe50b7cae11ec86d3bf1fbe471be89827e19d72aa1d507a5b8d'; assert.equal(base58.encode(convert.hexToBytes(hex)), enc); }) }) describe('checkEncode', function() { it('handles known examples', function() { var input = [ 171, 210, 178, 125, 2, 16, 86, 184, 248, 88, 235, 163, 244, 160, 83, 156, 184, 186, 45, 167, 169, 164, 67, 125, 163, 89, 106, 243, 207, 193, 149, 206 ] var vbyte = 239 assert.equal(base58.checkEncode(input, vbyte), '92tb9mjz6q9eKZjYvLsgk87kPrMoh7BGRumSzPeUGhmigtsfrbP'); }) }) describe('checkDecode', function() { it('handles known examples', function() { var input = '1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa' var expected = [ 98, 233, 7, 177, 92, 191, 39, 213, 66, 83, 153, 235, 246, 240, 251, 80, 235, 184, 143, 24 ]; expected.version = 0 assert.deepEqual(base58.checkDecode(input), expected); }) }) })