Elichai Turkel
2eff118d03
Simplify callback logic to returning raw coordinates
2020-03-01 13:46:25 +02:00
Elichai Turkel
2f897d8a93
Removed no longer used dont_replace_c_symbols feature
2020-02-09 16:37:59 +02:00
Andrew Poelstra
4b740911c6
Merge pull request #180 from elichai/2019-11-SharedSecret
...
Alternative: Passing custom hash functions to ECDH
2019-12-09 21:11:30 +00:00
Elichai Turkel
5619f2a5df
Add an unsafe variant of new_with_has called new_with_hash_no_panic
2019-12-09 22:53:24 +02:00
Elichai Turkel
124c1f3c7c
feature gate new_with_hash with std only, added catch_unwind
2019-12-05 18:05:40 +02:00
Elichai Turkel
d2c4e5a846
Wrap Secp256k1 from raw context in a ManuallyDrop
2019-12-05 17:51:59 +02:00
Elichai Turkel
f80428258c
Add tests for the new SharedSecret::new_with_hash() function
2019-12-05 17:46:24 +02:00
Elichai Turkel
af8fa21a20
Add 'new_with_hash' function to SharedSecret
2019-12-05 17:46:23 +02:00
Elichai Turkel
9759cb07f5
Replace SharedSecret with a more generic alternative
2019-12-05 17:45:24 +02:00
Steven Roose
724c49fff9
Add secp256k1-sys
2019-11-27 21:02:42 +00:00
Andrew Poelstra
02f66177f0
Merge pull request #179 from elichai/2019-11-raw-context
...
Creating context from raw pointer
2019-11-27 20:34:43 +00:00
Elichai Turkel
9523e093c1
Add tests for raw context
2019-11-27 22:05:27 +02:00
Elichai Turkel
5f8096e8a8
Add functions to create from raw context
2019-11-27 22:05:23 +02:00
Andrew Poelstra
cf22f60919
Merge pull request #162 from elichai/2019-09-ffi
...
Fixes and tests for the ffi
2019-11-27 20:01:17 +00:00
Andrew Poelstra
1e711f194c
Merge pull request #184 from elichai/2019-11-context
...
Fix a safety problem and make the Context trait unimplementable
2019-11-27 19:58:44 +00:00
Elichai Turkel
9522f7e4a4
Make Context::deallocate unsafe fn
2019-11-27 17:42:01 +02:00
Elichai Turkel
fe688ada65
Make the Context trait unimplementable
2019-11-27 17:36:06 +02:00
Andrew Poelstra
47b2555e80
Merge pull request #182 from rodoufu/code_imp
...
Updating libraries and small code improvements
2019-11-22 16:02:33 +00:00
Tony Jin
1b0c57377a
Remove trailing whitespace
2019-11-20 20:36:18 +01:00
Rodolfo Araujo
825493bea9
Small code improvements.
2019-11-17 22:10:40 -03:00
Rodolfo Araujo
a4ccab7431
Libraries.
2019-11-17 22:04:11 -03:00
Andrew Poelstra
d900dcd1c9
Merge pull request #177 from elichai/2019-10-csymbols
...
Add a feature to disable replacing C symbols with rust
2019-10-29 01:39:08 +00:00
Elichai Turkel
349b2eac06
Add a 'dont_replace_c_symbols' feature for not replacing C's symbols with rust. isn't compatible with no-std
2019-10-28 23:05:38 +02:00
Matt Corallo
f09ff2a9de
Disable some useless lints
2019-10-28 15:20:04 -04:00
Elichai Turkel
06b2bebce8
Add a test for the types
2019-09-14 22:59:36 +03:00
Elichai Turkel
5b10d1b226
Fix bad ffi declarations
2019-09-14 21:12:59 +03:00
Andrew Poelstra
eddfe03dbc
Merge pull request #151 from elichai/2019-08-Cptr-null
...
Explicit checks for ZST + null fallbacks
2019-08-21 23:03:30 +00:00
Elichai Turkel
d7461e4cdc
Add zst tests and some other parsing tests
2019-08-21 18:06:02 -04:00
Elichai Turkel
ddb8e4fdf2
Explicit checks for empty slices
2019-08-21 13:09:36 -04:00
Elichai Turkel
b7e20c5b12
Changed all as_*ptr() to the safer CPtr trait
2019-08-21 13:09:36 -04:00
Elichai Turkel
66ab70f991
Added a C Ptr trait that returns a null pointer for ZSTs
2019-08-21 13:09:20 -04:00
Tim Ruffing
255d1ddd60
Remove TODOs for ffi functions for setting secp256k1 callbacks
...
We would not want to use these functions internally because we rely on
USE_EXTERNAL_DEFAULT_CALLBACKS to provide the callbacks at link time,
see f7a4a7ef57
. Moreover, we would not
want to export the functions either.
2019-08-20 14:47:33 +02:00
Elichai Turkel
8e701b75b2
Replacing usage of the unsafe `blank` function to the `new` function
...
Signed-off-by: Elichai Turkel <elichai.turkel@gmail.com>
2019-08-16 14:15:31 -04:00
Elichai Turkel
389e1e2449
Removing usage of `mem::uninitialized()` and deprecating the `blank()` functions
...
Signed-off-by: Elichai Turkel <elichai.turkel@gmail.com>
2019-08-16 14:15:27 -04:00
Elichai Turkel
16fc4ee3fc
Fixed the counter Rng
2019-08-13 10:41:39 -04:00
Steven Roose
0f25474805
Implement hex human-readable serde for PublicKey
2019-07-23 17:50:56 +02:00
Steven Roose
ccac3ead25
Implement fmt::LowerHex for SecretKey and PublicKey
2019-07-23 17:50:54 +02:00
Elichai Turkel
7356705b61
Added a test for create/destroy functions
2019-07-14 16:35:51 -04:00
Elichai Turkel
75784ec26f
Implemented context create/destroy in rust
2019-07-14 16:35:47 -04:00
Elichai Turkel
96ca40faed
Exposed generic functions to create the Context
2019-07-04 21:36:32 -04:00
Elichai Turkel
49f0cc1c46
Updated the fuzzing dummy functions
2019-07-04 19:13:26 -04:00
Elichai Turkel
811e8d24e9
Removed context_create/destroy/clone and scratch_create/destroy/clone functions.
2019-07-04 19:09:04 -04:00
Elichai Turkel
9186f0223a
Added preallocation size functions and added a test for the preallocation
2019-07-04 18:40:08 -04:00
Elichai Turkel
1c0ae7d4ba
Added structs and functions for manual allocation
2019-07-04 18:40:07 -04:00
Elichai Turkel
b4b52a9858
Moved the context specific traits/enums into a separate file with `std` gate
2019-07-04 18:40:07 -04:00
Elichai Turkel
5f93474512
Added the preallocated FFI
2019-07-04 18:40:04 -04:00
Elichai Turkel
68c5c5edbf
implemented strlen to deref the callback message
2019-07-03 17:50:16 -04:00
Elichai Turkel
8022757681
Added a c_char implementation
2019-07-03 17:48:35 -04:00
Elichai Turkel
f7a4a7ef57
Added manual external callbacks that panics
2019-07-03 17:48:35 -04:00
Jonas Nick
0e6ff34009
Fix imports when using recovery with fuzztarget feature
2019-05-29 00:02:11 +00:00
Elichai Turkel
be457afdae
Removed ffi call from Display implementation
2019-05-21 22:05:18 +03:00
Andrew Poelstra
0bf88fe444
Merge pull request #109 from jonasnick/human-sigs
...
Add human readable serialization to Signatures
2019-05-21 17:50:41 +00:00
Jonas Nick
ebf50df1d1
Add human readable serialization to Signatures
2019-05-21 10:34:18 +00:00
Jonas Nick
28934ab5a7
Only display existing signature bytes
2019-05-21 10:22:05 +00:00
Jonas Nick
16da1a854c
Move recovery ffi into recovery module and feature gate C-secp recovery module
2019-05-21 07:52:08 +00:00
Jonas Nick
c7eecd159e
Feature gate recovery module
2019-05-21 07:02:11 +00:00
Jonas Nick
264b368ee0
Move recovery to its own module
2019-05-20 19:11:59 +00:00
Jonas Nick
3825ed35a7
Add human readable serialization and deserialization to Secret Key
2019-05-14 11:15:18 +00:00
Tim Ruffing
ab4320f8cc
Merge pull request #100 from elichai/master
...
Add no-std support
2019-05-10 23:32:52 +02:00
Elichai Turkel
dfcf74f9d0
Added a new struct for the DER serialized signature
2019-05-11 00:11:42 +03:00
Andrew Poelstra
90faf434c9
Merge pull request #104 from alekseysidorov/fix_rand
...
Fix `Rand` trait bounds.
2019-05-01 01:47:43 +00:00
Elichai Turkel
312b9a55fc
Added Error::description copied c_void impl from core::ffi::c_void
2019-04-30 22:07:27 +03:00
Jonas Nick
91c43e7320
Add as_mut_ptr to PublicKey
2019-04-16 18:48:24 +00:00
Aleksei Sidorov
2536c5a3c4
Fix rand trait bounds.
2019-04-16 16:35:33 +03:00
Elichai Turkel
e98975a1c0
Added backwards support without the crate keyword
2019-04-14 12:09:43 +03:00
Elichai Turkel
ab8066eb1a
Replaced the std::os::raw c types with types.rs
2019-04-14 12:09:42 +03:00
Elichai Turkel
11ce86681f
Replaced std with core, and made std::error::Error optional through feature
2019-04-14 12:09:36 +03:00
Jonas Nick
6eaacb19c5
Add raw context getter to Secp256k1 struct
2019-03-01 19:39:55 +00:00
François Garillot
a8a3afe8db
Fix clippy errors
...
Changes include cargo-fix generated, Default impls
2019-02-25 20:12:25 -08:00
François Garillot
bafef68c56
Bumps rand to 0.6.3 & associated updates
2019-02-25 20:09:43 -08:00
Matt Corallo
f90e9f3454
Stop checking context flags for secp256k1_ecdh as its not required
2019-01-16 16:02:24 -05:00
Matt Corallo
a74cbb6781
Sync fuzztarget combine with tweak_add since real functions do that
...
Some new fuzz tests I was writing ended up failing because two
nodes came up with different keys because adding public keys and
adding a tweak to a private key and multiplying by the generator
should get the same thing.
2019-01-08 16:12:40 -05:00
Pierre Krieger
9c45944a5f
Remove dependency on libc
2018-12-27 14:39:54 +01:00
Tim Ruffing
b470f70e90
Merge pull request #57 from rust-bitcoin/2018-08-no-index
...
remove `ops::Index` impls for `Signature`
2018-12-03 14:27:08 +01:00
Andrew Poelstra
e5a02bd9a0
add `ThirtyTwoByteHash` hash trait which can be implemented for easier conversion of things to `Message`s
2018-11-10 13:12:10 +00:00
Andrew Poelstra
1f4a4c11a3
change add_*_assign and mul_*_assign to use a byteslice as a tweak, rather than a `SecretKey`
...
This makes more conceptual sense and does not add any new error paths, since even
valid `SecretKey`s were able to be invalid tweaks.
2018-11-10 13:08:18 +00:00
Andrew Poelstra
f93b959b4a
disallow Messages that are not valid secret keys to prevent mistakes related to 0
2018-11-10 13:05:11 +00:00
Andrew Poelstra
8d2347602a
remove `ops::Index` impls for `Signature`
2018-11-10 12:56:19 +00:00
Andrew Poelstra
7fbaf2f91b
remove unsafe ZERO_KEY and deprecated ONE
2018-11-10 12:56:19 +00:00
Andrew Poelstra
4b88cfc2fc
Merge pull request #78 from rust-bitcoin/2018-11-remove-without-caps
...
Update upstream libsecp; remove `without_caps` and all use of dummy contexts
2018-11-10 12:51:14 +00:00
Andrew Poelstra
8986aa3d71
export `serde`, `rand` and `libc`; update version to 0.11.5
2018-11-07 20:18:55 +00:00
Andrew Poelstra
223eb41fd0
remove context object from ECDH
2018-11-06 22:16:24 +00:00
Andrew Poelstra
93abca5896
remove `without_caps` and every function that used a cap-less context
2018-11-06 22:16:24 +00:00
Andrew Poelstra
4653100b7a
update upstream libsecp256k1 to 314a61d72474aa29ff4afba8472553ad91d88e9d
2018-11-06 22:16:13 +00:00
Andrew Poelstra
68c838f357
change `Debug` impl for `Signature` to use `Display`
2018-11-03 15:52:07 +00:00
Andrew Poelstra
30aa3a0c28
add `fmt::Display` and `str::FromStr` impls for `Signature`
2018-11-03 15:52:05 +00:00
Andrew Poelstra
572adb2873
add `FromStr` implementation for key types
2018-11-03 15:52:03 +00:00
Andrew Poelstra
a810880c54
restore missing `mem` import in key.rs
2018-08-22 20:43:20 +00:00
Andrew Poelstra
0d41c23c21
Revert "remove PublicKey::combine"
...
This reverts commit 17450e91fd
.
2018-08-22 20:18:25 +00:00
Andrew Poelstra
c773dfbc8d
remove unused import that was causing warning
2018-08-22 16:40:05 +00:00
Andrew Poelstra
2c18a16858
Merge pull request #50 from rust-bitcoin/2018-08-no-combine
...
remove PublicKey::combine
2018-08-21 18:36:27 +00:00
Andrew Poelstra
3563c5f305
Merge pull request #46 from rust-bitcoin/2018-08-context-debug
...
add Debug impl to context object
2018-08-20 18:34:13 +00:00
Andrew Poelstra
1f73a784cb
Merge pull request #52 from rust-bitcoin/2018-08-display-keys
...
add Display impl for the key types which outputs their hex representation
2018-08-20 18:32:53 +00:00
Andrew Poelstra
7a5617d01d
Merge pull request #44 from rust-bitcoin/2018-07-docs
...
improve documentation
2018-08-20 18:12:42 +00:00
Andrew Poelstra
93d8249028
improve documentation
2018-08-20 17:56:46 +00:00
Andrew Poelstra
7d2474b10a
add Display impl for the key types which outputs their hex representation
...
Since making PublicKey::serialize return a fixed-size array, this no longer
requires any allocation, so there's no reason not to have it.
2018-08-15 20:40:15 +00:00
Andrew Poelstra
17450e91fd
remove PublicKey::combine
2018-08-15 16:29:23 +00:00
Dimitris Apostolou
5c6dcf6b5e
Fix typo
2018-08-15 11:03:22 +03:00
Andrew Poelstra
83c7b6d9b7
add Debug impl to context object
2018-08-12 15:23:05 +00:00
Andrew Poelstra
2478930ec1
add feature-gated serde 1.0 support for Signature, SecretKey, PublicKey
2018-07-25 14:44:51 +00:00