diff --git a/.gitignore b/.gitignore index adcb09ced..b789598fc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ node_modules -bitcoinjs-min.js +digibytejs-min.js coverage diff --git a/package.json b/package.json index 723720761..8b1c29e34 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,10 @@ { - "name": "bitcoinjs-lib", + "name": "digibytejs-lib", "version": "1.4.4", - "description": "Client-side Bitcoin JavaScript library", + "description": "Client-side Digibyte JavaScript library", "main": "./src/index.js", "keywords": [ - "bitcoin", + "digibyte", "browser", "client", "library" @@ -29,10 +29,15 @@ "name": "Stefan Thomas", "email": "justmoon@members.fsf.org", "url": "http://www.justmoon.net" - } + }, + { + "name": "Esotericizm", + "email": "esotericizm@cryptoservices.net", + "url": "http://www.cryptoservices.net" + } ], "scripts": { - "compile": "browserify ./src/index.js -s bitcoin | uglifyjs > bitcoinjs-min.js", + "compile": "browserify ./src/index.js -s digibyte | uglifyjs > digibytejs-min.js", "coverage": "istanbul cover _mocha -- test/*.js", "coveralls": "npm run-script coverage && coveralls < coverage/lcov.info", "integration": "mocha --reporter list test/integration/*.js", @@ -42,7 +47,7 @@ }, "repository": { "type": "git", - "url": "https://github.com/bitcoinjs/bitcoinjs-lib.git" + "url": "https://github.com/DigiByte-Team/digibytejs-lib.git" }, "dependencies": { "bigi": "^1.4.0", diff --git a/src/address.js b/src/address.js index be2b239c9..c81843f4b 100644 --- a/src/address.js +++ b/src/address.js @@ -33,7 +33,7 @@ Address.fromBase58Check = function(string) { } Address.fromOutputScript = function(script, network) { - network = network || networks.bitcoin + network = network || networks.digibyte if (scripts.isPubKeyHashOutput(script)) return new Address(script.chunks[2], network.pubKeyHash) if (scripts.isScriptHashOutput(script)) return new Address(script.chunks[1], network.scriptHash) diff --git a/src/eckey.js b/src/eckey.js index 74ba93c76..53e96c66b 100644 --- a/src/eckey.js +++ b/src/eckey.js @@ -61,7 +61,7 @@ ECKey.makeRandom = function(compressed, rng) { // Export functions ECKey.prototype.toWIF = function(network) { - network = network || networks.bitcoin + network = network || networks.digibyte var bufferLen = this.pub.compressed ? 34 : 33 var buffer = new Buffer(bufferLen) diff --git a/src/ecpubkey.js b/src/ecpubkey.js index 860e415a6..5bde59b36 100644 --- a/src/ecpubkey.js +++ b/src/ecpubkey.js @@ -33,7 +33,7 @@ ECPubKey.fromHex = function(hex) { // Operations ECPubKey.prototype.getAddress = function(network) { - network = network || networks.bitcoin + network = network || networks.digibyte return new Address(crypto.hash160(this.toBuffer()), network.pubKeyHash) } diff --git a/src/hdnode.js b/src/hdnode.js index e81dc4ecb..7d437c181 100644 --- a/src/hdnode.js +++ b/src/hdnode.js @@ -27,7 +27,7 @@ function findBIP32NetworkByVersion(version) { } function HDNode(K, chainCode, network) { - network = network || networks.bitcoin + network = network || networks.digibyte typeForce('Buffer', chainCode) diff --git a/src/message.js b/src/message.js index 6305a691c..9a59cbd15 100644 --- a/src/message.js +++ b/src/message.js @@ -20,7 +20,7 @@ function magicHash(message, network) { } function sign(privKey, message, network) { - network = network || networks.bitcoin + network = network || networks.digibyte var hash = magicHash(message, network) var signature = privKey.sign(hash) @@ -36,7 +36,7 @@ function verify(address, signature, message, network) { signature = new Buffer(signature, 'base64') } - network = network || networks.bitcoin + network = network || networks.digibyte var hash = magicHash(message, network) var parsed = ECSignature.parseCompact(signature) diff --git a/src/networks.js b/src/networks.js index db5aab6ee..c01d9d440 100644 --- a/src/networks.js +++ b/src/networks.js @@ -2,129 +2,19 @@ // Dogecoin BIP32 is a proposed standard: https://bitcointalk.org/index.php?topic=409731 var networks = { - bitcoin: { - magicPrefix: '\x18Bitcoin Signed Message:\n', + digibyte: { + magicPrefix: '\x18Digibyte Signed Message:\n', bip32: { public: 0x0488b21e, private: 0x0488ade4 }, - pubKeyHash: 0x00, - scriptHash: 0x05, - wif: 0x80, - dustThreshold: 546, // https://github.com/bitcoin/bitcoin/blob/v0.9.2/src/core.h#L151-L162 - feePerKb: 10000, // https://github.com/bitcoin/bitcoin/blob/v0.9.2/src/main.cpp#L53 - estimateFee: estimateFee('bitcoin') - }, - testnet: { - magicPrefix: '\x18Bitcoin Signed Message:\n', - bip32: { - public: 0x043587cf, - private: 0x04358394 - }, - pubKeyHash: 0x6f, - scriptHash: 0xc4, - wif: 0xef, - dustThreshold: 546, - feePerKb: 10000, - estimateFee: estimateFee('testnet') - }, - litecoin: { - magicPrefix: '\x19Litecoin Signed Message:\n', - bip32: { - public: 0x019da462, - private: 0x019d9cfe - }, - pubKeyHash: 0x30, - scriptHash: 0x05, - wif: 0xb0, - dustThreshold: 0, // https://github.com/litecoin-project/litecoin/blob/v0.8.7.2/src/main.cpp#L360-L365 - dustSoftThreshold: 100000, // https://github.com/litecoin-project/litecoin/blob/v0.8.7.2/src/main.h#L53 - feePerKb: 100000, // https://github.com/litecoin-project/litecoin/blob/v0.8.7.2/src/main.cpp#L56 - estimateFee: estimateFee('litecoin') - }, - dogecoin: { - magicPrefix: '\x19Dogecoin Signed Message:\n', - bip32: { - public: 0x02facafd, - private: 0x02fac398 - }, pubKeyHash: 0x1e, - scriptHash: 0x16, - wif: 0x9e, - dustThreshold: 0, // https://github.com/dogecoin/dogecoin/blob/v1.7.1/src/core.h#L155-L160 - dustSoftThreshold: 100000000, // https://github.com/dogecoin/dogecoin/blob/v1.7.1/src/main.h#L62 - feePerKb: 100000000, // https://github.com/dogecoin/dogecoin/blob/v1.7.1/src/main.cpp#L58 - estimateFee: estimateFee('dogecoin') - }, - viacoin: { - magicPrefix: '\x18Viacoin Signed Message:\n', - bip32: { - public: 0x0488b21e, - private: 0x0488ade4 - }, - pubKeyHash: 0x47, - scriptHash: 0x21, - wif: 0xc7, - dustThreshold: 560, - dustSoftThreshold: 100000, - feePerKb: 100000, // - estimateFee: estimateFee('viacoin') - }, - viacointestnet: { - magicPrefix: '\x18Viacoin Signed Message:\n', - bip32: { - public: 0x043587cf, - private: 0x04358394 - }, - pubKeyHash: 0x7f, - scriptHash: 0xc4, - wif: 0xff, - dustThreshold: 560, - dustSoftThreshold: 100000, - feePerKb: 100000, - estimateFee: estimateFee('viacointestnet') - }, - gamerscoin: { - magicPrefix: '\x19Gamerscoin Signed Message:\n', - bip32: { - public: 0x019da462, - private: 0x019d9cfe - }, - pubKeyHash: 0x26, - scriptHash: 0x05, - wif: 0xA6, - dustThreshold: 0, // https://github.com/gamers-coin/gamers-coinv3/blob/master/src/main.cpp#L358-L363 - dustSoftThreshold: 100000, // https://github.com/gamers-coin/gamers-coinv3/blob/master/src/main.cpp#L51 - feePerKb: 100000, // https://github.com/gamers-coin/gamers-coinv3/blob/master/src/main.cpp#L54 - estimateFee: estimateFee('gamerscoin') - }, - jumbucks: { - magicPrefix: '\x19Jumbucks Signed Message:\n', - bip32: { - public: 0x037a689a, - private: 0x037a6460 - }, - pubKeyHash: 0x2b, scriptHash: 0x05, - wif: 0xab, - dustThreshold: 0, - dustSoftThreshold: 10000, - feePerKb: 10000, - estimateFee: estimateFee('jumbucks') - }, - zetacoin: { - magicPrefix: '\x18Zetacoin Signed Message:\n', - bip32: { - public: 0x0488b21e, - private: 0x0488ade4 - }, - pubKeyHash: 0x50, - scriptHash: 0x09, - wif: 0xe0, - dustThreshold: 546, // https://github.com/zetacoin/zetacoin/blob/master/src/core.h#L159 - feePerKb: 10000, // https://github.com/zetacoin/zetacoin/blob/master/src/main.cpp#L54 - estimateFee: estimateFee('zetacoin') - } + wif: 0x80, + dustThreshold: 546, // + feePerKb: 10000, // + estimateFee: estimateFee('digibyte') + } } function estimateFee(type) { diff --git a/src/wallet.js b/src/wallet.js index 3e3ab7799..e2fa78cc7 100644 --- a/src/wallet.js +++ b/src/wallet.js @@ -13,7 +13,7 @@ function Wallet(seed, network) { console.warn('Wallet is deprecated and will be removed in 2.0.0, see #296') seed = seed || crypto.randomBytes(32) - network = network || networks.bitcoin + network = network || networks.digibyte // Stored in a closure to make accidental serialization less likely var masterKey = HDNode.fromSeedBuffer(seed, network) diff --git a/test/bitcoin.core.js b/test/bitcoin.core.js index 4b716d9cb..d1ac00d9b 100644 --- a/test/bitcoin.core.js +++ b/test/bitcoin.core.js @@ -49,7 +49,7 @@ describe('Bitcoin-core', function() { var string = f[0] var hex = f[1] var params = f[2] - var network = networks.bitcoin + var network = networks.digibyte if (params.isPrivkey) return if (params.isTestnet) network = networks.testnet @@ -71,8 +71,8 @@ describe('Bitcoin-core', function() { // base58_keys_invalid describe('Address', function() { var allowedNetworks = [ - networks.bitcoin.pubkeyhash, - networks.bitcoin.scripthash, + networks.digibyte.pubkeyhash, + networks.digibyte.scripthash, networks.testnet.pubkeyhash, networks.testnet.scripthash ] diff --git a/test/ecdsa.js b/test/ecdsa.js index b95397775..163e58aa6 100644 --- a/test/ecdsa.js +++ b/test/ecdsa.js @@ -109,7 +109,7 @@ describe('ecdsa', function() { }) describe('with i ∈ {0,1,2,3}', function() { - var hash = message.magicHash('1111', networks.bitcoin) + var hash = message.magicHash('1111', networks.digibyte) var e = BigInteger.fromBuffer(hash) var signatureBuffer = new Buffer('INcvXVVEFyIfHLbDX+xoxlKFn3Wzj9g0UbhObXdMq+YMKC252o5RHFr0/cKdQe1WsBLUBi4morhgZ77obDJVuV0=', 'base64')