/* 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 #include #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]; }