From 1a23ece4a1011afa5a9a91451a40b92f757bc33e Mon Sep 17 00:00:00 2001 From: carsenk Date: Thu, 29 Mar 2018 19:42:37 -0600 Subject: [PATCH 1/5] Update DNR Servers --- routes/electrumjs/electrumServers.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/routes/electrumjs/electrumServers.js b/routes/electrumjs/electrumServers.js index aed6d30..975d7fd 100644 --- a/routes/electrumjs/electrumServers.js +++ b/routes/electrumjs/electrumServers.js @@ -83,8 +83,8 @@ let electrumServers = { txfee: 10000, abbr: 'DNR', serverList: [ - '173.254.244.119:50001', - '173.254.244.122:50001' + '144.202.95.223:50001', + '45.77.137.111:50001' ], }, hodl: { // !estimatefee @@ -546,4 +546,4 @@ electrumServers.vtc = electrumServers.vertcoin; electrumServers.via = electrumServers.viacoin; electrumServers.doge = electrumServers.dogecoin; -module.exports = electrumServers; \ No newline at end of file +module.exports = electrumServers; From 26b5e3749bf7f3df7a93ecee3561409a17c5afe0 Mon Sep 17 00:00:00 2001 From: pbca26 Date: Tue, 3 Apr 2018 17:58:46 +0300 Subject: [PATCH 2/5] spv listtransactions limit vin parse count to 10 items --- routes/shepherd/electrum/transactions.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/routes/shepherd/electrum/transactions.js b/routes/shepherd/electrum/transactions.js index 47a44da..40f81ad 100644 --- a/routes/shepherd/electrum/transactions.js +++ b/routes/shepherd/electrum/transactions.js @@ -1,6 +1,8 @@ const async = require('async'); const Promise = require('bluebird'); +const MAX_VOUT_LENGTH = 10; + module.exports = (shepherd) => { shepherd.sortTransactions = (transactions, sortBy) => { return transactions.sort((b, a) => { @@ -143,7 +145,7 @@ module.exports = (shepherd) => { const checkLoop = () => { index2++; - if (index2 === decodedTx.inputs.length) { + if (index2 === decodedTx.inputs.length || index2 === MAX_VOUT_LENGTH) { shepherd.log(`tx history decode inputs ${decodedTx.inputs.length} | ${index2} => main callback`, true); const _parsedTx = { network: decodedTx.network, @@ -199,8 +201,9 @@ module.exports = (shepherd) => { callback(); shepherd.log(`tx history main loop ${json.length} | ${index}`, true); + } else { + callback2(); } - callback2(); } if (_decodedInput.txid !== '0000000000000000000000000000000000000000000000000000000000000000') { From 53fece0997c7cdc3fa108083b1b7b63520dd1415 Mon Sep 17 00:00:00 2001 From: pbca26 Date: Wed, 4 Apr 2018 20:55:20 +0300 Subject: [PATCH 3/5] bntn ac --- routes/electrumjs/electrumServers.js | 11 +++++++++++ routes/ports.js | 1 + routes/shepherd/dashboardUpdate.js | 2 +- routes/shepherd/electrum/network.js | 4 +++- version | 4 ++-- version_build | 2 +- 6 files changed, 19 insertions(+), 5 deletions(-) diff --git a/routes/electrumjs/electrumServers.js b/routes/electrumjs/electrumServers.js index 383906b..3a0aefe 100644 --- a/routes/electrumjs/electrumServers.js +++ b/routes/electrumjs/electrumServers.js @@ -1,4 +1,15 @@ let electrumServers = { + bntn: { // !estimatefee + address: 'electrum1.cipig.net', + port: 10026, + proto: 'tcp', + txfee: 10000, + abbr: 'BNTN', + serverList: [ + 'electrum1.cipig.net:10026', + 'electrum2.cipig.net:10026' + ], + }, oot: { // !estimatefee address: 'electrum1.utrum.io', port: 10088, diff --git a/routes/ports.js b/routes/ports.js index 31ae00f..888d468 100644 --- a/routes/ports.js +++ b/routes/ports.js @@ -30,6 +30,7 @@ const assetChainPorts = { 'VOTE2018': '15488', 'NINJA': '8427', 'BTCH': '8800', + 'BNTN': '14358', }; module.exports = assetChainPorts; \ No newline at end of file diff --git a/routes/shepherd/dashboardUpdate.js b/routes/shepherd/dashboardUpdate.js index 90accb0..1557db2 100644 --- a/routes/shepherd/dashboardUpdate.js +++ b/routes/shepherd/dashboardUpdate.js @@ -152,7 +152,7 @@ module.exports = (shepherd) => { amount: sum, spendable: spendableSum, canspend, - type: a === 0 ? 'public': 'private', + type: a === 0 ? 'public' : 'private', }; } } diff --git a/routes/shepherd/electrum/network.js b/routes/shepherd/electrum/network.js index b63008e..7175fe8 100644 --- a/routes/shepherd/electrum/network.js +++ b/routes/shepherd/electrum/network.js @@ -89,6 +89,7 @@ module.exports = (shepherd) => { coin === 'VOTE2018' || coin === 'NINJA' || coin === 'KOMODO' || + coin === 'BNTN' || coinUC === 'SUPERNET' || coinUC === 'REVS' || coinUC === 'SUPERNET' || @@ -116,7 +117,8 @@ module.exports = (shepherd) => { coinUC === 'VOTE2018' || coinUC === 'NINJA' || coinUC === 'KMD' || - coinUC === 'KOMODO') { + coinUC === 'KOMODO' || + coinUC === 'BNTN') { return shepherd.electrumJSNetworks.komodo; } else { return shepherd.electrumJSNetworks[network]; diff --git a/version b/version index 35c7958..fa76357 100644 --- a/version +++ b/version @@ -1,3 +1,3 @@ -version=0.2.31 +version=0.2.32 type=beta -minversion=0.2.31 \ No newline at end of file +minversion=0.2.32 \ No newline at end of file diff --git a/version_build b/version_build index 6676242..38a87a9 100644 --- a/version_build +++ b/version_build @@ -1 +1 @@ -0.2.31-beta \ No newline at end of file +0.2.32-beta \ No newline at end of file From affeea86e6856bb99a1d01b4073b57a9e4a5962a Mon Sep 17 00:00:00 2001 From: pbca26 Date: Thu, 5 Apr 2018 16:53:36 +0300 Subject: [PATCH 4/5] multisig address validation fix --- package.json | 4 ++-- routes/shepherd/electrum/keys.js | 11 ++++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 4e54ee5..a05927e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "agama-app", "productName": "Agama", - "version": "0.2.30", + "version": "0.2.32", "description": "Agama Wallet Desktop App", "main": "main.js", "scripts": { @@ -32,7 +32,7 @@ "async": "^2.6.0", "bigi": "^1.4.2", "bip39": "^2.4.0", - "bitcoinforksjs-lib": "git://github.com/bitcoinjs/bitcoinjs-lib#opt-in-bitcoincash-sighash", + "bitcoinforksjs-lib": "git://github.com/SuperNETorg/bitcoinjs-lib#opt-in-bitcoincash-sighash", "bitcoinjs-lib": "git://github.com/SuperNETorg/bitcoinjs-lib", "bitcoinjs-lib-zcash": "git://github.com/pbca26/bitcoinjs-lib#zcash", "bitcoinjs-lib-pos": "git://github.com/KomodoPlatform/bitcoinjs-lib-pos", diff --git a/routes/shepherd/electrum/keys.js b/routes/shepherd/electrum/keys.js index fda562b..229056c 100644 --- a/routes/shepherd/electrum/keys.js +++ b/routes/shepherd/electrum/keys.js @@ -155,7 +155,7 @@ module.exports = (shepherd) => { const _b58check = shepherd.isZcash(network.toLowerCase()) ? bitcoinZcash.address.fromBase58Check(address) : bitcoin.address.fromBase58Check(address); if (_b58check.version === _network.pubKeyHash || - (address[0] === 'b' && shepherd.getNetworkData(network.toLowerCase()).pubKeyHash === 60)) { // kmd multisig edge case + _b58check.version === _network.scriptHash) { return true; } else { return false; @@ -165,6 +165,15 @@ module.exports = (shepherd) => { } }; + shepherd.get('/electrum/keys/validateaddress', (req, res, next) => { + const successObj = { + msg: 'success', + result: shepherd.addressVersionCheck(req.query.network, req.query.address), + }; + + res.end(JSON.stringify(successObj)); + }); + shepherd.post('/electrum/keys', (req, res, next) => { if (shepherd.checkToken(req.body.token)) { let _matchingKeyPairs = 0; From b588f627d63e2697712083bf85c69c679275030f Mon Sep 17 00:00:00 2001 From: pbca26 Date: Fri, 6 Apr 2018 23:21:56 +0300 Subject: [PATCH 5/5] string entropy check --- main.js | 2 +- package.json | 1 + routes/appConfig.js | 2 +- routes/shepherd/auth.js | 7 +++++++ routes/shepherd/electrum/merkle.js | 2 +- 5 files changed, 11 insertions(+), 3 deletions(-) diff --git a/main.js b/main.js index be91c60..7646286 100644 --- a/main.js +++ b/main.js @@ -288,8 +288,8 @@ function createWindow(status, hideLoadingWindow) { firstLoginPH: null, secondaryLoginPH: null, }; - mainWindow.nnVoteChain = 'VOTE2018'; + mainWindow.checkStringEntropy = shepherd.checkStringEntropy; /*for (let i = 0; i < process.argv.length; i++) { if (process.argv[i].indexOf('nvote') > -1) { diff --git a/package.json b/package.json index a05927e..eadb790 100644 --- a/package.json +++ b/package.json @@ -48,6 +48,7 @@ "js-sha256": "^0.7.1", "marketmaker": "git://github.com/pbca26/marketmaker", "nodejs-aes256": "^1.0.1", + "passwd-strength": "https://github.com/pbca26/passwd-strength", "portscanner": "^2.1.1", "ps-node": "^0.1.5", "remote-file-size": "^3.0.3", diff --git a/routes/appConfig.js b/routes/appConfig.js index fcfeb60..2cb85c6 100644 --- a/routes/appConfig.js +++ b/routes/appConfig.js @@ -71,7 +71,7 @@ const appConfig = { experimentalFeatures: { display: true, initDisplay: true, - displayName: 'Enable experimental features', + displayName: 'Enable advanced features', type: 'boolean', }, dataDir: { diff --git a/routes/shepherd/auth.js b/routes/shepherd/auth.js index 12c4aa6..9c1ff73 100644 --- a/routes/shepherd/auth.js +++ b/routes/shepherd/auth.js @@ -1,3 +1,5 @@ +const passwdStrength = require('passwd-strength'); + module.exports = (shepherd) => { /* * type: GET @@ -43,5 +45,10 @@ module.exports = (shepherd) => { } }; + shepherd.checkStringEntropy = (str) => { + // https://tools.ietf.org/html/rfc4086#page-35 + return passwdStrength(str) < 29 ? false : true; + }; + return shepherd; }; \ No newline at end of file diff --git a/routes/shepherd/electrum/merkle.js b/routes/shepherd/electrum/merkle.js index 82a52c4..665e462 100644 --- a/routes/shepherd/electrum/merkle.js +++ b/routes/shepherd/electrum/merkle.js @@ -163,4 +163,4 @@ module.exports = (shepherd) => { }); return shepherd; -}; +}; \ No newline at end of file