bfx-api-node-util
Version:
Utilities for the Bitfinex node API
32 lines (26 loc) • 654 B
JavaScript
const crypto = require('crypto')
const getNonce = require('./nonce')
/**
* Generates an auth signature, payload, and nonce for passing to the WS & REST
* APIs
* @param {string} apiSecret
* @param {string?} payload - optional signature payload, generated by default
* @return {Object} authSignature
*/
const genAuthSig = (secret, payload = '') => {
const nonce = getNonce()
if (payload.length === 0) {
payload = `AUTH${nonce}${nonce}`
}
const sig = crypto
.createHmac('sha384', secret)
.update(payload)
.digest('hex')
return {
payload,
sig,
nonce: getNonce()
}
}
module.exports = genAuthSig