nwaku/nimcache/release/basic2/@m..@s..@svendor@snim-eth@seth@skeys.nim.c

209 lines
13 KiB
C

/* 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-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-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/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/basic2/@m..@s..@svendor@snim-eth@seth@skeys.nim.c.o nimcache/release/basic2/@m..@s..@svendor@snim-eth@seth@skeys.nim.c */
#define NIM_INTBITS 64
#include "nimbase.h"
#include "bearssl_rand.h"
#include "bearssl_hash.h"
#include <string.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 TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA;
typedef struct tyObject_MDigest__law9ct65KplMYBvtmjCQxbw tyObject_MDigest__law9ct65KplMYBvtmjCQxbw;
typedef struct tyObject_SkRecoverableSignature__uOAg5bLjCmhDkxZdWSR9buA tyObject_SkRecoverableSignature__uOAg5bLjCmhDkxZdWSR9buA;
typedef struct tyObject_secp256k1_ecdsa_recoverable_signature__OOP9ck9bXU6uuG4T9bRTry9a4w tyObject_secp256k1_ecdsa_recoverable_signature__OOP9ck9bXU6uuG4T9bRTry9a4w;
typedef struct tyObject_SkSecretKey__aKiBFtqo69b60sWLnM5A9c3w tyObject_SkSecretKey__aKiBFtqo69b60sWLnM5A9c3w;
typedef struct tyObject_secp256k1_pubkey__GYc9aFo1e2qOLdmAqUvIikQ tyObject_secp256k1_pubkey__GYc9aFo1e2qOLdmAqUvIikQ;
typedef unsigned char tyArray__A1SHJCPZVISPTujoygIPEQ[64];
typedef N_CDECL_PTR(int, tyProc__8515EaYVeX8ph3fGJmTq3w) (br_prng_class** ctx);
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__YtcvxHNKV4YiecPE9ap1mcA[20];
typedef NU8 tyArray__vEOa9c5qaE9ajWxR5R4zwfQg[32];
struct tyObject_MDigest__law9ct65KplMYBvtmjCQxbw {tyArray__vEOa9c5qaE9ajWxR5R4zwfQg data;
};
typedef NU8 tyArray__w5VB8h5K8DB3oWrO5U2wqg[64];
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;
};
typedef N_CDECL_PTR(void, tyProc__3qI9bVHqiq07sTQRU9bkkkYQ) (br_prng_class** ctx, void* params, void* seed, NI seedLen);
typedef N_CDECL_PTR(void, tyProc__hquUwNr88w4T5ldt8BqLLQ) (br_prng_class** ctx, void* out_0, NI len_0);
typedef N_CDECL_PTR(void, tyProc__bF2JFxTs1q6Lq365NU79a2Q) (br_hash_class** ctx);
typedef N_CDECL_PTR(void, tyProc__Dc9br5a6SHw9cxie3cas0KTA) (br_hash_class** ctx, void* data_0, NI len_0);
typedef N_CDECL_PTR(void, tyProc__JETfgzvEnx6Tz9bYRct9a51g) (br_hash_class** ctx, void* dst);
typedef N_CDECL_PTR(NU64, tyProc__e9bd9aJH2sCZh75q9aAcv7ylg) (br_hash_class** ctx, void* dst);
typedef N_CDECL_PTR(void, tyProc__g9c2vH2tlPaPmvfTZ3PeWQQ) (br_hash_class** ctx, void* stb, NU64 count_0);
struct tyObject_secp256k1_pubkey__GYc9aFo1e2qOLdmAqUvIikQ {tyArray__w5VB8h5K8DB3oWrO5U2wqg data;
};
struct tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA {tyObject_secp256k1_pubkey__GYc9aFo1e2qOLdmAqUvIikQ data;
};
struct tyObject_SkSecretKey__aKiBFtqo69b60sWLnM5A9c3w {tyArray__vEOa9c5qaE9ajWxR5R4zwfQg data;
};
N_LIB_PRIVATE N_NIMCALL(void*, newObj)(TNimType* typ, NI size);
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_LIB_PRIVATE N_NIMCALL(tyObject_MDigest__law9ct65KplMYBvtmjCQxbw, digest__kUuxyH0Wbp0DnT9anHK9b9c2g_2)(NU8* data_0, NI data_0Len_0);
N_LIB_PRIVATE N_NIMCALL(void, toRaw__W9bYIkOOHQ8dZSTz9aIjEPEQ)(tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA* pubkey, tyArray__w5VB8h5K8DB3oWrO5U2wqg Result);
N_LIB_PRIVATE N_NIMCALL(void, toRaw__bCgy0bI8LIRIvVpAjgBPMg)(tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA* pubkey, tyArray__DqM3b17bbm0d9bCZr9c2fLDQ Result);
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(tyObject_SkRecoverableSignature__uOAg5bLjCmhDkxZdWSR9buA, signRecoverable__IwAS2SrVpsuq9cMsnSkCo9bg)(tyObject_SkSecretKey__aKiBFtqo69b60sWLnM5A9c3w* key_0, tyArray__vEOa9c5qaE9ajWxR5R4zwfQg msg);
extern TNimType NTI__RuNvFuo5ptASsihINNteSw_;
#line 54 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
N_LIB_PRIVATE N_NIMCALL(br_hmac_drbg_context*, newRng__9cKaYUOzNpI6Cw7CIYoErTQ)(void) { br_hmac_drbg_context* result; tyProc__8515EaYVeX8ph3fGJmTq3w seeder; br_hmac_drbg_context* rng_1; br_hmac_drbg_context* T5_;{ result = (br_hmac_drbg_context*)0;
#line 58 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
#line 58 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
#line 58 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
seeder = br_prng_seeder_system(NIM_NIL);
#line 59 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
{
#line 59 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
if (!(seeder == NIM_NIL)) goto LA3_;
#line 60 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
#line 60 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
result = NIM_NIL; goto BeforeRet_;
}
LA3_: ;
#line 62 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
T5_ = (br_hmac_drbg_context*)0; T5_ = (br_hmac_drbg_context*) newObj((&NTI__RuNvFuo5ptASsihINNteSw_), sizeof(br_hmac_drbg_context)); rng_1 = T5_;
#line 63 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
#line 63 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
br_hmac_drbg_init(rng_1, (&br_sha256_vtable), NIM_NIL, ((NI) 0));
#line 64 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
{ int T8_;
#line 64 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
#line 64 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
#line 64 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
T8_ = (int)0; T8_ = seeder(&(*rng_1).vtable); if (!(T8_ == ((NI32) 0))) goto LA9_;
#line 65 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
#line 65 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
result = NIM_NIL; goto BeforeRet_;
}
LA9_: ;
result = rng_1; }BeforeRet_: ;
return result;}
#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 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 103 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
N_LIB_PRIVATE N_NIMCALL(void, toRaw__W9bYIkOOHQ8dZSTz9aIjEPEQ)(tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA* pubkey, tyArray__w5VB8h5K8DB3oWrO5U2wqg Result) { tyArray__DqM3b17bbm0d9bCZr9c2fLDQ tmp_1; chckNil((void*)Result); nimZeroMem((void*)Result, sizeof(tyArray__w5VB8h5K8DB3oWrO5U2wqg)); nimZeroMem((void*)tmp_1, sizeof(tyArray__DqM3b17bbm0d9bCZr9c2fLDQ));
#line 104 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
#line 104 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
toRaw__bCgy0bI8LIRIvVpAjgBPMg(pubkey, tmp_1);
#line 105 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
#line 105 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(((void*) ((&Result[(((NI) 0))- 0]))), ((void*) ((&tmp_1[(((NI) 1))- 0]))), ((NI) 64));
}
#line 185 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
N_LIB_PRIVATE N_NIMCALL(void, toCanonicalAddress__vn4kzxBmOg9cphvH55gBpSw)(tyObject_SkPublicKey__YxxaGK7KOKaWCOaZ44rHMA* pubkey, tyArray__YtcvxHNKV4YiecPE9ap1mcA Result) { tyObject_MDigest__law9ct65KplMYBvtmjCQxbw hash_1; tyArray__w5VB8h5K8DB3oWrO5U2wqg T1_; chckNil((void*)Result); nimZeroMem((void*)Result, sizeof(tyArray__YtcvxHNKV4YiecPE9ap1mcA));
#line 187 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
#line 187 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
#line 187 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
nimZeroMem((void*)T1_, sizeof(tyArray__w5VB8h5K8DB3oWrO5U2wqg)); toRaw__W9bYIkOOHQ8dZSTz9aIjEPEQ(pubkey, T1_);
#line 187 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
hash_1 = digest__kUuxyH0Wbp0DnT9anHK9b9c2g_2(T1_, 64);
#line 188 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
#line 188 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(((void*) ((&Result[(((NI) 0))- 0]))), ((void*) ((&hash_1.data[(((NI) 12))- 0]))), ((NI) 20));
}
#line 213 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
N_LIB_PRIVATE N_NIMCALL(tyObject_SkRecoverableSignature__uOAg5bLjCmhDkxZdWSR9buA, sign__lPU7k80HwQHA1fuDIlCa3A)(tyObject_SkSecretKey__aKiBFtqo69b60sWLnM5A9c3w* seckey, tyArray__vEOa9c5qaE9ajWxR5R4zwfQg msg) { tyObject_SkRecoverableSignature__uOAg5bLjCmhDkxZdWSR9buA result; nimZeroMem((void*)(&result), sizeof(tyObject_SkRecoverableSignature__uOAg5bLjCmhDkxZdWSR9buA));
#line 214 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
#line 214 "/home/runner/work/nim-waku/nim-waku/vendor/nim-eth/eth/keys.nim"
result = signRecoverable__IwAS2SrVpsuq9cMsnSkCo9bg(seckey, msg); return result;}