Migrate plugins to lib directory
This commit is contained in:
parent
09b29bba56
commit
e7ab8223c2
27 changed files with 869 additions and 858 deletions
54
lib/plugins/exchange/kraken/kraken.js
Normal file
54
lib/plugins/exchange/kraken/kraken.js
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
const Kraken = require('kraken-api')
|
||||
const coinmath = require('../common/kraken')
|
||||
|
||||
var PAIRS = {
|
||||
BTC: {
|
||||
USD: 'XXBTZUSD',
|
||||
EUR: 'XXBTZEUR'
|
||||
},
|
||||
ETH: {
|
||||
USD: 'XETHZUSD',
|
||||
EUR: 'XETHZEUR'
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {buy, sell}
|
||||
|
||||
function buy (account, cryptoAtoms, fiatCode, cryptoCode) {
|
||||
return trade(account, 'buy', cryptoAtoms, fiatCode, cryptoCode)
|
||||
}
|
||||
|
||||
function sell (account, cryptoAtoms, fiatCode, cryptoCode) {
|
||||
return trade(account, 'sell', cryptoAtoms, fiatCode, cryptoCode)
|
||||
}
|
||||
|
||||
function trade (account, type, cryptoAtoms, fiatCode, cryptoCode) {
|
||||
const kraken = new Kraken(account.key, account.secret)
|
||||
const amount = coinmath.toUnit(cryptoAtoms, cryptoCode)
|
||||
|
||||
if (amount.lte('0.01')) {
|
||||
const err = new Error('Order size too small')
|
||||
err.name = 'orderTooSmall'
|
||||
return Promise.reject(err)
|
||||
}
|
||||
|
||||
const amountStr = amount.toFixed(6)
|
||||
const pair = PAIRS[cryptoCode][fiatCode]
|
||||
|
||||
var orderInfo = {
|
||||
pair: pair,
|
||||
type: type,
|
||||
ordertype: 'market',
|
||||
volume: amountStr,
|
||||
expiretm: '+60'
|
||||
}
|
||||
|
||||
kraken.api('AddOrder', orderInfo, function (error, response) {
|
||||
if (error) {
|
||||
// TODO: handle: EOrder:Order minimum not met (volume too low)
|
||||
return Promise.reject(error)
|
||||
} else {
|
||||
return Promise.resolve()
|
||||
}
|
||||
})
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue