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