Commit Graph

92 Commits

Author SHA1 Message Date
Gruruya 858d6ca3d6 Make SkKeyPair a wrapper around secp256k1_keypair 2023-04-03 18:25:51 -04:00
Gruruya 2ed110f198 Remove unnecessary {.bycopy.} pragmas
Done under the impression that {.bycopy.} is not necessary when only
passing the object to C via ptr.
2023-04-03 18:23:44 -04:00
Gruruya e0d2aa198a Fix schnorr magic const declaration on 1.6 and below 2023-03-30 22:02:14 -04:00
Gruruya 2d529dc845 Add tests for Schnorr signing 2023-03-30 22:02:07 -04:00
Gruruya 668bf39b2a Add Schnorrsig interface to `abi.nim`
Multikey interface is a dependency the for schnorrsig, so it was added
as well.
2023-03-30 20:06:30 -04:00
Gruruya b3d0e8d841 Add {.bycopy.} pragma 2023-03-30 17:59:18 -04:00
Gruruya 445963cf46 Enable Schnorrsig module in wrapper
The extrakeys module is a dependency for Schnorrsig, so that's enabled as well.
2023-03-30 17:58:54 -04:00
jangko 4c41c5029f
ci: workaround for nim 1.6 and nim devel 2023-02-23 12:49:23 +07:00
jangko 169ad82cea
reduce compiler warnings 2023-02-23 12:08:51 +07:00
Jacek Sieka fd173fdff8
enable x86_64 assembly on x86_64 only (#42) 2022-12-05 14:54:12 +01:00
Jakub Sokołowski 72a9c4dd56
ci: add Jenkinsfile for running tests on macos
Also adds a `Makefile` to seaprate out the building of compiler.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-12-05 12:39:05 +01:00
Jacek Sieka eb5868e069
bump upstream, fix cuchar warnings (#39) 2022-11-24 16:20:13 +02:00
Jacek Sieka 88b2702fea
bump checkout, avoid redundant PR builds 2022-11-23 09:03:37 +01:00
Jacek Sieka 8e1d11c799
update ci/nimble (#40)
* update flag parsing
* fix mac CI
2022-11-19 16:50:01 +01:00
Kim De Mey c7f1a37d9b
Merge pull request from GHSA-q3x5-92cp-3pjr 2022-08-19 17:22:43 +02:00
Ivan Yonchovski ab99e2de33
Add setup files (#38) 2022-07-25 22:08:33 +03:00
Miran e625f47423
move -d:nimRawSetjmp to nim.cfg (#37)
Refs https://github.com/status-im/nimbus-build-system/issues/44
2022-07-25 21:57:38 +03: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
Ștefan Talpalaru e092373a5c
CI: test with multiple Nim versions (#35) 2022-01-11 18:28:34 +01:00
Tanguy 153ec71a34
Fix for styleCheck:usages (#34) 2021-12-27 11:27:55 +01:00
Ștefan Talpalaru d790c42206
CI: refactor Nim compiler caching (#33) 2021-06-03 02:08:23 +02:00
Ștefan Talpalaru 67ebdfa801 enable cross-compilation 2021-02-03 21:36:46 +02:00
andri lim ac96054870
Merge pull request #30 from status-im/github_action
add github action script
2021-01-08 12:05:55 +07:00
jangko f85ed3651e
add github action script 2021-01-07 18:04:16 +07: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 e8fa92a0c6
more installdirs 2020-04-17 08:05:26 +02:00
Jacek Sieka 6dce6c22ea
add installdir 2020-04-17 07:57:30 +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
Ștefan Talpalaru 85b2620a6e
CI: update script path 2019-08-24 05:03:42 +02:00
Ștefan Talpalaru a41d4432a1
Merge branch 'buildnim' 2019-06-18 21:56:25 +02:00
Ștefan Talpalaru ac89b63ba7
build_nim.sh 2019-06-18 21:39:16 +02:00
Ștefan Talpalaru 53baf442f2 add "--threads:on" to tests 2019-01-15 17:30:41 +02:00
Bruno Škvorc 9b21ca7e14
Update README.md 2019-01-02 15:00:18 +01:00
Yuriy Glukhov 024cc57eb5 Fixed nimble file 2018-09-18 17:30:58 +03:00
mratsim 1b65bb7607 re-add submodule, fix windows CI regression 53b5b9388c (diff-11c909939117928998b102a1fff7d363L45) 2018-09-10 18:22:38 +02:00
mratsim 09c67ca580 Nim now uses global user cache 2018-09-10 18:08:04 +02:00
Jacek Sieka c8324b690b
appveyor: fix version check 2018-09-06 12:09:01 -06:00
Jacek Sieka fe6353e514
readme: update license 2018-09-05 12:48:35 -06:00