Matt Corallo
ee1103a1f3
Reduce visibility on secp-sys symbols
...
cc-rs builds C dependencies with reduced visibility to avoid
exporting the C symbols all the way out to any rust-built shared
libraries however we override it with SECP256K1_API. We should
avoid doing this, allowing LTO/DCE to do its work.
2021-04-07 11:21:16 -04:00
Kirill Fomichev
0a91f2ba2b
Use CARGO_CFG_TARGET_ARCH instead TARGET in build.rs
2021-03-08 22:54:21 +03:00
Gregory Hill
c86808fac7
use core instead of std for wasm sanity checks
...
Signed-off-by: Gregory Hill <gregorydhill@outlook.com>
2021-01-20 14:55:48 +00:00
Andrew Poelstra
65ff814a39
rename `rust_secp_fuzz` to `fuzzing`
2021-01-11 19:14:42 +00:00
Andrew Poelstra
d12be7966c
drop unnecessary no_mangle annotations on non-exported functions
2020-12-29 19:30:59 +00:00
Andrew Poelstra
58f946fcc8
secp-sys: remove now-unneeded endianness check from build.rs
2020-12-29 17:15:56 +00:00
Andrew Poelstra
e687622a81
bump secp-sys version; drop endomorphism flag
2020-12-29 17:15:56 +00:00
Andrew Poelstra
a93d671d05
update libsecp to 98dac87839838b86094f1bccc71cc20e67b146cc
2020-12-29 17:15:51 +00:00
Andrew Poelstra
e5d9e088cf
secp-sys: update scratch_impl.patch for upstream changes
2020-12-29 17:15:21 +00:00
Andrew Poelstra
a9049f8eb2
Merge pull request #266 from junderw/patch-1
...
Fix link_name for secp256k1_ec_seckey_negate
2020-12-29 17:12:36 +00:00
Andrew Poelstra
75d717729a
fuzz: fix elichai's nits
2020-12-28 19:01:12 +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
Jonathan Underwood
51bc0b1c0c
Fix link_name for secp256k1_ec_seckey_negate
2020-12-28 15:06:18 +09: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
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
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
Elichai Turkel
7b99784837
Add AligneType and redo secp256k1_context_create with alloc
2020-12-18 12:48:16 +02:00
Andrew Poelstra
0ec8fab82c
stop explicitly casting references to rawptrs
2020-11-30 02:47:34 +00:00
Andrew Poelstra
12b0abbcf8
make `ffi::Type::new` functions all unsafe, expand documentation
2020-11-27 18:42:12 +00:00
Tibo-lg
45a4459baf
Update secp256k1-sys to add schnorr/extra-keys
2020-11-09 16:00:28 +09:00
Tibo-lg
cfb565126a
Update depend folder to latest master
2020-10-12 21:35:28 +09:00
Matt Corallo
3a2dba0e7f
Use wasm sysroot for wasm32-wasi target as well
2020-10-05 16:14:36 -04:00
Elichai Turkel
6511fad231
Sort Cargo.toml files
2020-08-27 22:58:00 +03:00
Elichai Turkel
48dd77e47b
Remove old deprecated blank functions
2020-08-27 22:52:16 +03:00
Elichai Turkel
9e5a351ea7
remove redundant code after MSRV bump
2020-08-27 22:51:36 +03:00
Andrew Poelstra
19f5138925
Update MSRV to 1.29; increase version to 0.19 and -sys version to 0.3
2020-08-27 14:18:06 +00:00
Elichai Turkel
1605bde420
replace privkey functions with seckey functions, deprecate privkey functions
2020-08-26 20:55:18 +00:00
Andrew Poelstra
f19c6bbece
bump secp-sys version to 0.2.0
2020-08-26 18:07:44 +00:00
Andrew Poelstra
1a9aece312
secp256k1-sys: update upstream to 670cdd3f8be25f81472b2d16dcd228b0d24a5c45
2020-08-26 18:07:41 +00:00
Andrew Poelstra
89541ec4b2
Merge pull request #215 from rust-bitcoin/real-or-random-patch-1
...
Define ECMULT_GEN_PREC_BITS
2020-08-26 17:46:39 +00:00
Andrew Poelstra
3692c94a0f
Merge pull request #220 from rantan/add_negate_support
...
Add negate support
2020-08-26 17:43:46 +00:00
Kohei Taniguchi
1742973a1f
Add fuzztarget for negation
2020-06-09 11:06:11 +09:00
Kohei Taniguchi
d45f709cd4
Add negation support
2020-06-09 10:05:07 +09:00
Matt Corallo
0052bc92fb
Expose the underlying array in addition to a ptr to the same
2020-06-01 14:35:31 -04:00
Andrew Poelstra
e6a82fa089
Merge pull request #204 from ordian/master
...
secp256k1-sys: remove restriction on cc version
2020-05-13 18:56:23 +00:00
Tim Ruffing
489e3ff8d2
Define ECMULT_GEN_PREC_BITS
...
This is configurable in upstream now.
Fixes #214 .
So far, this just sets it to `4`. It's tempting to set it to `2` when `lowmemory` is enabled
but `lowmemory` is about RAM and not about binary size. This is better addressed by
a resolution of #193 .
2020-05-13 10:40:39 +02:00
Elichai Turkel
affc6b4027
Add sanity checks for wasm32 for size and alignment of types
2020-04-29 15:32:57 -04:00
Elichai Turkel
931253d41e
Add a size_t type to types
2020-04-29 15:32:57 -04:00
Matt Corallo
d9d398ccc9
Re-support WASM via simple stub headers
...
libsecp256k1 really only barely uses libc at all, and in practice,
things like memcpy/memcmp get optimized into something other than a
libc call. Thus, if we provide simple stub headers, things seem to
work with wasm-pack just fine.
2020-04-29 15:32:54 -04:00
Andronik Ordian
b22b9e5709
Merge remote-tracking branch 'rust-bitcoin/master'
...
* rust-bitcoin/master:
Fix no-std raw test, after removal of lang items
Fix broken benchmarks
Disable emscripten tests until they work again https://github.com/rust-lang/rust/issues/66916 https://github.com/rustwasm/team/issues/291
Add constant of the prime of the curve field.
Simplify callback logic to returning raw coordinates
Removed no longer used dont_replace_c_symbols feature
Fix wrong feature name external-symbols
Fix missing return c_int in NonceFn
2020-04-09 15:13:43 +02:00
Andrew Poelstra
9aa768df10
Merge pull request #195 from elichai/patch-1
...
Missing return c_int in NonceFn
2020-04-06 14:49:58 +00:00
Andronik Ordian
ba013945d5
readme: add an example for travis
2020-03-17 22:33:29 +01:00
Andronik Ordian
37b9e2dfe9
move the note to the main readme
2020-03-16 11:46:53 +01:00
Andronik Ordian
fd8b3ff572
secp256k1-sys: remove restriction on cc version
2020-03-14 20:46:26 +01:00
Elichai Turkel
2f897d8a93
Removed no longer used dont_replace_c_symbols feature
2020-02-09 16:37:59 +02:00
Elichai Turkel
889e9a8740
Fix wrong feature name external-symbols
2020-02-09 16:37:39 +02:00
Elichai Turkel
f277530669
Fix missing return c_int in NonceFn
2020-01-26 14:20:26 +02:00
Elichai Turkel
6bcb510d9a
Bump secp256k1-sys to 0.1.2
2020-01-09 18:10:12 +02:00
Elichai Turkel
89271c9c3c
Fix fuzztarget symbols
2020-01-09 16:56:10 +02:00
Steven Roose
ebc660bf94
Bump to v0.17.1
2019-12-11 18:57:21 +01:00
Steven Roose
987d556a67
Bump secp256k1-sys to v0.1.1
2019-12-11 15:55:00 +00:00
Steven Roose
65fe733ad0
Update Cargo.toml link in vendor script
2019-12-11 15:54:30 +00:00
Andrew Poelstra
72b9ec17fa
remove some keywoards from secp-sys Cargo.toml
2019-12-10 19:48:29 +00:00
Elichai Turkel
ca8ea92418
Fixed secp256k1_ecdh fuzztarget
2019-12-05 18:05:36 +02:00
Elichai Turkel
9759cb07f5
Replace SharedSecret with a more generic alternative
2019-12-05 17:45:24 +02:00
Steven Roose
bf3fba71cb
Add external-symbols feature to support external libsecp
...
This feature disables using the bundles sources and will link into
existing libsecp256k1 symbols.
2019-11-27 21:04:32 +00:00
Steven Roose
55fab77029
Add vendor script to prefix secp256k1 sources
2019-11-27 21:03:48 +00:00
Steven Roose
80e1935ca0
Add secp256k1-sys README and LICENSE files
2019-11-27 21:02:44 +00:00
Steven Roose
724c49fff9
Add secp256k1-sys
2019-11-27 21:02:42 +00:00