Alien-libsecp256k1

 view release on metacpan or  search on metacpan

lib/Alien/libsecp256k1.pm  view on Meta::CPAN


See L<Alien::Build::Manual::AlienUser>.

=head1 DESCRIPTION

This module may be used by other modules that require
L<libsecp256k1|https://github.com/bitcoin-core/secp256k1>. It will try to
detect whether this library is installed, and install it for other CPAN modules
to use.

The module installs the library version C<v0.6.0>. It may be updated to install
new versions when they become available. The library is bundled together with
the module, and the signature of the library's release has been verified before
releasing the module.

=head2 Testing

This alien skips building or running libsecp256k1 tests by default because it
requires much more time than building the library alone. To run them manually,
environmental variable C<ALIEN_LIBSECP256K1_RUN_TESTS> must be set to true
value during module install.

libsecp256k1/ci/ci.sh  view on Meta::CPAN

fi

# Rebuild precomputed files (if not cross-compiling).
if [ -z "$HOST" ]
then
    make clean-precomp clean-testvectors
    make precomp testvectors
fi

# Check that no repo files have been modified by the build.
# (This fails for example if the precomp files need to be updated in the repo.)
git diff --exit-code

libsecp256k1/contrib/lax_der_parsing.h  view on Meta::CPAN

 *  Returns: 1 when the signature could be parsed, 0 otherwise.
 *  Args: ctx:      a secp256k1 context object
 *  Out:  sig:      pointer to a signature object
 *  In:   input:    pointer to the signature to be parsed
 *        inputlen: the length of the array pointed to be input
 *
 *  This function will accept any valid DER encoded signature, even if the
 *  encoded numbers are out of range. In addition, it will accept signatures
 *  which violate the DER spec in various ways. Its purpose is to allow
 *  validation of the Bitcoin blockchain, which includes non-DER signatures
 *  from before the network rules were updated to enforce DER. Note that
 *  the set of supported violations is a strict subset of what OpenSSL will
 *  accept.
 *
 *  After the call, sig will always be initialized. If parsing failed or the
 *  encoded numbers are out of range, signature validation with it is
 *  guaranteed to fail for every message and public key.
 */
int ecdsa_signature_parse_der_lax(
    const secp256k1_context* ctx,
    secp256k1_ecdsa_signature* sig,



( run in 0.492 second using v1.01-cache-2.11-cpan-05444aca049 )