nwaku/nimcache/release/chat2/@m..@s..@svendor@snim-secp256k1@ssecp256k1.nim.c

789 lines
51 KiB
C
Raw Normal View History

/* Generated by Nim Compiler v1.2.6 */
/* (c) 2020 Andreas Rumpf */
/* The generated code is subject to the original license. */
/* Compiled for: Linux, amd64, gcc */
/* Command for C compiler:
gcc -c -w -pthread -I/home/runner/work/nim-waku/nim-waku/vendor/nim-libbacktrace -I/home/runner/work/nim-waku/nim-waku/vendor/nim-libbacktrace/install/usr/include -I/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1_wrapper -I/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1_wrapper/secp256k1 -I/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1_wrapper/secp256k1/src -DHAVE_CONFIG_H -DHAVE_BUILTIN_EXPECT -I/home/runner/work/nim-waku/nim-waku/vendor/nim-bearssl/bearssl/csources/src -I/home/runner/work/nim-waku/nim-waku/vendor/nim-bearssl/bearssl/csources/inc -I/home/runner/work/nim-waku/nim-waku/vendor/nim-bearssl/bearssl/csources/tools -DBR_USE_UNIX_TIME=1 -DBR_USE_URANDOM=1 -DBR_LE_UNALIGNED=1 -DBR_64=1 -DBR_amd64=1 -DBR_INT128=1 -I/home/runner/work/nim-waku/nim-waku/vendor/nim-bearssl/bearssl/certs -I/home/runner/work/nim-waku/nim-waku/vendor/nim-nat-traversal/vendor/miniupnp/miniupnpc -I/home/runner/work/nim-waku/nim-waku/vendor/nim-nat-traversal/vendor/libnatpmp-upstream -DENABLE_STRNATPMPERR -march=native -g3 -Og -O3 -fno-strict-aliasing -fno-ident -I/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib -I/home/runner/work/nim-waku/nim-waku/examples/v2 -o nimcache/release/chat2/@m..@s..@svendor@snim-secp256k1@ssecp256k1.nim.c.o nimcache/release/chat2/@m..@s..@svendor@snim-secp256k1@ssecp256k1.nim.c */
#define NIM_INTBITS 64
#include "nimbase.h"
#include <string.h>
#include <stdlib.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
#define nimfr_(x, y)
#define nimln_(x, y)
typedef struct tyObject_SkContext__g9c9bUdtZF9bfUAdx1W2ZZz0A tyObject_SkContext__g9c9bUdtZF9bfUAdx1W2ZZz0A;
typedef struct tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ;
typedef struct tyObject_SkSecretKey__aKiBFtqo69b60sWLnM5A9c3w tyObject_SkSecretKey__aKiBFtqo69b60sWLnM5A9c3w;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA;
typedef struct tyObject_secp256k1_pubkey__GYc9aFo1e2qOLdmAqUvIikQ tyObject_secp256k1_pubkey__GYc9aFo1e2qOLdmAqUvIikQ;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyObject_Result__ac12d9bB2oPDNrhZXEa1pxQ tyObject_Result__ac12d9bB2oPDNrhZXEa1pxQ;
typedef struct tyObject_SkSignature__zIGR7WXU5PgL069bIs2HRIg tyObject_SkSignature__zIGR7WXU5PgL069bIs2HRIg;
typedef struct tyObject_secp256k1_ecdsa_signature__9abCoFG0e9awROn9bWeoOX9aEA tyObject_secp256k1_ecdsa_signature__9abCoFG0e9awROn9bWeoOX9aEA;
typedef struct tyObject_Result__cqKviKPTEptuNJjCTlgYBQ tyObject_Result__cqKviKPTEptuNJjCTlgYBQ;
typedef struct tyObject_SkKeyPair__11md6PDL9c3Ydro9bo69avH7g tyObject_SkKeyPair__11md6PDL9c3Ydro9bo69avH7g;
typedef struct tyObject_Result__Ya9ccZBmFvHJBBkgW6aNwdw tyObject_Result__Ya9ccZBmFvHJBBkgW6aNwdw;
typedef struct tyObject_SkRecoverableSignature__uOAg5bLjCmhDkxZdWSR9buA tyObject_SkRecoverableSignature__uOAg5bLjCmhDkxZdWSR9buA;
typedef struct tyObject_secp256k1_ecdsa_recoverable_signature__OOP9ck9bXU6uuG4T9bRTry9a4w tyObject_secp256k1_ecdsa_recoverable_signature__OOP9ck9bXU6uuG4T9bRTry9a4w;
struct tyObject_SkContext__g9c9bUdtZF9bfUAdx1W2ZZz0A {tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ* context;
};
typedef NU8 tyArray__vEOa9c5qaE9ajWxR5R4zwfQg[32];
struct tyObject_SkSecretKey__aKiBFtqo69b60sWLnM5A9c3w {tyArray__vEOa9c5qaE9ajWxR5R4zwfQg data;
};
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {NI size;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
NCSTRING name;
TNimType* nextType;
NI instances;
NI sizes;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
typedef NU8 tyArray__w5VB8h5K8DB3oWrO5U2wqg[64];
struct tyObject_secp256k1_pubkey__GYc9aFo1e2qOLdmAqUvIikQ {tyArray__w5VB8h5K8DB3oWrO5U2wqg data;
};
struct tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA {tyObject_secp256k1_pubkey__GYc9aFo1e2qOLdmAqUvIikQ data;
};
typedef NU8 tyArray__1S3PkXs1i9a3odYVGYxTIlQ[33];
struct TGenericSeq {NI len;
NI reserved;
};
struct NimStringDesc { TGenericSeq Sup;NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyObject_Result__ac12d9bB2oPDNrhZXEa1pxQ {NIM_BOOL o;
union{
struct {NCSTRING e;
} _o_1;
struct {tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA v;
} _o_2;
};
};
struct tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ {char dummy;
};
typedef N_CDECL_PTR(void, tyProc__aYhtua0pUdy77mJUJg19ceg) (NCSTRING message, void* data_0);
typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
struct tyObject_secp256k1_ecdsa_signature__9abCoFG0e9awROn9bWeoOX9aEA {tyArray__w5VB8h5K8DB3oWrO5U2wqg data;
};
struct tyObject_SkSignature__zIGR7WXU5PgL069bIs2HRIg {tyObject_secp256k1_ecdsa_signature__9abCoFG0e9awROn9bWeoOX9aEA data;
};
typedef N_CDECL_PTR(int, tyProc__gZv9cNjZk34ctaQVDPYTI5A) (unsigned char* nonce32, unsigned char* msg32, unsigned char* key32, unsigned char* algo16, void* data, unsigned int attempt);
typedef NU8 tyArray__JmtzaGPqh6ulXN2kVElCqA[72];
struct tyObject_Result__cqKviKPTEptuNJjCTlgYBQ {NIM_BOOL o;
union{
struct {NCSTRING e;
} _o_1;
struct {tyObject_SkSignature__zIGR7WXU5PgL069bIs2HRIg v;
} _o_2;
};
};
struct tyObject_SkKeyPair__11md6PDL9c3Ydro9bo69avH7g {tyObject_SkSecretKey__aKiBFtqo69b60sWLnM5A9c3w seckey;
tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA pubkey;
};
struct tyObject_Result__Ya9ccZBmFvHJBBkgW6aNwdw {NIM_BOOL o;
union{
struct {NCSTRING e;
} _o_1;
struct {tyObject_SkSecretKey__aKiBFtqo69b60sWLnM5A9c3w v;
} _o_2;
};
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NU8* data_0, NI data_0Len_0, void* ClE_0);
void* ClE_0;
} tyProc__2eQPaS8XIidfzb11dDC4nw;
typedef N_CLOSURE_PTR(void, TM__Vf3HUZLUfnMxxqD8A7j0JA_7) (NU8* data_0, NI data_0Len_0);
typedef NU8 tyArray__DqM3b17bbm0d9bCZr9c2fLDQ[65];
struct tyObject_secp256k1_ecdsa_recoverable_signature__OOP9ck9bXU6uuG4T9bRTry9a4w {tyArray__DqM3b17bbm0d9bCZr9c2fLDQ data;
};
struct tyObject_SkRecoverableSignature__uOAg5bLjCmhDkxZdWSR9buA {tyObject_secp256k1_ecdsa_recoverable_signature__OOP9ck9bXU6uuG4T9bRTry9a4w data;
};
N_LIB_PRIVATE N_NOINLINE(void, chckNil)(void* p);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
N_CDECL(int, secp256k1_ec_pubkey_serialize)(tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ* ctx, unsigned char* output, size_t* outputlen, tyObject_secp256k1_pubkey__GYc9aFo1e2qOLdmAqUvIikQ* pubkey, unsigned int flags_0);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A)(NimStringDesc* msg);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
N_CDECL(int, secp256k1_ec_pubkey_parse)(tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ* ctx, tyObject_secp256k1_pubkey__GYc9aFo1e2qOLdmAqUvIikQ* pubkey, unsigned char* input, size_t inputlen);
N_CDECL(int, secp256k1_ec_pubkey_create)(tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ* ctx, tyObject_secp256k1_pubkey__GYc9aFo1e2qOLdmAqUvIikQ* pubkey, unsigned char* seckey);
N_LIB_PRIVATE N_NIMCALL(tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ*, getContext__DnBbOJLwooKySk8h6Wtl4A)(void);
N_LIB_PRIVATE N_NIMCALL(tyObject_SkContext__g9c9bUdtZF9bfUAdx1W2ZZz0A, init__LPyUJJkeYePP8BW010musQ)(void);
N_CDECL(tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ*, secp256k1_context_create)(unsigned int flags_0);
N_CDECL(void, secp256k1_context_set_illegal_callback)(tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ* ctx, tyProc__aYhtua0pUdy77mJUJg19ceg fun, void* data_0);
N_LIB_PRIVATE N_CDECL(void, illegalCallback__vqcdLT2OUpjzQXAWYFzlPQ)(NCSTRING message, void* data_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, cstrToNimstr)(NCSTRING str);
N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringDesc** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, getStackTrace__wZiNbtaUL82bHwwHPZjV9cQ)(void);
N_CDECL(void, secp256k1_context_set_error_callback)(tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ* ctx, tyProc__aYhtua0pUdy77mJUJg19ceg fun, void* data_0);
N_LIB_PRIVATE N_CDECL(void, errorCallback__vqcdLT2OUpjzQXAWYFzlPQ_2)(NCSTRING message, void* data_0);
N_CDECL(int, secp256k1_ecdsa_sign)(tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ* ctx, tyObject_secp256k1_ecdsa_signature__9abCoFG0e9awROn9bWeoOX9aEA* sig, unsigned char* msg32, unsigned char* seckey, tyProc__gZv9cNjZk34ctaQVDPYTI5A noncefp, void* ndata);
N_CDECL(int, secp256k1_ecdsa_signature_serialize_der)(tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ* ctx, unsigned char* output, size_t* outputlen, tyObject_secp256k1_ecdsa_signature__9abCoFG0e9awROn9bWeoOX9aEA* sig);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i, NI64 a, NI64 b);
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_CDECL(int, secp256k1_ecdsa_signature_parse_der)(tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ* ctx, tyObject_secp256k1_ecdsa_signature__9abCoFG0e9awROn9bWeoOX9aEA* sig, unsigned char* input, size_t inputlen);
N_CDECL(int, secp256k1_ecdsa_verify)(tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ* ctx, tyObject_secp256k1_ecdsa_signature__9abCoFG0e9awROn9bWeoOX9aEA* sig, unsigned char* msg32, tyObject_secp256k1_pubkey__GYc9aFo1e2qOLdmAqUvIikQ* pubkey);
N_CDECL(int, secp256k1_ec_seckey_verify)(tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ* ctx, unsigned char* seckey);
N_LIB_PRIVATE N_NIMCALL(void, toArray__4YEAz4XCqEsEBwgcwy5WUw)(NU8* data_0, NI data_0Len_0, tyArray__vEOa9c5qaE9ajWxR5R4zwfQg Result);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError)(void);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NOINLINE(void, raiseAssert__gpGJG5CoQzE64skFd9bPG7A)(NimStringDesc* msg) __attribute__((noreturn));
N_CDECL(int, secp256k1_ecdsa_sign_recoverable)(tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ* ctx, tyObject_secp256k1_ecdsa_recoverable_signature__OOP9ck9bXU6uuG4T9bRTry9a4w* sig, unsigned char* msg32, unsigned char* seckey, tyProc__gZv9cNjZk34ctaQVDPYTI5A noncefp, void* ndata);
N_CDECL(int, secp256k1_ecdsa_recoverable_signature_serialize_compact)(tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ* ctx, unsigned char* output64, int* recid, tyObject_secp256k1_ecdsa_recoverable_signature__OOP9ck9bXU6uuG4T9bRTry9a4w* sig);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEqual__WxQYJ8fOGBPO2T0Kv9aJaEA)(NU8* a, NI aLen_0, NU8* b, NI bLen_0);
N_LIB_PRIVATE N_NIMCALL(void, toRaw__bCgy0bI8LIRIvVpAjgBPMg)(tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA* pubkey, tyArray__DqM3b17bbm0d9bCZr9c2fLDQ Result);
N_LIB_PRIVATE TNimType NTI__aKiBFtqo69b60sWLnM5A9c3w_;
extern TNimType NTI__k3HXouOuhqAKq0dx450lXQ_;
N_LIB_PRIVATE TNimType NTI__vEOa9c5qaE9ajWxR5R4zwfQg_;
N_LIB_PRIVATE TNimType NTI__YxxaGK7KOKaWCOaZ44rHMA_;
extern TNimType NTI__GYc9aFo1e2qOLdmAqUvIikQ_;
STRING_LITERAL(TM__Vf3HUZLUfnMxxqD8A7j0JA_2, "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp25"
"6k1.nim(303, 12) `res == 1` Can\'t fail, per documentation", 120);
STRING_LITERAL(TM__Vf3HUZLUfnMxxqD8A7j0JA_3, "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp25"
"6k1.nim(255, 12) `res == 1` Valid private keys should always hav"
"e a corresponding pub", 148);
STRING_LITERAL(TM__Vf3HUZLUfnMxxqD8A7j0JA_4, "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp25"
"6k1.nim(434, 12) `res == 1` cannot create signature, key invalid"
"\?", 128);
STRING_LITERAL(TM__Vf3HUZLUfnMxxqD8A7j0JA_5, "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp25"
"6k1.nim(355, 12) `res == 1` Can\'t fail, per documentation", 120);
N_LIB_PRIVATE TNimType NTI__11md6PDL9c3Ydro9bo69avH7g_;
STRING_LITERAL(TM__Vf3HUZLUfnMxxqD8A7j0JA_9, "RNG not giving random enough bytes, can\'t create valid key", 58);
STRING_LITERAL(TM__Vf3HUZLUfnMxxqD8A7j0JA_10, "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp25"
"6k1.nim(292, 12) `res == 1` Can\'t fail, per documentation", 120);
STRING_LITERAL(TM__Vf3HUZLUfnMxxqD8A7j0JA_11, "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp25"
"6k1.nim(442, 12) `res == 1` cannot create recoverable signature,"
" key invalid\?", 140);
STRING_LITERAL(TM__Vf3HUZLUfnMxxqD8A7j0JA_12, "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp25"
"6k1.nim(392, 12) `res == 1` can\'t fail, per documentation", 120);
N_LIB_PRIVATE NIM_THREADVAR tyObject_SkContext__g9c9bUdtZF9bfUAdx1W2ZZz0A secpContext__T39b9cmVSHCO632lALSOJ29aw;
extern TNimType* nimTypeRoot;
extern tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ* secp256k1_context_no_precomp;
#line 22 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/memory.nim"
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) { void* T1_;
#line 24 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/memory.nim"
#line 24 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/memory.nim"
T1_ = (void*)0; T1_ = memset(a, v, ((size_t) (size)));}
#line 33 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/memory.nim"
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
#line 34 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/memory.nim"
#line 34 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/memory.nim"
nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
}
#line 297 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
N_LIB_PRIVATE N_NIMCALL(void, toRawCompressed__NtS562jLQhl9aFXEELIlWEw)(tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA* pubkey, tyArray__1S3PkXs1i9a3odYVGYxTIlQ Result) { size_t length; int res; chckNil((void*)Result); nimZeroMem((void*)Result, sizeof(tyArray__1S3PkXs1i9a3odYVGYxTIlQ));
#line 299 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
length = ((size_t) 33);
#line 300 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 300 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
res = secp256k1_ec_pubkey_serialize(secp256k1_context_no_precomp, ((unsigned char*) ((&Result[(((NI) 0))- 0]))), (&length), (&(*pubkey).data), ((unsigned int) 258));
#line 303 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
{
#line 303 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 303 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
if (!!((res == ((NI32) 1)))) goto LA3_;
#line 303 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 303 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__Vf3HUZLUfnMxxqD8A7j0JA_2));
}
LA3_: ;
}
#line 259 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
N_LIB_PRIVATE N_NIMCALL(tyObject_Result__ac12d9bB2oPDNrhZXEa1pxQ, fromRaw__wuoqSv069a0hw79btLKQagEg)(NU8* data_0, NI data_0Len_0) { tyObject_Result__ac12d9bB2oPDNrhZXEa1pxQ result; NI length; tyObject_secp256k1_pubkey__GYc9aFo1e2qOLdmAqUvIikQ key_1;{ nimZeroMem((void*)(&result), sizeof(tyObject_Result__ac12d9bB2oPDNrhZXEa1pxQ));
#line 260 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 262 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
{
#line 262 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 262 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
if (!(data_0Len_0 < ((NI) 33))) goto LA3_;
#line 263 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 263 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__ac12d9bB2oPDNrhZXEa1pxQ)); result.o = NIM_FALSE; result._o_1.e = "secp: public key must be 33 or 33 bytes"; goto BeforeRet_;
}
LA3_: ;
length = (NI)0;
#line 267 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
{ NIM_BOOL T7_;
#line 267 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
T7_ = (NIM_BOOL)0;
#line 267 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
if ((NU)(((NI) 0)) >= (NU)(data_0Len_0)){ raiseIndexError2(((NI) 0),data_0Len_0-1); } T7_ = (data_0[((NI) 0)] == ((NU8) 2)); if (T7_) goto LA8_;
#line 267 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
if ((NU)(((NI) 0)) >= (NU)(data_0Len_0)){ raiseIndexError2(((NI) 0),data_0Len_0-1); } T7_ = (data_0[((NI) 0)] == ((NU8) 3)); LA8_: ;
if (!T7_) goto LA9_;
#line 268 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 268 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 268 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
length = ((data_0Len_0 <= ((NI) 33)) ? data_0Len_0 : ((NI) 33)); }
goto LA5_;
LA9_: ;
{ NIM_BOOL T12_; NIM_BOOL T13_;
#line 269 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
T12_ = (NIM_BOOL)0;
#line 269 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
T13_ = (NIM_BOOL)0;
#line 269 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
if ((NU)(((NI) 0)) >= (NU)(data_0Len_0)){ raiseIndexError2(((NI) 0),data_0Len_0-1); } T13_ = (data_0[((NI) 0)] == ((NU8) 4)); if (T13_) goto LA14_;
#line 269 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
if ((NU)(((NI) 0)) >= (NU)(data_0Len_0)){ raiseIndexError2(((NI) 0),data_0Len_0-1); } T13_ = (data_0[((NI) 0)] == ((NU8) 6)); LA14_: ;
T12_ = T13_; if (T12_) goto LA15_;
#line 269 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
if ((NU)(((NI) 0)) >= (NU)(data_0Len_0)){ raiseIndexError2(((NI) 0),data_0Len_0-1); } T12_ = (data_0[((NI) 0)] == ((NU8) 7)); LA15_: ;
if (!T12_) goto LA16_;
#line 270 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 270 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 270 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
length = ((data_0Len_0 <= ((NI) 65)) ? data_0Len_0 : ((NI) 65)); }
goto LA5_;
LA16_: ;
{
#line 272 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 272 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__ac12d9bB2oPDNrhZXEa1pxQ)); result.o = NIM_FALSE; result._o_1.e = "secp: public key format not recognised"; goto BeforeRet_;
}
LA5_: ;
#line 275 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
{ int T21_;
#line 276 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 276 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 275 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
if ((NU)(((NI) 0)) >= (NU)(data_0Len_0)){ raiseIndexError2(((NI) 0),data_0Len_0-1); }
#line 275 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
T21_ = (int)0; T21_ = secp256k1_ec_pubkey_parse(secp256k1_context_no_precomp, (&key_1), ((unsigned char*) ((&data_0[((NI) 0)]))), ((size_t) (length))); if (!!((T21_ == ((NI32) 1)))) goto LA22_;
#line 277 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 277 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__ac12d9bB2oPDNrhZXEa1pxQ)); result.o = NIM_FALSE; result._o_1.e = "secp: cannot parse public key"; goto BeforeRet_;
}
LA22_: ;
chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__ac12d9bB2oPDNrhZXEa1pxQ)); result.o = NIM_TRUE; chckNil((void*)(&result._o_2.v)); nimZeroMem((void*)(&result._o_2.v), sizeof(tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA)); result._o_2.v.data = key_1; }BeforeRet_: ;
return result;}
#line 116 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
N_LIB_PRIVATE N_CDECL(void, illegalCallback__vqcdLT2OUpjzQXAWYFzlPQ)(NCSTRING message, void* data_0) { tyArray__nHXaesL0DJZHyVS07ARPRA T1_; tyArray__nHXaesL0DJZHyVS07ARPRA T2_;
#line 119 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
nimZeroMem((void*)T1_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
#line 119 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
T1_[0] = cstrToNimstr(message); echoBinSafe(T1_, 1);
#line 120 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
nimZeroMem((void*)T2_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
#line 120 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 120 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
T2_[0] = getStackTrace__wZiNbtaUL82bHwwHPZjV9cQ(); echoBinSafe(T2_, 1);
#line 121 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 121 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
exit(((NI) 1));
}
#line 123 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
N_LIB_PRIVATE N_CDECL(void, errorCallback__vqcdLT2OUpjzQXAWYFzlPQ_2)(NCSTRING message, void* data_0) { tyArray__nHXaesL0DJZHyVS07ARPRA T1_; tyArray__nHXaesL0DJZHyVS07ARPRA T2_;
#line 125 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
nimZeroMem((void*)T1_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
#line 125 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
T1_[0] = cstrToNimstr(message); echoBinSafe(T1_, 1);
#line 126 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
nimZeroMem((void*)T2_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
#line 126 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 126 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
T2_[0] = getStackTrace__wZiNbtaUL82bHwwHPZjV9cQ(); echoBinSafe(T2_, 1);
#line 127 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 127 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
exit(((NI) 1));
}
#line 140 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
N_LIB_PRIVATE N_NIMCALL(tyObject_SkContext__g9c9bUdtZF9bfUAdx1W2ZZz0A, init__LPyUJJkeYePP8BW010musQ)(void) { tyObject_SkContext__g9c9bUdtZF9bfUAdx1W2ZZz0A result; unsigned int flags_1; nimZeroMem((void*)(&result), sizeof(tyObject_SkContext__g9c9bUdtZF9bfUAdx1W2ZZz0A));
#line 150 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
flags_1 = ((unsigned int) 769);
#line 151 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 151 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
result.context = secp256k1_context_create(flags_1);
#line 152 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 152 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
secp256k1_context_set_illegal_callback(result.context, illegalCallback__vqcdLT2OUpjzQXAWYFzlPQ, NIM_NIL);
#line 154 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 154 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
secp256k1_context_set_error_callback(result.context, errorCallback__vqcdLT2OUpjzQXAWYFzlPQ_2, NIM_NIL);
return result;}
#line 157 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
N_LIB_PRIVATE N_NIMCALL(tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ*, getContext__DnBbOJLwooKySk8h6Wtl4A)(void) { tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ* result; result = (tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ*)0;
#line 158 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 166 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
{
#line 166 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
if (!(secpContext__T39b9cmVSHCO632lALSOJ29aw.context == 0)) goto LA3_;
#line 167 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 167 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
secpContext__T39b9cmVSHCO632lALSOJ29aw = init__LPyUJJkeYePP8BW010musQ(); }
LA3_: ;
result = secpContext__T39b9cmVSHCO632lALSOJ29aw.context; return result;}
#line 250 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
N_LIB_PRIVATE N_NIMCALL(tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA, toPublicKey__dZX6pG1PJuze9ctWTRA1ENw)(tyObject_SkSecretKey__aKiBFtqo69b60sWLnM5A9c3w* key_0) { tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA result; tyObject_secp256k1_pubkey__GYc9aFo1e2qOLdmAqUvIikQ pubkey; int res; tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ* T1_; nimZeroMem((void*)(&result), sizeof(tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA));
#line 251 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 253 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 254 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 254 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
T1_ = (tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ*)0; T1_ = getContext__DnBbOJLwooKySk8h6Wtl4A();
#line 253 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
res = secp256k1_ec_pubkey_create(T1_, (&pubkey), ((unsigned char*) ((&(*key_0).data[(((NI) 0))- 0]))));
#line 255 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
{
#line 255 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 255 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
if (!!((res == ((NI32) 1)))) goto LA4_;
#line 255 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 255 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__Vf3HUZLUfnMxxqD8A7j0JA_3));
}
LA4_: ;
chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA)); result.data = pubkey; return result;}
#line 427 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
N_LIB_PRIVATE N_NIMCALL(tyObject_SkSignature__zIGR7WXU5PgL069bIs2HRIg, sign__LWp0AcyBRS6BMzlr8xTI3g)(tyObject_SkSecretKey__aKiBFtqo69b60sWLnM5A9c3w* key_0, tyArray__vEOa9c5qaE9ajWxR5R4zwfQg msg) { tyObject_SkSignature__zIGR7WXU5PgL069bIs2HRIg result; tyObject_secp256k1_ecdsa_signature__9abCoFG0e9awROn9bWeoOX9aEA data_1; int res; tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ* T1_; nimZeroMem((void*)(&result), sizeof(tyObject_SkSignature__zIGR7WXU5PgL069bIs2HRIg));
#line 428 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 432 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 433 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 433 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
T1_ = (tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ*)0; T1_ = getContext__DnBbOJLwooKySk8h6Wtl4A();
#line 432 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
res = secp256k1_ecdsa_sign(T1_, (&data_1), ((unsigned char*) ((&msg[(((NI) 0))- 0]))), ((unsigned char*) ((&(*key_0).data[(((NI) 0))- 0]))), NIM_NIL, NIM_NIL);
#line 434 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
{
#line 434 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 434 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
if (!!((res == ((NI32) 1)))) goto LA4_;
#line 434 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 434 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__Vf3HUZLUfnMxxqD8A7j0JA_4));
}
LA4_: ;
chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_SkSignature__zIGR7WXU5PgL069bIs2HRIg)); result.data = data_1; return result;}
#line 11 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/memory.nim"
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) { void* T1_;
#line 13 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/memory.nim"
#line 13 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/memory.nim"
T1_ = (void*)0; T1_ = memcpy(dest, source, ((size_t) (size)));}
#line 2112 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system.nim"
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size) {
#line 2113 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system.nim"
#line 2113 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system.nim"
nimCopyMem(dest, source, size);
}
#line 344 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
N_LIB_PRIVATE N_NIMCALL(NI, toDer__oKZBatsMFAl9b7Nm8P8vmmA)(tyObject_SkSignature__zIGR7WXU5PgL069bIs2HRIg* sig, NU8* data_0, NI data_0Len_0) { NI result; tyArray__JmtzaGPqh6ulXN2kVElCqA buffer; size_t plength; int res; result = (NI)0; nimZeroMem((void*)buffer, sizeof(tyArray__JmtzaGPqh6ulXN2kVElCqA));
#line 351 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
plength = ((size_t) 72);
#line 352 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 352 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
res = secp256k1_ecdsa_signature_serialize_der(secp256k1_context_no_precomp, ((unsigned char*) ((&buffer[(((NI) 0))- 0]))), (&plength), (&(*sig).data));
#line 355 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
{
#line 355 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 355 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
if (!!((res == ((NI32) 1)))) goto LA3_;
#line 355 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 355 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__Vf3HUZLUfnMxxqD8A7j0JA_5));
}
LA3_: ;
#line 356 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
if ((NI64)(plength) < ((NI) (IL64(-9223372036854775807) - IL64(1))) || (NI64)(plength) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(plength, ((NI) (IL64(-9223372036854775807) - IL64(1))), ((NI) IL64(9223372036854775807))); } result = ((NI) (plength));
#line 357 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
{
#line 357 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 357 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
if (!(result <= data_0Len_0)) goto LA7_;
#line 358 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
if ((NU)(((NI) 0)) >= (NU)(data_0Len_0)){ raiseIndexError2(((NI) 0),data_0Len_0-1); } if ((result) < ((NI) 0) || (result) > ((NI) IL64(9223372036854775807))){ raiseRangeErrorI(result, ((NI) 0), ((NI) IL64(9223372036854775807))); }
#line 358 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(((void*) ((&data_0[((NI) 0)]))), ((void*) ((&buffer[(((NI) 0))- 0]))), ((NI) (result)));
}
LA7_: ;
return result;}
#line 320 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
N_LIB_PRIVATE N_NIMCALL(tyObject_Result__cqKviKPTEptuNJjCTlgYBQ, fromDer__IyTnjSYZ1ZkQrLj9bQIbslw)(NU8* data_0, NI data_0Len_0) { tyObject_Result__cqKviKPTEptuNJjCTlgYBQ result; tyObject_secp256k1_ecdsa_signature__9abCoFG0e9awROn9bWeoOX9aEA sig;{ nimZeroMem((void*)(&result), sizeof(tyObject_Result__cqKviKPTEptuNJjCTlgYBQ));
#line 321 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 323 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
{
#line 323 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 323 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
if (!(data_0Len_0 < ((NI) 1))) goto LA3_;
#line 324 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 324 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__cqKviKPTEptuNJjCTlgYBQ)); result.o = NIM_FALSE; result._o_1.e = "secp: DER signature too short"; goto BeforeRet_;
}
LA3_: ;
#line 327 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
{ int T7_;
#line 328 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 328 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 327 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
if ((NU)(((NI) 0)) >= (NU)(data_0Len_0)){ raiseIndexError2(((NI) 0),data_0Len_0-1); }
#line 328 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 327 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
T7_ = (int)0; T7_ = secp256k1_ecdsa_signature_parse_der(secp256k1_context_no_precomp, (&sig), ((unsigned char*) ((&data_0[((NI) 0)]))), ((size_t) (data_0Len_0))); if (!!((T7_ == ((NI32) 1)))) goto LA8_;
#line 329 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 329 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__cqKviKPTEptuNJjCTlgYBQ)); result.o = NIM_FALSE; result._o_1.e = "secp: cannot parse DER signature"; goto BeforeRet_;
}
LA8_: ;
chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__cqKviKPTEptuNJjCTlgYBQ)); result.o = NIM_TRUE; chckNil((void*)(&result._o_2.v)); nimZeroMem((void*)(&result._o_2.v), sizeof(tyObject_SkSignature__zIGR7WXU5PgL069bIs2HRIg)); result._o_2.v.data = sig; }BeforeRet_: ;
return result;}
#line 445 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, verify__2W2NV7Lox4sw9c7rNLNvOcw)(tyObject_SkSignature__zIGR7WXU5PgL069bIs2HRIg* sig, tyArray__vEOa9c5qaE9ajWxR5R4zwfQg msg, tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA* key_0) { NIM_BOOL result; tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ* T1_; int T2_; result = (NIM_BOOL)0;
#line 447 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 447 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 446 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 447 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 447 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
T1_ = (tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ*)0; T1_ = getContext__DnBbOJLwooKySk8h6Wtl4A();
#line 446 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
T2_ = (int)0; T2_ = secp256k1_ecdsa_verify(T1_, (&(*sig).data), ((unsigned char*) ((&msg[(((NI) 0))- 0]))), (&(*key_0).data)); result = (T2_ == ((NI32) 1)); return result;}
#line 228 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
N_LIB_PRIVATE N_NIMCALL(tyObject_Result__Ya9ccZBmFvHJBBkgW6aNwdw, fromRaw__nFXLVvDSqgy9cuKCCRzv4jg)(NU8* data_0, NI data_0Len_0) { tyObject_Result__Ya9ccZBmFvHJBBkgW6aNwdw result;{ nimZeroMem((void*)(&result), sizeof(tyObject_Result__Ya9ccZBmFvHJBBkgW6aNwdw));
#line 229 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 230 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
{
#line 230 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 230 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
if (!(data_0Len_0 < ((NI) 32))) goto LA3_;
#line 231 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 231 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__Ya9ccZBmFvHJBBkgW6aNwdw)); result.o = NIM_FALSE; result._o_1.e = "secp: raw private key should be 32 bytes"; goto BeforeRet_;
}
LA3_: ;
#line 233 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
{ int T7_;
#line 233 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 233 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 233 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
if ((NU)(((NI) 0)) >= (NU)(data_0Len_0)){ raiseIndexError2(((NI) 0),data_0Len_0-1); }
#line 233 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
T7_ = (int)0; T7_ = secp256k1_ec_seckey_verify(secp256k1_context_no_precomp, ((unsigned char*) ((&data_0[((NI) 0)])))); if (!!((T7_ == ((NI32) 1)))) goto LA8_;
#line 234 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 234 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__Ya9ccZBmFvHJBBkgW6aNwdw)); result.o = NIM_FALSE; result._o_1.e = "secp: invalid private key"; goto BeforeRet_;
}
LA8_: ;
chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_Result__Ya9ccZBmFvHJBBkgW6aNwdw)); result.o = NIM_TRUE; chckNil((void*)(&result._o_2.v)); nimZeroMem((void*)(&result._o_2.v), sizeof(tyObject_SkSecretKey__aKiBFtqo69b60sWLnM5A9c3w));
#line 236 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
if (((NI) 31)-((NI) 0) != -1 && ((NU)(((NI) 0)) >= (NU)(data_0Len_0) || (NU)(((NI) 31)) >= (NU)(data_0Len_0))){ raiseIndexError(); }
#line 236 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
toArray__4YEAz4XCqEsEBwgcwy5WUw((NU8*)(data_0)+(((NI) 0)), (((NI) 31))-(((NI) 0))+1, result._o_2.v.data);
}BeforeRet_: ;
return result;}
#line 204 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
N_LIB_PRIVATE N_NIMCALL(tyObject_SkSecretKey__aKiBFtqo69b60sWLnM5A9c3w, random__0zyuItkuaHgarDWONXkbnQ)(tyProc__2eQPaS8XIidfzb11dDC4nw rng_0) { tyObject_SkSecretKey__aKiBFtqo69b60sWLnM5A9c3w result; tyArray__vEOa9c5qaE9ajWxR5R4zwfQg data_1;{ nimZeroMem((void*)(&result), sizeof(tyObject_SkSecretKey__aKiBFtqo69b60sWLnM5A9c3w)); { NI _; NI res; _ = (NI)0;
#line 77 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/iterators_1.nim"
res = ((NI) 0); {
#line 78 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/iterators_1.nim"
while (1) { NI TM__Vf3HUZLUfnMxxqD8A7j0JA_8;
#line 78 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/iterators_1.nim"
if (!(res <= ((NI) 1000000))) goto LA3;
#line 219 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
_ = res;
#line 220 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
rng_0.ClE_0? rng_0.ClP_0(data_1, 32, rng_0.ClE_0):((TM__Vf3HUZLUfnMxxqD8A7j0JA_7)(rng_0.ClP_0))(data_1, 32);
#line 221 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
{ int T6_;
#line 221 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 221 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 221 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
T6_ = (int)0; T6_ = secp256k1_ec_seckey_verify(secp256k1_context_no_precomp, ((unsigned char*) ((&data_1[(((NI) 0))- 0])))); if (!(T6_ == ((NI32) 1))) goto LA7_;
#line 222 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 222 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_SkSecretKey__aKiBFtqo69b60sWLnM5A9c3w)); nimCopyMem((void*)result.data, (NIM_CONST void*)data_1, sizeof(tyArray__vEOa9c5qaE9ajWxR5R4zwfQg)); goto BeforeRet_;
}
LA7_: ;
#line 80 "/home/runner/work/nim-waku/nim-waku/vendor/nimbus-build-system/vendor/Nim/lib/system/iterators_1.nim"
if (nimAddInt(res, ((NI) 1), &TM__Vf3HUZLUfnMxxqD8A7j0JA_8)) { raiseOverflow(); }; res = (NI)(TM__Vf3HUZLUfnMxxqD8A7j0JA_8); } LA3: ;
}
}
#line 224 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_SkSecretKey__aKiBFtqo69b60sWLnM5A9c3w));
#line 224 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
chckNil((void*)result.data); nimZeroMem((void*)result.data, sizeof(tyArray__vEOa9c5qaE9ajWxR5R4zwfQg));
#line 226 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 226 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
raiseAssert__gpGJG5CoQzE64skFd9bPG7A(((NimStringDesc*) &TM__Vf3HUZLUfnMxxqD8A7j0JA_9));
}BeforeRet_: ;
return result;}
#line 286 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
N_LIB_PRIVATE N_NIMCALL(void, toRaw__bCgy0bI8LIRIvVpAjgBPMg)(tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA* pubkey, tyArray__DqM3b17bbm0d9bCZr9c2fLDQ Result) { size_t length; int res; chckNil((void*)Result); nimZeroMem((void*)Result, sizeof(tyArray__DqM3b17bbm0d9bCZr9c2fLDQ));
#line 288 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
length = ((size_t) 65);
#line 289 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 289 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
res = secp256k1_ec_pubkey_serialize(secp256k1_context_no_precomp, ((unsigned char*) ((&Result[(((NI) 0))- 0]))), (&length), (&(*pubkey).data), ((unsigned int) 2));
#line 292 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
{
#line 292 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 292 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
if (!!((res == ((NI32) 1)))) goto LA3_;
#line 292 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 292 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__Vf3HUZLUfnMxxqD8A7j0JA_10));
}
LA3_: ;
}
#line 437 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
N_LIB_PRIVATE N_NIMCALL(tyObject_SkRecoverableSignature__uOAg5bLjCmhDkxZdWSR9buA, signRecoverable__IwAS2SrVpsuq9cMsnSkCo9bg)(tyObject_SkSecretKey__aKiBFtqo69b60sWLnM5A9c3w* key_0, tyArray__vEOa9c5qaE9ajWxR5R4zwfQg msg) { tyObject_SkRecoverableSignature__uOAg5bLjCmhDkxZdWSR9buA result; tyObject_secp256k1_ecdsa_recoverable_signature__OOP9ck9bXU6uuG4T9bRTry9a4w data_1; int res; tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ* T1_; nimZeroMem((void*)(&result), sizeof(tyObject_SkRecoverableSignature__uOAg5bLjCmhDkxZdWSR9buA));
#line 438 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 440 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 441 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 441 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
T1_ = (tyObject_secp256k1_context__POjLS06vi9b462f9boSHL5vQ*)0; T1_ = getContext__DnBbOJLwooKySk8h6Wtl4A();
#line 440 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
res = secp256k1_ecdsa_sign_recoverable(T1_, (&data_1), ((unsigned char*) ((&msg[(((NI) 0))- 0]))), ((unsigned char*) ((&(*key_0).data[(((NI) 0))- 0]))), NIM_NIL, NIM_NIL);
#line 442 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
{
#line 442 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 442 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
if (!!((res == ((NI32) 1)))) goto LA4_;
#line 442 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 442 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__Vf3HUZLUfnMxxqD8A7j0JA_11));
}
LA4_: ;
chckNil((void*)(&result)); nimZeroMem((void*)(&result), sizeof(tyObject_SkRecoverableSignature__uOAg5bLjCmhDkxZdWSR9buA)); result.data = data_1; return result;}
#line 387 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
N_LIB_PRIVATE N_NIMCALL(void, toRaw__yPMUELBksARKX8FT2nORhg)(tyObject_SkRecoverableSignature__uOAg5bLjCmhDkxZdWSR9buA* sig, tyArray__DqM3b17bbm0d9bCZr9c2fLDQ Result) { int recid; int res; chckNil((void*)Result); nimZeroMem((void*)Result, sizeof(tyArray__DqM3b17bbm0d9bCZr9c2fLDQ));
#line 389 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
recid = ((int) 0);
#line 390 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 390 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
res = secp256k1_ecdsa_recoverable_signature_serialize_compact(secp256k1_context_no_precomp, ((unsigned char*) ((&Result[(((NI) 0))- 0]))), (&recid), (&(*sig).data));
#line 392 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
{
#line 392 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 392 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
if (!!((res == ((NI32) 1)))) goto LA3_;
#line 392 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 392 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
failedAssertImpl__W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM__Vf3HUZLUfnMxxqD8A7j0JA_12));
}
LA3_: ;
#line 394 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
Result[(((NI) 64))- 0] = ((NU8) (recid));}
#line 415 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___zJO9bCgds9b4PyWAoL25AVCg)(tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA* lhs, tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA* rhs) { NIM_BOOL result; tyArray__DqM3b17bbm0d9bCZr9c2fLDQ T1_; tyArray__DqM3b17bbm0d9bCZr9c2fLDQ T2_; result = (NIM_BOOL)0;
#line 416 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 417 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 417 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 417 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
nimZeroMem((void*)T1_, sizeof(tyArray__DqM3b17bbm0d9bCZr9c2fLDQ)); toRaw__bCgy0bI8LIRIvVpAjgBPMg(lhs, T1_);
#line 417 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
#line 417 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
nimZeroMem((void*)T2_, sizeof(tyArray__DqM3b17bbm0d9bCZr9c2fLDQ)); toRaw__bCgy0bI8LIRIvVpAjgBPMg(rhs, T2_);
#line 417 "/home/runner/work/nim-waku/nim-waku/vendor/nim-secp256k1/secp256k1.nim"
result = isEqual__WxQYJ8fOGBPO2T0Kv9aJaEA(T1_, 65, T2_, 65); return result;}
N_LIB_PRIVATE N_NIMCALL(void, secp256k1_secp256k1DatInit000)(void) {
#line 999999 "generated_not_to_break_here"
static TNimNode* TM__Vf3HUZLUfnMxxqD8A7j0JA_6_2[2];
static TNimNode TM__Vf3HUZLUfnMxxqD8A7j0JA_0[5];NTI__aKiBFtqo69b60sWLnM5A9c3w_.size = sizeof(tyObject_SkSecretKey__aKiBFtqo69b60sWLnM5A9c3w);
NTI__aKiBFtqo69b60sWLnM5A9c3w_.kind = 18;
NTI__aKiBFtqo69b60sWLnM5A9c3w_.base = 0;
NTI__aKiBFtqo69b60sWLnM5A9c3w_.flags = 3;
NTI__aKiBFtqo69b60sWLnM5A9c3w_.name = "SkPrivateKey";
NTI__aKiBFtqo69b60sWLnM5A9c3w_.nextType = nimTypeRoot; nimTypeRoot=&NTI__aKiBFtqo69b60sWLnM5A9c3w_;
NTI__vEOa9c5qaE9ajWxR5R4zwfQg_.size = sizeof(tyArray__vEOa9c5qaE9ajWxR5R4zwfQg);
NTI__vEOa9c5qaE9ajWxR5R4zwfQg_.kind = 16;
NTI__vEOa9c5qaE9ajWxR5R4zwfQg_.base = (&NTI__k3HXouOuhqAKq0dx450lXQ_);
NTI__vEOa9c5qaE9ajWxR5R4zwfQg_.flags = 3;
NTI__vEOa9c5qaE9ajWxR5R4zwfQg_.name = "array[0..31, byte]";
NTI__vEOa9c5qaE9ajWxR5R4zwfQg_.nextType = nimTypeRoot; nimTypeRoot=&NTI__vEOa9c5qaE9ajWxR5R4zwfQg_;
TM__Vf3HUZLUfnMxxqD8A7j0JA_0[0].kind = 1;
TM__Vf3HUZLUfnMxxqD8A7j0JA_0[0].offset = offsetof(tyObject_SkSecretKey__aKiBFtqo69b60sWLnM5A9c3w, data);
TM__Vf3HUZLUfnMxxqD8A7j0JA_0[0].typ = (&NTI__vEOa9c5qaE9ajWxR5R4zwfQg_);
TM__Vf3HUZLUfnMxxqD8A7j0JA_0[0].name = "data";
NTI__aKiBFtqo69b60sWLnM5A9c3w_.node = &TM__Vf3HUZLUfnMxxqD8A7j0JA_0[0];
NTI__YxxaGK7KOKaWCOaZ44rHMA_.size = sizeof(tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA);
NTI__YxxaGK7KOKaWCOaZ44rHMA_.kind = 18;
NTI__YxxaGK7KOKaWCOaZ44rHMA_.base = 0;
NTI__YxxaGK7KOKaWCOaZ44rHMA_.flags = 3;
NTI__YxxaGK7KOKaWCOaZ44rHMA_.name = "SkPublicKey";
NTI__YxxaGK7KOKaWCOaZ44rHMA_.nextType = nimTypeRoot; nimTypeRoot=&NTI__YxxaGK7KOKaWCOaZ44rHMA_;
TM__Vf3HUZLUfnMxxqD8A7j0JA_0[1].kind = 1;
TM__Vf3HUZLUfnMxxqD8A7j0JA_0[1].offset = offsetof(tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA, data);
TM__Vf3HUZLUfnMxxqD8A7j0JA_0[1].typ = (&NTI__GYc9aFo1e2qOLdmAqUvIikQ_);
TM__Vf3HUZLUfnMxxqD8A7j0JA_0[1].name = "data";
NTI__YxxaGK7KOKaWCOaZ44rHMA_.node = &TM__Vf3HUZLUfnMxxqD8A7j0JA_0[1];
NTI__11md6PDL9c3Ydro9bo69avH7g_.size = sizeof(tyObject_SkKeyPair__11md6PDL9c3Ydro9bo69avH7g);
NTI__11md6PDL9c3Ydro9bo69avH7g_.kind = 18;
NTI__11md6PDL9c3Ydro9bo69avH7g_.base = 0;
NTI__11md6PDL9c3Ydro9bo69avH7g_.flags = 3;
NTI__11md6PDL9c3Ydro9bo69avH7g_.name = "KeyPair";
NTI__11md6PDL9c3Ydro9bo69avH7g_.nextType = nimTypeRoot; nimTypeRoot=&NTI__11md6PDL9c3Ydro9bo69avH7g_;
TM__Vf3HUZLUfnMxxqD8A7j0JA_6_2[0] = &TM__Vf3HUZLUfnMxxqD8A7j0JA_0[3];
TM__Vf3HUZLUfnMxxqD8A7j0JA_0[3].kind = 1;
TM__Vf3HUZLUfnMxxqD8A7j0JA_0[3].offset = offsetof(tyObject_SkKeyPair__11md6PDL9c3Ydro9bo69avH7g, seckey);
TM__Vf3HUZLUfnMxxqD8A7j0JA_0[3].typ = (&NTI__aKiBFtqo69b60sWLnM5A9c3w_);
TM__Vf3HUZLUfnMxxqD8A7j0JA_0[3].name = "seckey";
TM__Vf3HUZLUfnMxxqD8A7j0JA_6_2[1] = &TM__Vf3HUZLUfnMxxqD8A7j0JA_0[4];
TM__Vf3HUZLUfnMxxqD8A7j0JA_0[4].kind = 1;
TM__Vf3HUZLUfnMxxqD8A7j0JA_0[4].offset = offsetof(tyObject_SkKeyPair__11md6PDL9c3Ydro9bo69avH7g, pubkey);
TM__Vf3HUZLUfnMxxqD8A7j0JA_0[4].typ = (&NTI__YxxaGK7KOKaWCOaZ44rHMA_);
TM__Vf3HUZLUfnMxxqD8A7j0JA_0[4].name = "pubkey";
TM__Vf3HUZLUfnMxxqD8A7j0JA_0[2].len = 2; TM__Vf3HUZLUfnMxxqD8A7j0JA_0[2].kind = 2; TM__Vf3HUZLUfnMxxqD8A7j0JA_0[2].sons = &TM__Vf3HUZLUfnMxxqD8A7j0JA_6_2[0];
NTI__11md6PDL9c3Ydro9bo69avH7g_.node = &TM__Vf3HUZLUfnMxxqD8A7j0JA_0[2];
}