@@ -18,11 +18,11 @@ int nonce_function_custom(unsigned char *nonce32, const unsigned char *msg32, co
1818 Nan::New (counter)
1919 };
2020
21- #if (NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION)
2221 v8::Isolate *isolate = v8::Isolate::GetCurrent ();
23- v8::Local<v8::Value> result = noncefn_callback->Call (isolate->GetCurrentContext ()->Global (), 5 , argv);
22+ #if (NODE_MODULE_VERSION > NODE_11_0_MODULE_VERSION)
23+ v8::Local<v8::Value> result = noncefn_callback->Call (isolate->GetCurrentContext (), isolate->GetCurrentContext ()->Global (), 5 , argv).ToLocalChecked ();
2424#else
25- v8::Local<v8::Value> result = noncefn_callback->Call (v8::Context::GetCurrent ()->Global (), 5 , argv);
25+ v8::Local<v8::Value> result = noncefn_callback->Call (isolate-> GetCurrentContext ()->Global (), 5 , argv);
2626#endif
2727
2828 if (!node::Buffer::HasInstance (result) || node::Buffer::Length (result) != 32 ) {
@@ -52,14 +52,22 @@ NAN_METHOD(sign) {
5252 if (!options->IsUndefined ()) {
5353 CHECK_TYPE_OBJECT (options, OPTIONS_TYPE_INVALID);
5454
55+ #if (NODE_MODULE_VERSION > NODE_11_0_MODULE_VERSION)
56+ v8::Local<v8::Value> data_value = options->Get (info.GetIsolate ()->GetCurrentContext (), Nan::New<v8::String>(" data" ).ToLocalChecked ()).ToLocalChecked ();
57+ #else
5558 v8::Local<v8::Value> data_value = options->Get (Nan::New<v8::String>(" data" ).ToLocalChecked ());
59+ #endif
5660 if (!data_value->IsUndefined ()) {
5761 CHECK_TYPE_BUFFER (data_value, OPTIONS_DATA_TYPE_INVALID);
5862 CHECK_BUFFER_LENGTH (data_value, 32 , OPTIONS_DATA_LENGTH_INVALID);
5963 data = (void *) node::Buffer::Data (data_value);
6064 }
6165
66+ #if (NODE_MODULE_VERSION > NODE_11_0_MODULE_VERSION)
67+ noncefn_callback = v8::Local<v8::Function>::Cast (options->Get (info.GetIsolate ()->GetCurrentContext (), Nan::New<v8::String>(" noncefn" ).ToLocalChecked ()).ToLocalChecked ());
68+ #else
6269 noncefn_callback = v8::Local<v8::Function>::Cast (options->Get (Nan::New<v8::String>(" noncefn" ).ToLocalChecked ()));
70+ #endif
6371 if (!noncefn_callback->IsUndefined ()) {
6472 CHECK_TYPE_FUNCTION (noncefn_callback, OPTIONS_NONCEFN_TYPE_INVALID);
6573 noncefn = nonce_function_custom;
@@ -76,8 +84,13 @@ NAN_METHOD(sign) {
7684 secp256k1_ecdsa_recoverable_signature_serialize_compact (secp256k1ctx, &output[0 ], &recid, &sig);
7785
7886 v8::Local<v8::Object> obj = Nan::New<v8::Object>();
87+ #if (NODE_MODULE_VERSION > NODE_11_0_MODULE_VERSION)
88+ obj->Set (info.GetIsolate ()->GetCurrentContext (), Nan::New<v8::String>(" signature" ).ToLocalChecked (), COPY_BUFFER (&output[0 ], 64 ));
89+ obj->Set (info.GetIsolate ()->GetCurrentContext (), Nan::New<v8::String>(" recovery" ).ToLocalChecked (), Nan::New<v8::Number>(recid));
90+ #else
7991 obj->Set (Nan::New<v8::String>(" signature" ).ToLocalChecked (), COPY_BUFFER (&output[0 ], 64 ));
8092 obj->Set (Nan::New<v8::String>(" recovery" ).ToLocalChecked (), Nan::New<v8::Number>(recid));
93+ #endif
8194 info.GetReturnValue ().Set (obj);
8295}
8396
0 commit comments