* simplify build system thanks to upstream changes
* add secp version to library version, bump to 0.6
* bump upstream to 0.3.1 ([`git diff
6138d73be471ece4717af8e7f419dde0a414568e..346a053d4c442e08191f075c3932d03140579d47`](6138d73be4..346a053d4c))
* Enable Schnorrsig module in wrapper
The extrakeys module is a dependency for Schnorrsig, so that's enabled as well.
* Add {.bycopy.} pragma
* Add Schnorrsig interface to `abi.nim`
Multikey interface is a dependency the for schnorrsig, so it was added
as well.
* Add tests for Schnorr signing
* Fix schnorr magic const declaration on 1.6 and below
* Remove unnecessary {.bycopy.} pragmas
Done under the impression that {.bycopy.} is not necessary when only
passing the object to C via ptr.
* Make SkKeyPair a wrapper around secp256k1_keypair
* Add more helper procs for new SkKeyPair
* Small fixes
* Re-order
* Rework patch. Implement Schnorr signing and undo breaking changes.
* Reduce code duplication
* Fix type
* Remove accidental extra indentation
* Add `default` {.error.} proc for SkSchnorrSignature
* Remove extra test
* Add from/to raw/hex
* Comments
* Add low-level test for `secp256k1_keypair`
* Fix errors on Nim 1.2
* Comment
* Allow passing a `Rng`/`FoolproofRng` to `signSchnorr` for improved security
* Comments
* Correct `noncefp` to be a pointer in `extraparams` object
* Remove unneeded {.bycopy.}
Co-authored-by: Jacek Sieka <arnetheduck@gmail.com>
* Don't check the RNG for Schnorr sig using private key requirements.
* Add comment detailing that `signSchnorr` without an `rng` is discouraged
* Remove non-`rng` signSchnorr variant from tests
* Rename `signSchnorr` without `rng` to `signSchnorrUnsafe`
* Unify `schnorrSig` implementations and add `array[32, bytes]` variant
* Fix on Nim 1.2
* Make `signSchnorr` accept `Opt[array[32, byte]]` rather than `[array[32,byte]]`
* Remove unused template param
* Inline `signSchnorr Rng` procs
* Remove `nimble.lock`, was breaking tests on Nim >1.6
Was causing
`Error: cannot open file: stew/byteutils`
* Correct template parameter naming
* Consistently apply {.noinit.} pragma
* `{.noinit.}` random byte array
* Revert "`{.noinit.}` random byte array"
This reverts commit a3f99817d9.
* Correct template pragmas
* Explicitly declare `noncefp` as `nil`
* Create and export `xonly_pubkey` wrapping type
* Complete implementation of `SkXOnlyPublicKey`
* Correct comment
* Add tests for 'SkXOnlyPublicKey`
* Correct conversion proc name
* Correct conversion proc name cont.
---------
Co-authored-by: Jacek Sieka <arnetheduck@gmail.com>