Andrew Poelstra
75d717729a
fuzz: fix elichai's nits
2020-12-28 19:01:12 +00:00
Andrew Poelstra
d1714ce0ac
fuzz: disable sig-grinding tests, prevent spin-looping
2020-12-28 18:55:33 +00:00
Andrew Poelstra
96862b6a74
fuzz: implement recoverable signatures, get all tests passing, run them in CI
2020-12-28 18:42:46 +00:00
Andrew Poelstra
b811ec133a
fuzz: only replace signing and verification, leave everything else alone
...
We can now run unit tests with the fuzz feature on, and they'll pass,
which is some assurance that fuzzing with the feature on won't lead to
spurious failures due to the fuzz harness inadequately simulating message
signing.
2020-12-23 17:59:52 +00:00
Andrew Poelstra
40c31342f2
ffi: make function types nullable
2020-12-23 17:59:52 +00:00
Andrew Poelstra
91eea119b3
Merge pull request #256 from rust-bitcoin/workspace
...
Make test.sh test and build secp256k1-sys
2020-12-23 17:58:34 +00:00
Elichai Turkel
21f231bf4d
Make test.sh test and build secp256k1-sys
2020-12-23 12:01:34 +02:00
Andrew Poelstra
a2c25f2e83
Merge pull request #259 from p2pderivatives/implement-low-r-signing
...
Implement low r signing
2020-12-22 23:28:34 +00:00
Andrew Poelstra
67c9be3c3e
Merge pull request #263 from apoelstra/2020-12--no-extsymb
...
Replace dangerous cargo features with rustc flags
2020-12-22 21:24:47 +00:00
Andrew Poelstra
29316efff5
add warning about fuzzing being enabled
2020-12-22 17:34:50 +00:00
Andrew Poelstra
85075a654c
replace `fuzztarget` Cargo feature with a rustc --cfg flag
...
It's super dangerous to use Cargo features for this, since they can be set
accidentally (or maliciously by any crate in a user's entire dep tree). Instead
we can just require users set `RUSTFLAGS` appropriately, which we can easily
do in our fuzzing scripts.
2020-12-22 15:42:02 +00:00
Andrew Poelstra
d77483f00e
replace cargo `external-symbols` feature with a rustc --cfg flag
...
This feature was not useful for Cargo users, since Cargo does not give you
the kind of fine-grained control over C library linkage that you need. So
it was just unnecessarily confusing and would cause the build to break if
you enabled it accidentally, say, with --all-features.
2020-12-22 15:35:16 +00:00
Andrew Poelstra
b31bf2f611
Merge pull request #258 from thomaseizinger/better-wasm-tests
...
Run more tests in wasm
2020-12-22 06:12:01 +00:00
Tibo-lg
1d166d061b
Implement low r signing
2020-12-22 14:50:37 +09:00
Andrew Poelstra
2917de5ca7
Merge pull request #261 from tcharding/more-clippy
...
More clippy
2020-12-22 04:34:09 +00:00
Tobin Harding
a584643486
Use ManuallyDrop
...
Suggested by clippy, we need to use ManuallyDrop for these types in
order to correctly free up the memory.
2020-12-22 14:56:17 +11:00
Tobin Harding
c38136b6bc
Use for loop instead of map
...
Currently we are misusing `map` on an iterator to loop `n` times,
additionally the assertion is pointless. Use a for loop and assert
against the length of the set.
2020-12-22 14:56:17 +11:00
Tobin Harding
c92b946493
Remove unnecessary clone
...
Type is `Copy`, no need for clone.
2020-12-22 14:56:17 +11:00
Tobin Harding
ef23cb8167
Return Ok directly
...
Clippy emits warning:
warning: passing a unit value to a function
Just return `Ok(())` after calling `fill_bytes`.
2020-12-22 14:56:17 +11:00
Tobin Harding
34ad4110f1
Remove unused error return value
...
This helper never returns an error, remove the `Result` return type.
Found by clippy.
2020-12-22 14:56:17 +11:00
Tobin Harding
ed29f12216
Remove unnecessary return statements
...
Found by clippy. We don't need a `return` for the final statement.
2020-12-22 13:38:02 +11:00
Tobin Harding
4e87e6fe94
Implement is_empty method
...
Clippy warns of missing `is_empty`, trivially implement it by calling
through to `self.data.is_empty()`.
2020-12-22 13:37:25 +11:00
Andrew Poelstra
1a818ea099
Merge pull request #260 from tcharding/clippy
...
Clear clippy warnings
2020-12-22 02:18:24 +00:00
Tobin Harding
02dec3eb9b
Implement AsRef instead of custom method
...
Clippy emits a warning since we define a method that has the same name
as a standard trait. Implement the trait `AsRef` instead of using a
custom method.
2020-12-22 12:56:11 +11:00
Tobin Harding
3afc172096
Conditionally compile fn strlen
...
`strlen` is only used under certain feature flags, use `cfg` to
conditionally build it in.
Clears clippy warning.
2020-12-22 12:55:37 +11:00
Tobin Harding
617bff9df3
Conditionally include ALIGN_TO
...
This const is only used under specific features, use `cfg` to
conditionally build it in.
Removes clippy warning.
2020-12-22 12:54:08 +11:00
Tobin Harding
f67081a01c
Allow unnecessary parentheses
...
Clippy emits:
warning: unnecessary parentheses around assigned value
Add a attribute to allow unnecessary parentheses.
2020-12-22 12:53:29 +11:00
Thomas Eizinger
8b8e482f79
Run more tests in wasm
...
Instead of repeating ourselves in defining one big test for the wasm
target, we can override the `test` attribute with the `wasm-bindgen-test`
one and therefore automatically run all (supported) tests in wasm.
Unfortunately, wasm doesn't support catching panics yet which means we
have to disable the `test_panic_raw_ctx` test.
2020-12-22 10:30:56 +11:00
Andrew Poelstra
3151352be6
Merge pull request #233 from elichai/alloc-AlignedType2
...
Making sure everything is aligned correctly. Succeeder of #141
2020-12-21 21:53:38 +00:00
Elichai Turkel
0638107918
Adopt no-std tests to new preacllocated_* functions
2020-12-18 12:48:19 +02:00
Elichai Turkel
767246a282
Make preallocated use AlignedType
2020-12-18 12:48:19 +02:00
Elichai Turkel
fd206ab57c
Replace use of boxes with global allocator
2020-12-18 12:48:19 +02:00
Elichai Turkel
7b99784837
Add AligneType and redo secp256k1_context_create with alloc
2020-12-18 12:48:16 +02:00
Andrew Poelstra
11e9641d21
Merge pull request #253 from apoelstra/2020-11--schnorrsig-followup
...
BIP 0340 followups
2020-12-09 20:31:07 +00:00
Andrew Poelstra
ea027ce258
schnorrsig: change tweak_add_check to return a bool, take a fixed-length array
2020-12-09 16:49:48 +00:00
Andrew Poelstra
0ec8fab82c
stop explicitly casting references to rawptrs
2020-11-30 02:47:34 +00:00
Andrew Poelstra
37049d743e
schnorrsig: expose tweak_check_add API
2020-11-27 18:42:14 +00:00
Andrew Poelstra
12b0abbcf8
make `ffi::Type::new` functions all unsafe, expand documentation
2020-11-27 18:42:12 +00:00
Andrew Poelstra
be9a78f39e
Merge pull request #237 from p2pderivatives/add-bip340-schnorr
...
Add bip340 schnorr
2020-11-27 18:04:44 +00:00
Andrew Poelstra
9083babbe2
Merge pull request #248 from justinmoon/pubkey-ordering
...
Implement lexigraphic ordering for PubKey
2020-11-26 03:03:17 +00:00
Justin Moon
6f8a480974
Implement lexigraphic ordering for PubKey
2020-11-25 19:27:31 -06:00
Andrew Poelstra
d448cd868b
Merge pull request #252 from justinmoon/readme
...
Fix link in README
2020-11-25 23:06:28 +00:00
Justin Moon
6b41326f9f
Fix link in README
2020-11-25 16:41:22 -06:00
Andrew Poelstra
ac4541adb2
Merge pull request #250 from rust-bitcoin/2020-11--github-actions
...
switch from travis to github workflows
2020-11-23 21:25:21 +00:00
Andrew Poelstra
221254b641
Merge pull request #246 from vorot93/patch-2
...
global-context depends on rand-std
2020-11-11 21:07:56 +00:00
Andrew Poelstra
1859ddc28a
switch from travis to github workflows
2020-11-10 23:58:03 +00:00
Tibo-lg
0c937d04f5
Add key::PublicKey to schnorrsig::PublicKey conversion
2020-11-10 14:15:34 +09:00
Tibo-lg
09b04560bc
Add schnorrsig module
2020-11-10 13:43:34 +09:00
Tibo-lg
47b33828bc
Add serde macros for public keys
2020-11-09 16:00:28 +09:00
Tibo-lg
45a4459baf
Update secp256k1-sys to add schnorr/extra-keys
2020-11-09 16:00:28 +09:00