Replace libsecp256k1 with secp256k1 (#10798)

* Replace libsecp256k1 with secp256k1

* Wipe ecdsa secret key from memory on drop

* Some comments for a known issue

* Safer core crypto primitives `from_slice` constructor

Previous version panics if slice lenght is not the expected one.

* Unit test fix

* Enable use of global secp256k1 context

* Better comments for ecdsa `Pair` drop

* Replace `libsecp256k1` with `seco256k1` in `beefy-mmr`

Used to convert ecdsa public key to ETH address

* Replace `libsecp256k1` with `secp256k1` in FRAME `contracts`benchmarks

* Temporary rollback of `beefy-mmr` to libsecp256k1

Check for detected build issues

* Cargo fmt

* Rollback of FRAME `contracts` benchmarks to `libsecp256k1`

* Rollback for unrelated changes

* Typo fix

* Add comments for deprecated `ecdsa_verify` and `secp256k1_ecdsa_recover`
This commit is contained in:
Davide Galassi
2022-02-26 22:00:00 +01:00
committed by GitHub
parent b77d3f917d
commit 4aab84cc42
10 changed files with 184 additions and 152 deletions
+21 -1
View File
@@ -8382,7 +8382,6 @@ version = "0.10.0-dev"
dependencies = [
"hex-literal",
"lazy_static",
"libsecp256k1",
"lru 0.6.6",
"parity-scale-codec",
"parking_lot 0.12.0",
@@ -9170,6 +9169,25 @@ dependencies = [
"zeroize",
]
[[package]]
name = "secp256k1"
version = "0.21.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab7883017d5b21f011ef8040ea9c6c7ac90834c0df26a69e4c0b06276151f125"
dependencies = [
"rand 0.6.5",
"secp256k1-sys",
]
[[package]]
name = "secp256k1-sys"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "957da2573cde917463ece3570eab4a0b3f19de6f1646cde62e6fd3868f566036"
dependencies = [
"cc",
]
[[package]]
name = "secrecy"
version = "0.8.0"
@@ -9817,6 +9835,7 @@ dependencies = [
"regex",
"scale-info",
"schnorrkel",
"secp256k1",
"secrecy",
"serde",
"serde_json",
@@ -9927,6 +9946,7 @@ dependencies = [
"log 0.4.14",
"parity-scale-codec",
"parking_lot 0.12.0",
"secp256k1",
"sp-core",
"sp-externalities",
"sp-keystore",