Skip to content

Sigining generates a v8 fatal error #131

@red-0ne

Description

@red-0ne

Installing secp256k1

npm i secp256k1

> [email protected] install /home/red-0ne/fixtures/test/node_modules/secp256k1
> npm run rebuild || echo "Secp256k1 bindings compilation fail. Pure JS implementation will be used."


> [email protected] rebuild /home/red-0ne/fixtures/test/node_modules/secp256k1
> node-gyp rebuild

make: Entering directory '/home/red-0ne/fixtures/test/node_modules/secp256k1/build'
  CXX(target) Debug/obj.target/secp256k1/src/addon.o
  CXX(target) Debug/obj.target/secp256k1/src/privatekey.o
../src/privatekey.cc: In function 'Nan::NAN_METHOD_RETURN_TYPE privateKeyNegate(Nan::NAN_METHOD_ARGS_TYPE)':
../src/privatekey.cc:73:30: warning: ignoring return value of 'int secp256k1_ec_privkey_negate(const secp256k1_context*, unsigned char*)', declared with attribute warn_unused_result [-Wunused-result]
   secp256k1_ec_privkey_negate(secp256k1ctx, &private_key[0]);
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  CXX(target) Debug/obj.target/secp256k1/src/publickey.o
  CXX(target) Debug/obj.target/secp256k1/src/signature.o
  CXX(target) Debug/obj.target/secp256k1/src/ecdsa.o
  CXX(target) Debug/obj.target/secp256k1/src/ecdh.o
  CC(target) Debug/obj.target/secp256k1/src/secp256k1-src/src/secp256k1.o
