From 43998706135b8b160d1823970c58fe0fea3197df Mon Sep 17 00:00:00 2001 From: devnulled Date: Sun, 21 Jan 2018 19:16:47 +0700 Subject: [PATCH] add lyra2z support --- multihashing.cc | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/multihashing.cc b/multihashing.cc index a5a3503..fbf499d 100644 --- a/multihashing.cc +++ b/multihashing.cc @@ -577,6 +577,29 @@ NAN_METHOD(fresh) { info.GetReturnValue().Set(Nan::NewBuffer(output, 32).ToLocalChecked()); } + +NAN_METHOD(lyra2z) { + + if (info.Length() < 1) + return THROW_ERROR_EXCEPTION("You must provide one argument."); + + // Local target = info[0]->ToObject(); + Local target = Nan::To(info[0]).ToLocalChecked(); + + + if(!Buffer::HasInstance(target)) + return THROW_ERROR_EXCEPTION("Argument should be a buffer object."); + + char * input = Buffer::Data(target); + char *output = (char*) malloc(sizeof(char) * 32); + + + lyra2z_hash(input, output); + + info.GetReturnValue().Set(Nan::NewBuffer(output, 32).ToLocalChecked()); +} + + NAN_MODULE_INIT(init) { Nan::Set(target, Nan::New("quark").ToLocalChecked(), Nan::GetFunction(Nan::New(quark)).ToLocalChecked()); Nan::Set(target, Nan::New("x11").ToLocalChecked(), Nan::GetFunction(Nan::New(x11)).ToLocalChecked()); @@ -601,6 +624,8 @@ NAN_MODULE_INIT(init) { Nan::Set(target, Nan::New("x15").ToLocalChecked(), Nan::GetFunction(Nan::New(x15)).ToLocalChecked()); Nan::Set(target, Nan::New("fresh").ToLocalChecked(), Nan::GetFunction(Nan::New(fresh)).ToLocalChecked()); Nan::Set(target, Nan::New("neoscrypt").ToLocalChecked(), Nan::GetFunction(Nan::New(neoscrypt_hash)).ToLocalChecked()); + Nan::Set(target, Nan::New("lyra2z").ToLocalChecked(), Nan::GetFunction(Nan::New(lyra2z)).ToLocalChecked()); + } NODE_MODULE(multihashing, init)