From 54f5563ebb250013249ace0d0c97f2b389cbb882 Mon Sep 17 00:00:00 2001 From: clintar Date: Tue, 17 Nov 2015 23:26:36 -0700 Subject: [PATCH] make compatible with standard node-cryptonote-pool --- src/main.cc | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/src/main.cc b/src/main.cc index b9e4af1..2d1b0c4 100644 --- a/src/main.cc +++ b/src/main.cc @@ -240,13 +240,26 @@ void address_decode(const Nan::FunctionCallbackInfo& info) { account_public_address adr; - if (!::serialization::parse_binary(data, adr)) - info.GetReturnValue().Set(Nan::Undefined()); + if (!::serialization::parse_binary(data, adr) || !crypto::check_key(adr.m_spend_public_key) || !crypto::check_key(adr.m_view_public_key)) + { + if(data.length()) + { + data = uint64be_to_blob(prefix) + data; + } + else + { + info.GetReturnValue().Set(Nan::Undefined()); + } + v8::Local returnValue = Nan::CopyBuffer((char*)data.data(), data.size()).ToLocalChecked(); + info.GetReturnValue().Set( + returnValue + ); - if (!crypto::check_key(adr.m_spend_public_key) || !crypto::check_key(adr.m_view_public_key)) - info.GetReturnValue().Set(Nan::Undefined()); - - info.GetReturnValue().Set(Nan::New(static_cast(prefix))); + } + else + { + info.GetReturnValue().Set(Nan::New(static_cast(prefix))); + } } NAN_MODULE_INIT(init) {