var assert = require('assert'); var Address = require('..').Address; test('string', function() { var addr = '18fN1QTGWmHWCA9r2dyDH6FbMEyc7XHmQQ'; assert.equal((new Address(addr)).toString(), addr); }); test('valid', function() { function validate(addr, type) { assert.ok(Address.validate(addr, type)); }; validate('1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa'); validate('1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa', 'prod'); validate('mzBc4XEFSdzCDcTxAgf6EZXgsZWpztRhef'); validate('mzBc4XEFSdzCDcTxAgf6EZXgsZWpztRhef', 'testnet'); validate('12KYrjTdVGjFMtaxERSk3gphreJ5US8aUP'); validate('12QeMLzSrB8XH8FvEzPMVoRxVAzTr5XM2y'); validate('1oNLrsHnBcR6dpaBpwz3LSwutbUNkNSjs'); validate('1SQHtwR5oJRKLfiWQ2APsAd9miUc4k2ez'); validate('116CGDLddrZhMrTwhCVJXtXQpxygTT1kHd'); // p2sh addresses validate('3NJZLcZEEYBpxYEUGewU4knsQRn1WM5Fkt'); validate('3NJZLcZEEYBpxYEUGewU4knsQRn1WM5Fkt', 'prod'); validate('2MxKEf2su6FGAUfCEAHreGFQvEYrfYNHvL7'); validate('2MxKEf2su6FGAUfCEAHreGFQvEYrfYNHvL7', 'testnet'); }); test('invalid', function() { function invalid(addr, type) { assert.ok(!Address.validate(addr, type)); }; invalid(''); invalid('mzBc4XEFSdzCDcTxAgf6EZXgsZWpztRhe'); invalid('1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa', 'testnet'); invalid('mzBc4XEFSdzCDcTxAgf6EZXgsZWpztRhef', 'prod'); // invalid base58 string invalid('%%@'); });