Module: Secp256k1

Defined in:
lib/rbsecp256k1.rb,
lib/rbsecp256k1/util.rb,
lib/rbsecp256k1/context.rb,
lib/rbsecp256k1/version.rb,
ext/rbsecp256k1/rbsecp256k1.c

Overview

Wraps libsecp256k1 in a ruby module and provides object interfaces.

Defined Under Namespace

Modules: Util Classes: Context, DeserializationError, Error, KeyPair, PrivateKey, PublicKey, RecoverableSignature, SerializationError, SharedSecret, Signature

Constant Summary collapse

VERSION =
'5.0.0'

Class Method Summary collapse

Class Method Details

.have_ecdh?Boolean

Indicates whether or not libsecp256k1 EC Diffie-Hellman module is installed.

Returns:

  • (Boolean)

    true if libsecp256k1 was build with the ECDH module, false otherwise.



1514
1515
1516
1517
1518
1519
1520
1521
1522
# File 'ext/rbsecp256k1/rbsecp256k1.c', line 1514

static VALUE
Secp256k1_have_ecdh(VALUE module)
{
#ifdef HAVE_SECP256K1_ECDH_H
  return Qtrue;
#else // HAVE_SECP256K1_ECDH_H
  return Qfalse;
#endif // HAVE_SECP256K1_ECDH_H
}

.have_recovery?Boolean

Indicates whether or not the libsecp256k1 recovery module is installed.

Returns:

  • (Boolean)

    true if libsecp256k1 was built with the recovery module, false otherwise.



1498
1499
1500
1501
1502
1503
1504
1505
1506
# File 'ext/rbsecp256k1/rbsecp256k1.c', line 1498

static VALUE
Secp256k1_have_recovery(VALUE module)
{
#ifdef HAVE_SECP256K1_RECOVERY_H
  return Qtrue;
#else // HAVE_SECP256K1_RECOVERY_H
  return Qfalse;
#endif // HAVE_SECP256K1_RECOVERY_H
}