../src/secp256k1-src/src/secp256k1.c: In function 'secp256k1_ec_pubkey_parse':
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'pubkey' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:154:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(pubkey != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'input' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:156:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(input != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c: In function 'secp256k1_ec_pubkey_serialize':
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'output' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:175:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(output != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'outputlen' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:171:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(outputlen != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'pubkey' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:177:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(pubkey != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_parse_der':
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'sig' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:216:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(sig != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'input' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:217:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(input != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_parse_compact':
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'sig' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:234:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(sig != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'input64' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:235:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(input64 != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_serialize_der':
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'output' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:253:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(output != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'outputlen' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:254:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(outputlen != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'sig' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:255:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(sig != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_serialize_compact':
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'output64' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:265:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(output64 != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'sig' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:266:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(sig != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c: In function 'secp256k1_ecdsa_signature_normalize':
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'sigin' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:279:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(sigin != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c: In function 'secp256k1_ecdsa_verify':
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'sig' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:300:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(sig != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'msg32' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:299:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(msg32 != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'pubkey' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:301:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(pubkey != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c: In function 'secp256k1_ecdsa_sign':
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'signature' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:353:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(signature != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'msg32' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:352:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(msg32 != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'seckey' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:354:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(seckey != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c: In function 'secp256k1_ec_seckey_verify':
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'seckey' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:396:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(seckey != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c: In function 'secp256k1_ec_pubkey_create':
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'pubkey' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:411:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(pubkey != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'seckey' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:414:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(seckey != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c: In function 'secp256k1_ec_privkey_negate':
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'seckey' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:430:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(seckey != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c: In function 'secp256k1_ec_pubkey_negate':
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'pubkey' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:443:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(pubkey != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c: In function 'secp256k1_ec_privkey_tweak_add':
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'seckey' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:460:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(seckey != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'tweak' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:461:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(tweak != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c: In function 'secp256k1_ec_pubkey_tweak_add':
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'pubkey' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:484:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(pubkey != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'tweak' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:485:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(tweak != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c: In function 'secp256k1_ec_privkey_tweak_mul':
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'seckey' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:507:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(seckey != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'tweak' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:508:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(tweak != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c: In function 'secp256k1_ec_pubkey_tweak_mul':
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'pubkey' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:530:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(pubkey != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'tweak' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:531:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(tweak != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c: In function 'secp256k1_ec_pubkey_combine':
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'pubnonce' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:559:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(pubnonce != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'pubnonces' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/secp256k1.c:562:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(pubnonces != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c: In function 'secp256k1_ecdsa_recoverable_signature_parse_compact':
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'sig' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/modules/recovery/main_impl.h:44:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(sig != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'input64' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/modules/recovery/main_impl.h:45:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(input64 != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c: In function 'secp256k1_ecdsa_recoverable_signature_serialize_compact':
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'output64' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/modules/recovery/main_impl.h:64:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(output64 != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'recid' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/modules/recovery/main_impl.h:66:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(recid != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'sig' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/modules/recovery/main_impl.h:65:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(sig != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c: In function 'secp256k1_ecdsa_recoverable_signature_convert':
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'sig' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/modules/recovery/main_impl.h:79:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(sig != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'sigin' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/modules/recovery/main_impl.h:80:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(sigin != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c: In function 'secp256k1_ecdsa_sign_recoverable':
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'signature' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/modules/recovery/main_impl.h:132:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(signature != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'msg32' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/modules/recovery/main_impl.h:131:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(msg32 != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'seckey' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/modules/recovery/main_impl.h:133:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(seckey != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c: In function 'secp256k1_ecdsa_recover':
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'pubkey' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/modules/recovery/main_impl.h:179:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(pubkey != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'signature' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/modules/recovery/main_impl.h:178:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(signature != NULL);
     ^~~~~~~~~
../src/secp256k1-src/src/secp256k1.c:22:8: warning: nonnull argument 'msg32' compared to NULL [-Wnonnull-compare]
     if (EXPECT(!(cond), 0)) { \
        ^
../src/secp256k1-src/src/modules/recovery/main_impl.h:177:5: note: in expansion of macro 'ARG_CHECK'
     ARG_CHECK(msg32 != NULL);
     ^~~~~~~~~
²  CC(target) Debug/obj.target/secp256k1/src/secp256k1-src/contrib/lax_der_parsing.o
  CC(target) Debug/obj.target/secp256k1/src/secp256k1-src/contrib/lax_der_privatekey_parsing.o
[  SOLINK_MODULE(target) Debug/obj.target/secp256k1.node
  COPY Debug/secp256k1.node
make: Leaving directory '/home/red-0ne/fixtures/test/node_modules/secp256k1/build'
npm WARN saveError ENOENT: no such file or directory, open '/home/red-0ne/fixtures/test/package.json'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory, open '/home/red-0ne/fixtures/test/package.json'
npm WARN test No description
npm WARN test No repository field.
npm WARN test No README data
npm WARN test No license field.

+ [email protected]
added 24 packages from 21 contributors and audited 123 packages in 22.089s
found 0 vulnerabilities

Having the following script:

const { randomBytes } = require('crypto')
const secp256k1 = require('secp256k1')

// generate message to sign
const msg = randomBytes(32)

// generate privKey
let privKey
do {
  privKey = randomBytes(32)
} while (!secp256k1.privateKeyVerify(privKey))

// get the public key in a compressed format
const pubKey = secp256k1.publicKeyCreate(privKey)
// sign the message
const sigObj = secp256k1.sign(msg, privKey)

// verify the signature
console.log(secp256k1.verify(msg, sigObj.signature, pubKey))

It throws the following error:

FATAL ERROR: v8::Object::Cast Could not convert to object
 1: 0x55f9750c2a70 node::Abort() [node]
 2: 0x55f9750c2abe  [node]
 3: 0x55f975266608 v8::Utils::ReportApiFailure(char const*, char const*) [node]
 4: 0x55f975285650 v8::Object::CheckCast(v8::Value*) [node]
 5: 0x7f1429d595ae v8::Object::Cast(v8::Value*) [/home/red-0ne/fixtures/test/node_modules/secp256k1/build/Debug/secp256k1.node]
 6: 0x7f1429d5a579 v8::Local<v8::Object> v8::Local<v8::Object>::Cast<v8::Value>(v8::Local<v8::Value>) [/home/red-0ne/fixtures/test/node_modules/secp256k1/build/Debug/secp256k1.node]
 7: 0x7f1429d59dcc v8::Local<v8::Object> v8::Local<v8::Value>::As<v8::Object>() const [/home/red-0ne/fixtures/test/node_modules/secp256k1/build/Debug/secp256k1.node]
 8: 0x7f1429d638ed sign(Nan::FunctionCallbackInfo<v8::Value> const&) [/home/red-0ne/fixtures/test/node_modules/secp256k1/build/Debug/secp256k1.node]
 9: 0x7f1429d58816  [/home/red-0ne/fixtures/test/node_modules/secp256k1/build/Debug/secp256k1.node]
10: 0x55f975354f12 v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo*) [node]
11: 0x55f975359367  [node]
12: 0x55f97535da98  [node]
13: 0x55f97535ea7f v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*) [node]
14: 0x1bd963f04224 
Aborted

Any idea on why I get this error?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions