diff --git a/lib/address.js b/lib/address.js index b017bc7..a11342b 100644 --- a/lib/address.js +++ b/lib/address.js @@ -162,8 +162,9 @@ Address._transformObject = function(data) { Address._classifyFromVersion = function(buffer) { var version = {}; - var pubkeyhashNetwork = Networks.get(buffer[0], 'pubkeyhash'); - var scripthashNetwork = Networks.get(buffer[0], 'scripthash'); + var prefix = buffer[0]*256 + buffer[1]; + var pubkeyhashNetwork = Networks.get(prefix, 'pubkeyhash'); + var scripthashNetwork = Networks.get(prefix, 'scripthash'); if (pubkeyhashNetwork) { version.network = pubkeyhashNetwork; @@ -191,8 +192,8 @@ Address._transformBuffer = function(buffer, network, type) { if (!(buffer instanceof Buffer) && !(buffer instanceof Uint8Array)) { throw new TypeError('Address supplied is not a buffer.'); } - if (buffer.length !== 1 + 20) { - throw new TypeError('Address buffers must be exactly 21 bytes.'); + if (buffer.length !== 2 + 20) { + throw new TypeError('Address buffers must be exactly 22 bytes.'); } network = Networks.get(network); @@ -206,7 +207,7 @@ Address._transformBuffer = function(buffer, network, type) { throw new TypeError('Address has mismatched type.'); } - info.hashBuffer = buffer.slice(1); + info.hashBuffer = buffer.slice(2); info.network = bufferVersion.network; info.type = bufferVersion.type; return info; diff --git a/lib/networks.js b/lib/networks.js index 1831e61..ba455bb 100644 --- a/lib/networks.js +++ b/lib/networks.js @@ -133,9 +133,9 @@ function removeNetwork(network) { addNetwork({ name: 'livenet', alias: 'mainnet', - pubkeyhash: 0x00, + pubkeyhash: 0x1cb8, privatekey: 0x80, - scripthash: 0x05, + scripthash: 0x1cbd, xpubkey: 0x0488b21e, xprivkey: 0x0488ade4, zaddr: 0x169a, @@ -161,13 +161,13 @@ var livenet = get('livenet'); addNetwork({ name: 'testnet', alias: 'regtest', - pubkeyhash: 0x6f, + pubkeyhash: 0x1d25, privatekey: 0xef, - scripthash: 0xc4, + scripthash: 0x1cba, xpubkey: 0x043587cf, xprivkey: 0x04358394, - zaddr: 0x1451, - zkey: 0xb1eb, + zaddr: 0x16b6, + zkey: 0xac08, }); /** @@ -180,9 +180,9 @@ var testnet = get('testnet'); var TESTNET = { PORT: 18233, - NETWORK_MAGIC: BufferUtil.integerAsBuffer(0xa5f1e726), + NETWORK_MAGIC: BufferUtil.integerAsBuffer(0x0c9ed7a2), DNS_SEEDS: [ - 'dns.testnet.z.cash', + 'dnsseed.testnet.z.cash', ] };