New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

kraken-api

Package Overview
Dependencies
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

kraken-api - npm Package Compare versions

Comparing version 0.1.2 to 0.1.3

69

kraken.js
var request = require('request');
var crypto = require('crypto');
var querystring = require('querystring');
var microtime = require('microtime');

@@ -75,3 +74,3 @@ /**

params.nonce = microtime.now();
params.nonce = new Date() * 1000; // spoof microsecond

@@ -100,9 +99,11 @@ if(config.otp !== undefined) {

function getMessageSignature(path, request, nonce) {
var message = querystring.stringify(request);
var secret = new Buffer(config.secret, 'base64');
var message = querystring.stringify(request);
var hash = new crypto.createHash('sha256');
var hmac = new crypto.createHmac('sha512', secret);
var hash = sha256(nonce + message);
var hmac = hmac_sha512(path + hash.toString('binary'), secret);
var hash_digest = hash.update(nonce + message).digest('binary');
var hmac_digest = hmac.update(path + hash_digest, 'binary').digest('base64');
return hmac.toString('base64');
return hmac_digest;
}

@@ -131,14 +132,21 @@

if(typeof callback === 'function') {
if (error) {
callback.call(self, new Error('Error in server response: ' + JSON.stringify(error)));
var data;
if(error) {
throw new Error('Error in server response: ' + JSON.stringify(error));
}
var data;
try {
data = JSON.parse(body);
} catch(e) {
return callback.call(self, new Error('Could not understand response from server: ' + body));
}
callback.call(self, null, data);
catch(e) {
throw new Error('Could not understand response from server: ' + body);
}
if(data.error && data.error.length) {
callback.call(self, data.error, null);
}
else {
callback.call(self, null, data);
}
}

@@ -150,35 +158,2 @@ });

/**
* A helper function to get a SHA256 hash
* @param {String} input Input string
* @return {Object} Output hash as a Buffer object
*/
function sha256(input) {
var hash = new crypto.createHash('sha256');
hash.write(input);
hash.end();
var buffer = new Buffer(hash.read());
return buffer;
}
/**
* A helper function to get a SHA512-encrypted signature
* @param {String} message The message to sign
* @param {String} secret The secret (private) key
* @return {Object} Output hash as a Buffer object
*/
function hmac_sha512(message, secret) {
var hmac = new crypto.createHmac('sha512', secret);
hmac.write(message);
hmac.end();
var buffer = new Buffer(hmac.read());
return buffer;
}
self.api = api;

@@ -189,2 +164,2 @@ self.publicMethod = publicMethod;

module.exports = KrakenClient;
module.exports = KrakenClient;
{
"name": "kraken-api",
"version": "0.1.2",
"version": "0.1.3",
"description": "kraken.com API client library for NodeJS",

@@ -17,4 +17,3 @@ "keywords": [

"querystring": ">=0.2.0",
"request": ">=2.27.0",
"microtime": ">=0.5.0"
"request": ">=2.27.0"
},

@@ -21,0 +20,0 @@ "repository": {

@@ -18,5 +18,6 @@ Node Kraken

kraken.api('Balance', null, function(error, data) {
if (error) {
if(error) {
console.log(error);
} else {
}
else {
console.log(data.result);

@@ -28,5 +29,6 @@ }

kraken.api('Ticker', {"pair": 'XBTCXLTC'}, function(error, data) {
if (error) {
if(error) {
console.log(error);
} else {
}
else {
console.log(data.result);

@@ -33,0 +35,0 @@ }

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc