diff --git a/lib/cash-in-tx.js b/lib/cash-in-tx.js index 575da49c..b4b8070c 100644 --- a/lib/cash-in-tx.js +++ b/lib/cash-in-tx.js @@ -31,7 +31,7 @@ function atomic (machineTx, pi) { .then(r => { pp('DEBUG701.5')(r) return insertNewBills(billRows, machineTx) - .then(_.constant(_.set('bills', machineTx.bills, r))) + .then(newBills => _.set('newBills', newBills, r)) .then(pp('DEBUG702')) }) }) @@ -167,6 +167,7 @@ function insertNewBills (billRows, machineTx) { const sql = pgp.helpers.insert(dbBills, columns, 'bills') return db.none(sql) + .then(() => bills) } function upsert (dbTx, preProcessedTx) { @@ -225,7 +226,7 @@ function isClearToSend (oldTx, newTx) { function postProcess (r, pi) { console.log('DEBUG701: %j', r) - registerTrades(pi, r.bills) + registerTrades(pi, r.newBills) if (isClearToSend(r.dbTx, r.tx)) { return pi.sendCoins(r.tx) diff --git a/lib/plugins/exchange/kraken/kraken.js b/lib/plugins/exchange/kraken/kraken.js index c3cdf7bc..7efe0cff 100644 --- a/lib/plugins/exchange/kraken/kraken.js +++ b/lib/plugins/exchange/kraken/kraken.js @@ -1,4 +1,6 @@ +// Note: Using DeX3/npm-kraken-api to adjust timeout time const Kraken = require('kraken-api') + const common = require('../../common/kraken') var PAIRS = common.PAIRS @@ -14,7 +16,7 @@ function sell (account, cryptoAtoms, fiatCode, cryptoCode) { } function trade (account, type, cryptoAtoms, fiatCode, cryptoCode) { - const kraken = new Kraken(account.apiKey, account.privateKey) + const kraken = new Kraken(account.apiKey, account.privateKey, {timeout: 30000}) const amount = common.toUnit(cryptoAtoms, cryptoCode) const amountStr = amount.toFixed(6) const pair = PAIRS[cryptoCode][fiatCode] @@ -28,14 +30,11 @@ function trade (account, type, cryptoAtoms, fiatCode, cryptoCode) { } return new Promise((resolve, reject) => { - kraken.api('AddOrder', orderInfo, function (error, response) { - if (error) { - // TODO: handle: EOrder:Order minimum not met (volume too low) - return reject(error) - } else { - console.log('DEBUG900: %j', response) - return resolve() - } + kraken.api('AddOrder', orderInfo, (error, response) => { + if (error) return reject(error) + + console.log('DEBUG900: %j', response) + return resolve() }) }) } diff --git a/lib/poller.js b/lib/poller.js index 1dde8e8f..e11806d0 100644 --- a/lib/poller.js +++ b/lib/poller.js @@ -9,7 +9,7 @@ const INCOMING_TX_INTERVAL = 30 * T.seconds const LIVE_INCOMING_TX_INTERVAL = 5 * T.seconds const UNNOTIFIED_INTERVAL = 10 * T.seconds const SWEEP_HD_INTERVAL = T.minute -const TRADE_INTERVAL = 10 * T.seconds +const TRADE_INTERVAL = 60 * T.seconds const PONG_INTERVAL = 10 * T.seconds const PONG_CLEAR_INTERVAL = 1 * T.day diff --git a/package.json b/package.json index d886e3ef..24f7536e 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "bignumber.js": "^4.0.2", "bip39": "^2.3.1", "bitcoind-rpc": "^0.7.0", - "bitgo": "^3.3.6", + "bitgo": "^3.4.0", "body-parser": "^1.15.1", "cookie-parser": "^1.4.3", "ethereumjs-tx": "^1.3.0", @@ -23,7 +23,7 @@ "express-ws": "^3.0.0", "got": "^7.0.0", "helmet": "^3.6.1", - "kraken-api": "^0.1.7", + "kraken-api": "DeX3/npm-kraken-api", "lodash": "^4.17.2", "mem": "^1.1.0", "migrate": "^0.2.2", @@ -33,19 +33,19 @@ "node-hkdf-sync": "^1.0.0", "node-mailjet": "^3.1.0", "numeral": "^2.0.3", - "pg": "^6.2.4", + "pg": "^6.4.0", "pg-native": "latest", - "pg-promise": "^5.8.1", + "pg-promise": "^5.9.7", "pify": "^3.0.0", "pretty-ms": "^2.1.0", "promise-sequential": "^1.1.1", "ramda": "^0.22.1", "serve-static": "^1.11.1", - "socket.io": "^2.0.2", - "socket.io-client": "^2.0.2", - "twilio": "^3.3.0", - "uuid": "^3.0.0", - "web3": "^0.19.0", + "socket.io": "^2.0.3", + "socket.io-client": "^2.0.3", + "twilio": "^3.4.0", + "uuid": "^3.1.0", + "web3": "^0.19.1", "winston": "^2.3.0", "ws": "^3.0.0" }, diff --git a/yarn.lock b/yarn.lock index 6dead1a4..43dc0e14 100644 --- a/yarn.lock +++ b/yarn.lock @@ -912,7 +912,7 @@ bigi@~1.4.2: version "1.4.2" resolved "https://registry.yarnpkg.com/bigi/-/bigi-1.4.2.tgz#9c665a95f88b8b08fc05cfd731f561859d725825" -bignumber.js@^2.0.3, "bignumber.js@git+https://github.com/debris/bignumber.js.git#94d7146671b9719e00a09c29b01a691bc85048c2": +bignumber.js@^2.0.3: version "2.0.7" resolved "git+https://github.com/debris/bignumber.js.git#94d7146671b9719e00a09c29b01a691bc85048c2" @@ -986,9 +986,9 @@ bitcoinjs-lib@~3.0.2: varuint-bitcoin "^1.0.4" wif "^2.0.1" -bitgo@^3.3.6: - version "3.3.6" - resolved "https://registry.yarnpkg.com/bitgo/-/bitgo-3.3.6.tgz#cfddd9024ddbbf79d0ab715c321fb16af2d86964" +bitgo@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/bitgo/-/bitgo-3.4.0.tgz#00cdde26acb3c67fd025f339fd0ce202a88d8aa3" dependencies: argparse "~0.1.16" assert "0.4.9" @@ -3108,9 +3108,9 @@ kind-of@^3.0.2: dependencies: is-buffer "^1.1.5" -kraken-api@^0.1.7: +kraken-api@DeX3/npm-kraken-api: version "0.1.7" - resolved "https://registry.yarnpkg.com/kraken-api/-/kraken-api-0.1.7.tgz#b752435e6917ba71d9e734a5fed3fa5961622de8" + resolved "https://codeload.github.com/DeX3/npm-kraken-api/tar.gz/ca939e6dd6c6cd9d3ca9a6ee52dc2170a8d25978" dependencies: querystring ">=0.2.0" request ">=2.27.0" @@ -3271,7 +3271,7 @@ make-dir@^1.0.0: dependencies: pify "^2.3.0" -manakin@0.4: +manakin@^0.4.7: version "0.4.7" resolved "https://registry.yarnpkg.com/manakin/-/manakin-0.4.7.tgz#41ca449b55bea9c4c4fecec393b9c4d63818fc3f" @@ -3416,11 +3416,7 @@ minimist@^1.1.3, minimist@^1.2.0: dependencies: minimist "0.0.8" -moment@2.14.1: - version "2.14.1" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.14.1.tgz#b35b27c47e57ed2ddc70053d6b07becdb291741c" - -moment@^2.17.0, moment@~2.18.1: +moment@2.18.1, moment@^2.17.0, moment@~2.18.1: version "2.18.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f" @@ -3877,12 +3873,12 @@ pg-pool@1.*: generic-pool "2.4.3" object-assign "4.1.0" -pg-promise@^5.8.1: - version "5.9.0" - resolved "https://registry.yarnpkg.com/pg-promise/-/pg-promise-5.9.0.tgz#bd635150fbad6e1fa55f96bc6321c79a29b20054" +pg-promise@^5.9.7: + version "5.9.7" + resolved "https://registry.yarnpkg.com/pg-promise/-/pg-promise-5.9.7.tgz#4c78f58061cf04d6afa86baacf0bdd0cf8281c8e" dependencies: - manakin "0.4" - pg "5.1" + manakin "^0.4.7" + pg "^5.1.0" pg-minify "0.4" spex "1.2" @@ -3890,7 +3886,7 @@ pg-types@1.*, pg-types@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/pg-types/-/pg-types-1.6.0.tgz#3872a0f199143025497f4ee2a65fdaf00d7ea8b3" -pg@5.1: +pg@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/pg/-/pg-5.1.0.tgz#073b9b36763ad8a5478dbb85effef45e739ba9d8" dependencies: @@ -3902,9 +3898,9 @@ pg@5.1: pgpass "0.0.6" semver "4.3.2" -pg@^6.2.4: - version "6.2.4" - resolved "https://registry.yarnpkg.com/pg/-/pg-6.2.4.tgz#4f7ede70241e97506627d5d6078360701a647c45" +pg@^6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/pg/-/pg-6.4.0.tgz#cb76ba2e7c2eab89fc64bf7a9fe648ced72436dc" dependencies: buffer-writer "1.0.1" packet-reader "0.3.1" @@ -4682,7 +4678,25 @@ socket.io-adapter@~1.1.0: dependencies: debug "2.3.3" -socket.io-client@^2.0.2, socket.io-client@~2.0.2: +socket.io-client@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.0.3.tgz#6caf4aff9f85b19fd91b6ce13d69adb564f8873b" + dependencies: + backo2 "1.0.2" + base64-arraybuffer "0.1.5" + component-bind "1.0.0" + component-emitter "1.2.1" + debug "~2.6.4" + engine.io-client "~3.1.0" + has-cors "1.1.0" + indexof "0.0.1" + object-component "0.0.3" + parseqs "0.0.5" + parseuri "0.0.5" + socket.io-parser "~3.1.1" + to-array "0.1.4" + +socket.io-client@~2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.0.2.tgz#86f59db59ba1168724220f39be281ad49af742c1" dependencies: @@ -4709,9 +4723,9 @@ socket.io-parser@~3.1.1: has-binary2 "~1.0.2" isarray "2.0.1" -socket.io@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.0.2.tgz#133bf3a1b67d02f2ac65103c11f78e6f2c4f3b3a" +socket.io@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.0.3.tgz#4359f06a24933ae6bd087798af78c680eae345e3" dependencies: debug "~2.6.6" engine.io "~3.1.0" @@ -5080,14 +5094,14 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" -twilio@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/twilio/-/twilio-3.3.0.tgz#bb3eaac0502ecd1a2e2861e5d1b8e3cac1947a42" +twilio@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/twilio/-/twilio-3.4.0.tgz#c1afa843d76370ba279b9370591098dca68dabf7" dependencies: deprecate "1.0.0" jsonwebtoken "5.4.x" lodash "4.0.0" - moment "2.14.1" + moment "2.18.1" q "2.0.x" request "2.81.x" rootpath "0.1.2" @@ -5218,6 +5232,10 @@ uuid@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" +uuid@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" + uws@~0.14.4: version "0.14.5" resolved "https://registry.yarnpkg.com/uws/-/uws-0.14.5.tgz#67aaf33c46b2a587a5f6666d00f7691328f149dc" @@ -5253,11 +5271,11 @@ weak-map@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/weak-map/-/weak-map-1.0.5.tgz#79691584d98607f5070bd3b70a40e6bb22e401eb" -web3@^0.19.0: - version "0.19.0" - resolved "https://registry.yarnpkg.com/web3/-/web3-0.19.0.tgz#8b18fba24421a59d2884859bcb9b718c2665524e" +web3@^0.19.1: + version "0.19.1" + resolved "https://registry.yarnpkg.com/web3/-/web3-0.19.1.tgz#e763d5b1107c4bc24abd4f8cbee1ba3659e6eb31" dependencies: - bignumber.js "git+https://github.com/debris/bignumber.js.git#94d7146671b9719e00a09c29b01a691bc85048c2" + bignumber.js "^4.0.2" crypto-js "^3.1.4" utf8 "^2.1.1" xhr2 "*"