Commit Graph

26 Commits

Author SHA1 Message Date
Kim De Mey c7f1a37d9b
Merge pull request from GHSA-q3x5-92cp-3pjr 2022-08-19 17:22:43 +02:00
zah 5340cf1881
Restructure the project to allow nimble check to pass (#36)
* Restructure the project to allow nimble check to pass

* Add a lock file
2022-06-20 14:31:15 +03:00
Tanguy 153ec71a34
Fix for styleCheck:usages (#34) 2021-12-27 11:27:55 +01:00
Jacek Sieka 23bf71889d
remove unnecessary data in callbacks (and weird cast) (#29) 2021-01-07 10:32:46 +01:00
Jacek Sieka af9611c187
avoid finalizer, may destabilize the GC (#28)
forgot about https://github.com/nim-lang/Nim/issues/4851 when writing it

generally, will only be a problem if threads are created and destroyed
often
2020-12-16 15:00:21 +01:00
Zahary Karadjov a9d5cba699 More localized noSideEffect overrides 2020-11-16 14:49:32 +02:00
Richard Ramos f1bdb572f4 fix: code review 2020-11-14 18:35:46 +02:00
Richard Ramos ef264648fc fix: code review 2020-11-14 18:35:46 +02:00
Richard Ramos 9387bd8b2d Expose privkey_tweak_add 2020-11-14 18:35:46 +02:00
Eugene Kabanov fb9699702b
Perform constant time comparison of keys and signatures. (#24)
Bump version to 0.5.1.
2020-07-30 16:48:40 +02:00
Jacek Sieka bf6cc94a3c
use external rng instead of nimcrypto (#23)
* use external rng instead of nimcrypto

allows passing in different RNG's to generate keys

* pass in array of random data to random keygen function

* back to a proc

* docs

* gcsafe rng callback needed

* introduce foolproofrng that can't fail

* silence compiler warning

* hint at random not being good enough in defect
2020-07-06 15:07:29 +02:00
Jacek Sieka be98963599
fromHex needs to be public after all 2020-06-22 16:59:37 +02:00
Jacek Sieka 5701a60143
use requiredInit (#22)
* use requiredInit

Use requiredInit on keys - this simplifies error handling by providing
more compile-time guarantees through type.

Loophole: `clear` will leave an invalid key type in memory, not
guaranteed by type - it requires an explicit action to produce, so it's
somewhat better than the current situation where by default, keys are
invalid, but it's not watertight.

something like a `sink` would be needed which would have to guarantee
that `clear` is the last use of the instance.

* close requiresinit loophole

* remove clear for public stuff

* fix side effects

`secp256k1_context_no_precomp` is constant actually

* document nosideeffect

* document nosideeffect

* document fix
2020-06-22 16:08:21 +02:00
Jacek Sieka 306289244c
add convenience api (#21)
fixes #19
2020-04-17 07:43:30 +02:00
Jacek Sieka 5af866754b
upstream: update (#18) 2020-04-11 16:38:24 +02:00
cheatfate 16b3cd84b6
Fix #17.
Bump version to 0.1.2.
2020-03-08 22:22:50 +02:00
cheatfate 25b04816a0
Fix path handling for compile targets.
Bump version to 0.1.1.
2020-03-08 20:26:54 +02:00
cheatfate 3a39aa0892 Add wrapper for secp256k1_ecdh_raw() 2018-03-21 11:42:07 +02:00
cheatfate bbb83bab0f Added secp256k1_ecdsa_recoverable_signature_parse_compact(). 2018-03-19 16:47:21 +02:00
cheatfate ee348dace4 Changing `stdcall` to `cdecl`. 2018-03-16 18:39:06 +02:00
cheatfate f7b46707e5 Callback functions must not have default {.nimcall.} calling convention. 2018-03-16 17:20:36 +02:00
cheatfate 2c4c49fd3d Added secp256k1_ecdh(). 2018-03-16 11:17:10 +02:00
Yuriy Glukhov 2c3571598b Enable ECDH + some minor fixes 2018-03-15 20:34:55 +02:00
Yuriy Glukhov 089b0395dd Added recovery interface bindings 2018-03-12 17:04:51 +02:00
Yuriy Glukhov eaa31e8158 libsecp256k1 is now built into the package, no additional dependencies needed 2018-03-12 13:51:33 +02:00
Zahary Karadjov 097b3c2434 FFI declarations for libsecp256k1.h 2018-01-05 03:02:25 +02:00