lamassu-server/lib/plugins/exchange/kraken/kraken.js
Josh Harvey 2779dcd6f3 WIP
2017-06-24 18:52:55 +03:00

45 lines
1.2 KiB
JavaScript

const Kraken = require('kraken-api')
const common = require('../../common/kraken')
var PAIRS = common.PAIRS
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.apiKey, account.privateKey)
const amount = common.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()
}
})
}