Skip to content

Commit

Permalink
Change network version bytes and names, update deps, bump version 0.1.3
Browse files Browse the repository at this point in the history
  • Loading branch information
flowencygit committed Dec 18, 2018
1 parent 558710c commit a423a19
Show file tree
Hide file tree
Showing 7 changed files with 42 additions and 42 deletions.
8 changes: 4 additions & 4 deletions lib/address.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,16 +28,16 @@ var $ = owsCommon.util.preconditions;
* @example
* ```javascript
* // validate that an input field is valid
* var error = Address.getValidationError(input, 'TESTNET');
* var error = Address.getValidationError(input, 'LTCTEST');
* if (!error) {
* var address = Address(input, 'TESTNET');
* var address = Address(input, 'LTCTEST');
* } else {
* // invalid network or checksum (typo?)
* var message = error.messsage;
* }
*
* // get an address from a public key
* var address = Address(publicKey, 'TESTNET').toString();
* var address = Address(publicKey, 'LTCTEST').toString();
* ```
*
* @param {*} data - The encoded data in various formats
Expand Down Expand Up @@ -431,7 +431,7 @@ Address.fromObject = function fromObject(obj) {
* @example
* ```javascript
* // a network mismatch error
* var error = Address.getValidationError('15vkcKf7gB23wLAnZLmbVuMiiVDc1Nm4a2', 'TESTNET');
* var error = Address.getValidationError('15vkcKf7gB23wLAnZLmbVuMiiVDc1Nm4a2', 'LTCTEST');
* ```
*
* @param {string} data - The encoded data
Expand Down
26 changes: 13 additions & 13 deletions lib/networks.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ var networks = [{
scripthash: 0x32
},
version: {
xpubkey: 0x019da462,
xprivkey: 0x019d9cfe,
xpubkey: 0x019da462, // 'Ltpv'; see SLIP132
xprivkey: 0x019d9cfe // 'Ltub'; see SLIP132
},
networkMagic: 0xfbc0b6db,
port: 9333,
Expand All @@ -38,7 +38,7 @@ var networks = [{
]
}, {
name: 'Testnet',
code: 'TESTNET',
code: 'LTCTEST',
coin: Bip44['TESTNET'] ^ 0x80000000,
protocol: 'testnet',
alias: 'testnet',
Expand All @@ -49,8 +49,8 @@ var networks = [{
scripthash: 0x3a
},
version: {
xpubkey: 0x043587cf,
xprivkey: 0x04358394
xpubkey: 0x0436f6e1, // 'ttub'; see SLIP132
xprivkey: 0x0436ef7d // 'ttpv'; see SLIP132
},
networkMagic: 0x0b110907,
port: 18333,
Expand All @@ -64,7 +64,7 @@ var networks = [{
]
}, {
name: 'Regtest',
code: 'REGTEST',
code: 'LTCREG',
coin: Bip44['TESTNET'] ^ 0x80000000,
protocol: 'regtest',
alias: 'testnet',
Expand All @@ -75,8 +75,8 @@ var networks = [{
scripthash: 0x3a
},
version: {
xpubkey: 0x043587cf,
xprivkey: 0x04358394
xpubkey: 0x0436f6e1, // 'ttub'; see SLIP132
xprivkey: 0x0436ef7d // 'ttpv'; see SLIP132
},
networkMagic: 0xdab5bffa,
port: 18444,
Expand Down Expand Up @@ -120,14 +120,14 @@ LtcNetworks.get = function(arg, keys) {

case 'testnet':
if (regtestEnabled) {
network = Networks.get('REGTEST', keys, preference);
network = Networks.get('LTCREG', keys, preference);
} else {
network = Networks.get('TESTNET', keys, preference);
network = Networks.get('LTCTEST', keys, preference);
}
break;

case 'regtest':
network = Networks.get('REGTEST', keys, preference);
network = Networks.get('LTCREG', keys, preference);
break;
}
}
Expand Down Expand Up @@ -199,7 +199,7 @@ module.exports = {
defaultNetwork: LtcNetworks.get('LTC'),
livenet: LtcNetworks.get('LTC'),
mainnet: LtcNetworks.get('LTC'),
testnet: LtcNetworks.get('TESTNET'),
regtest: LtcNetworks.get('REGTEST'),
testnet: LtcNetworks.get('LTCTEST'),
regtest: LtcNetworks.get('LTCREG'),
coin: coin
};
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@owstack/ltc-lib",
"version": "0.1.2",
"version": "0.1.3",
"description": "A Javascript library to build litecoin and blockchain-based applications.",
"main": "index.js",
"scripts": {
Expand Down Expand Up @@ -35,8 +35,8 @@
},
"dependencies": {
"@owstack/ows-common": "^0.0.11",
"@owstack/key-lib": "^0.0.21",
"@owstack/network-lib": "^0.0.10",
"@owstack/key-lib": "^0.0.22",
"@owstack/network-lib": "^0.0.11",
"buffer-compare": "=1.0.0",
"inherits": "=2.0.1",
"scryptsy": "=2.0.0"
Expand Down
22 changes: 11 additions & 11 deletions test/address.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ describe('Address', function() {
var type = addressTypes[d[0].slice(0, 1)];
var network = 'LTC';
if (d[2].chain.includes('test')) {
network = 'TESTNET';
network = 'LTCTEST';
}
return new Address(d[0], network, type);
});
Expand Down Expand Up @@ -122,7 +122,7 @@ describe('Address', function() {
describe('validation', function() {

it('getValidationError detects network mismatchs 2', function() {
var error = Address.getValidationError('MDPj1iqqCy23rLccUFvgC8HZq41fB8EH4y', 'TESTNET');
var error = Address.getValidationError('MDPj1iqqCy23rLccUFvgC8HZq41fB8EH4y', 'LTCTEST');
should.exist(error);
});

Expand All @@ -132,7 +132,7 @@ describe('Address', function() {
});

it('isValid returns false on network mismatch 2', function() {
var valid = Address.isValid('MDPj1iqqCy23rLccUFvgC8HZq41fB8EH4y', 'TESTNET');
var valid = Address.isValid('MDPj1iqqCy23rLccUFvgC8HZq41fB8EH4y', 'LTCTEST');
valid.should.equal(false);
});

Expand All @@ -152,14 +152,14 @@ describe('Address', function() {

it('validates correctly the P2SH testnet test vector', function() {
for (var i = 0; i < P2SHTestnet.length; i++) {
var error = Address.getValidationError(P2SHTestnet[i], 'TESTNET');
var error = Address.getValidationError(P2SHTestnet[i], 'LTCTEST');
should.not.exist(error);
}
});

it('rejects correctly the P2PKH livenet test vector with "testnet" parameter', function() {
for (var i = 0; i < PKHLivenet.length; i++) {
var error = Address.getValidationError(PKHLivenet[i], 'TESTNET');
var error = Address.getValidationError(PKHLivenet[i], 'LTCTEST');
should.exist(error);
}
});
Expand All @@ -182,7 +182,7 @@ describe('Address', function() {
it('should not validate on a network mismatch', function() {
var error, i;
for (i = 0; i < PKHLivenet.length; i++) {
error = Address.getValidationError(PKHLivenet[i], 'TESTNET', 'pubkeyhash');
error = Address.getValidationError(PKHLivenet[i], 'LTCTEST', 'pubkeyhash');
should.exist(error);
error.message.should.equal('Address has mismatched network type.');
}
Expand Down Expand Up @@ -211,7 +211,7 @@ describe('Address', function() {

it('testnet addresses are validated correctly', function() {
for (var i = 0; i < PKHTestnet.length; i++) {
var error = Address.getValidationError(PKHTestnet[i], 'TESTNET');
var error = Address.getValidationError(PKHTestnet[i], 'LTCTEST');
should.not.exist(error);
}
});
Expand Down Expand Up @@ -312,7 +312,7 @@ describe('Address', function() {
var a = Address.fromPublicKeyHash(hash, 'LTC');
a.network.should.equal(Networks.livenet);
a.toString().should.equal(str);
var b = Address.fromPublicKeyHash(hash, 'TESTNET');
var b = Address.fromPublicKeyHash(hash, 'LTCTEST');
b.network.should.equal(Networks.testnet);
b.type.should.equal('pubkeyhash');
new Address(hash, 'LTC').toString().should.equal(str);
Expand Down Expand Up @@ -432,7 +432,7 @@ describe('Address', function() {
});

it('should derive from this known address string testnet', function() {
var a = new Address(PKHTestnet[0], 'TESTNET');
var a = new Address(PKHTestnet[0], 'LTCTEST');
var b = new Address(a.toString());
b.toString().should.equal(PKHTestnet[0]);
b.network.should.equal(Networks.testnet);
Expand All @@ -445,7 +445,7 @@ describe('Address', function() {
});

it('should derive from this known address string testnet scripthash', function() {
var address = new Address(P2SHTestnet[0], 'TESTNET', 'scripthash');
var address = new Address(P2SHTestnet[0], 'LTCTEST', 'scripthash');
address = new Address(address.toString());
address.toString().should.equal(P2SHTestnet[0]);
});
Expand Down Expand Up @@ -574,7 +574,7 @@ describe('Address', function() {

it('fails if invalid array is provided', function() {
expect(function() {
return Address.createMultisig([], 3, 'TESTNET');
return Address.createMultisig([], 3, 'LTCTEST');
}).to.throw('Number of required signatures must be less than or equal to the number of public keys');
});
});
Expand Down
14 changes: 7 additions & 7 deletions test/networks.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ describe('Networks', function() {
network.should.equal(Networks.livenet);
network.should.equal(Networks.mainnet);
network.should.equal(Networks.defaultNetwork);
var network = Networks.get('REGTEST');
var network = Networks.get('LTCREG');
network.should.equal(Networks.regtest);
var network = Networks.get('TESTNET');
var network = Networks.get('LTCTEST');
network.should.equal(Networks.testnet);
});

Expand All @@ -44,24 +44,24 @@ describe('Networks', function() {
constants.forEach(function(key) {
it('should have constant ' + key + ' for all networks', function() {
lodash.has(Networks.get('LTC'), key).should.equal(true);
lodash.has(Networks.get('REGTEST'), key).should.equal(true);
lodash.has(Networks.get('TESTNET'), key).should.equal(true);
lodash.has(Networks.get('LTCREG'), key).should.equal(true);
lodash.has(Networks.get('LTCTEST'), key).should.equal(true);
});
});

it('tests only for the specified key', function() {
expect(Networks.get(0x30, 'prefix.pubkeyhash')).to.equal(Networks.get('LTC'));
// Testnet and Regtest have the same pubkeyhash value.
expect(Networks.get(0x6f, 'prefix.pubkeyhash').alias).to.equal(Networks.get('TESTNET').alias);
expect(Networks.get(0x6f, 'prefix.pubkeyhash').alias).to.equal(Networks.get('LTCTEST').alias);
expect(Networks.get(0x6f, 'prefix.pubkeyhash').alias).to.equal(Networks.testnet.alias);
expect(Networks.get(0xa0, 'prefix.privatekey')).to.equal(undefined);
});

it('can test for multiple keys', function() {
expect(Networks.get(0x32, ['prefix.pubkeyhash', 'prefix.scripthash'])).to.equal(Networks.get('LTC'));
// Testnet and Regtest have the same pubkeyhash value.
expect(Networks.get(0x6f, ['prefix.pubkeyhash', 'prefix.scripthash']).alias).to.equal(Networks.get('TESTNET').alias);
expect(Networks.get(0x3a, ['prefix.pubkeyhash', 'prefix.scripthash']).alias).to.equal(Networks.get('TESTNET').alias);
expect(Networks.get(0x6f, ['prefix.pubkeyhash', 'prefix.scripthash']).alias).to.equal(Networks.get('LTCTEST').alias);
expect(Networks.get(0x3a, ['prefix.pubkeyhash', 'prefix.scripthash']).alias).to.equal(Networks.get('LTCTEST').alias);
expect(Networks.get(0xa0, ['prefix.privatekey', 'port'])).to.equal(undefined);
});

Expand Down
4 changes: 2 additions & 2 deletions test/transaction/input/multisigscripthash.js
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ describe('MultiSigScriptHashInput', function() {
roundtrip.toObject().should.deep.equal(input.toObject());
});
it('will get the scriptCode for nested witness', function() {
var address = Address.createMultisig([public1, public2, public3], 2, 'TESTNET', true);
var address = Address.createMultisig([public1, public2, public3], 2, 'LTCTEST', true);
var utxo = {
address: address.toString(),
txId: '66e64ef8a3b384164b78453fa8c8194de9a473ba14f89485a0e433699daec140',
Expand All @@ -130,7 +130,7 @@ describe('MultiSigScriptHashInput', function() {
scriptCode.toString('hex').should.equal('695221025c95ec627038e85b5688a9b3d84d28c5ebe66e8c8d697d498e20fe96e3b1ab1d2102cdddfc974d41a62f1f80081deee70592feb7d6e6cf6739d6592edbe7946720e72103c95924e02c240b5545089c69c6432447412b58be43fd671918bd184a5009834353ae');
});
it('will get the litoshis buffer for nested witness', function() {
var address = Address.createMultisig([public1, public2, public3], 2, 'TESTNET', true);
var address = Address.createMultisig([public1, public2, public3], 2, 'LTCTEST', true);
var utxo = {
address: address.toString(),
txId: '66e64ef8a3b384164b78453fa8c8194de9a473ba14f89485a0e433699daec140',
Expand Down
4 changes: 2 additions & 2 deletions test/transaction/transaction.js
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ describe('Transaction', function() {
p2shPublicKey1,
p2shPublicKey2,
p2shPublicKey3
], 2, 'TESTNET');
], 2, 'LTCTEST');
var p2shUtxoWith1LTC = {
address: p2shAddress.toString(),
txId: 'a477af6b2667c29670467e4e0728b685ee07b240235771862318e29ddbe58458',
Expand Down Expand Up @@ -1641,7 +1641,7 @@ describe('Transaction', function() {
var publicKey3 = p2shPrivateKey3.toPublicKey();
var address = Address.createMultisig([
publicKey1
], 1, 'TESTNET', true);
], 1, 'LTCTEST', true);
var utxo = {
address: address.toString(),
txId: '1d732950d99f821b8a8d11972ea56000b0666e4d31fa71861ffd80a83797dc61',
Expand Down

0 comments on commit a423a19

Please sign in to comment.