From 761fa20ba51f10fe84941cc06373672723ad191e Mon Sep 17 00:00:00 2001
From: drewstone <drewstone329@gmail.com>
Date: Tue, 6 Aug 2024 13:46:46 -0600
Subject: [PATCH] Remove redjubjub (#735)

---
 Cargo.lock                             | 219 +++++++++----------------
 Cargo.toml                             |   1 -
 frost/frost-redjubjub/Cargo.toml       |  42 -----
 frost/frost-redjubjub/src/constants.rs |  24 ---
 frost/frost-redjubjub/src/hash.rs      |  58 -------
 frost/frost-redjubjub/src/lib.rs       | 211 ------------------------
 frost/frost-redjubjub/src/types.rs     | 146 -----------------
 7 files changed, 77 insertions(+), 624 deletions(-)
 delete mode 100644 frost/frost-redjubjub/Cargo.toml
 delete mode 100644 frost/frost-redjubjub/src/constants.rs
 delete mode 100644 frost/frost-redjubjub/src/hash.rs
 delete mode 100644 frost/frost-redjubjub/src/lib.rs
 delete mode 100644 frost/frost-redjubjub/src/types.rs

diff --git a/Cargo.lock b/Cargo.lock
index b9fe6b907..9f3173cd7 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -103,7 +103,7 @@ dependencies = [
  "getrandom 0.2.15",
  "once_cell",
  "version_check",
- "zerocopy 0.7.35",
+ "zerocopy",
 ]
 
 [[package]]
@@ -1179,25 +1179,6 @@ dependencies = [
  "piper",
 ]
 
-[[package]]
-name = "bls12_381_plus"
-version = "0.8.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68ed5f583bb45888c562e1f117f7f20ce86a640f1163c38fe665ac7a71190861"
-dependencies = [
- "arrayref",
- "elliptic-curve",
- "ff",
- "group",
- "hex",
- "pairing",
- "rand_core 0.6.4",
- "serde",
- "sha2 0.10.8",
- "subtle 2.6.1",
- "zeroize",
-]
-
 [[package]]
 name = "bounded-collections"
 version = "0.1.9"
@@ -1290,9 +1271,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
 
 [[package]]
 name = "bytes"
-version = "1.7.0"
+version = "1.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fca2be1d5c43812bae364ee3f30b3afcb7877cf59f4aeb94c66f313a41d2fac9"
+checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50"
 dependencies = [
  "serde",
 ]
@@ -1526,9 +1507,9 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "4.5.11"
+version = "4.5.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "35723e6a11662c2afb578bcf0b88bf6ea8e21282a953428f240574fcc3a2b5b3"
+checksum = "0fbb260a053428790f3de475e304ff84cdbc4face759ea7a3e64c1edd938a7fc"
 dependencies = [
  "clap_builder",
  "clap_derive",
@@ -1536,9 +1517,9 @@ dependencies = [
 
 [[package]]
 name = "clap_builder"
-version = "4.5.11"
+version = "4.5.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49eb96cbfa7cfa35017b7cd548c75b14c3118c98b423041d70562665e07fb0fa"
+checksum = "64b17d7ea74e9f833c7dbf2cbe4fb12ff26783eda4782a8975b72f895c9b4d99"
 dependencies = [
  "anstream",
  "anstyle",
@@ -1549,9 +1530,9 @@ dependencies = [
 
 [[package]]
 name = "clap_derive"
-version = "4.5.11"
+version = "4.5.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d029b67f89d30bbb547c89fd5161293c0aec155fc691d7924b64550662db93e"
+checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0"
 dependencies = [
  "heck 0.5.0",
  "proc-macro2",
@@ -2531,7 +2512,7 @@ dependencies = [
  "regex",
  "syn 2.0.72",
  "termcolor",
- "toml 0.8.17",
+ "toml 0.8.19",
  "walkdir",
 ]
 
@@ -2561,9 +2542,9 @@ checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653"
 
 [[package]]
 name = "dunce"
-version = "1.0.4"
+version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b"
+checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813"
 
 [[package]]
 name = "dyn-clonable"
@@ -3017,9 +2998,9 @@ dependencies = [
 
 [[package]]
 name = "ethers"
-version = "2.0.13"
+version = "2.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c7cd562832e2ff584fa844cd2f6e5d4f35bbe11b28c7c9b8df957b2e1d0c701"
+checksum = "816841ea989f0c69e459af1cf23a6b0033b19a55424a1ea3a30099becdb8dec0"
 dependencies = [
  "ethers-addressbook",
  "ethers-contract",
@@ -3082,7 +3063,7 @@ dependencies = [
  "serde",
  "serde_json",
  "syn 2.0.72",
- "toml 0.8.17",
+ "toml 0.8.19",
  "walkdir",
 ]
 
@@ -3778,9 +3759,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
 
 [[package]]
 name = "flate2"
-version = "1.0.30"
+version = "1.0.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae"
+checksum = "7f211bbe8e69bbd0cfdea405084f128ae8b4aaa6b0b522fc8f2b009084797920"
 dependencies = [
  "crc32fast",
  "libz-sys",
@@ -4319,19 +4300,6 @@ dependencies = [
  "subtle 2.6.1",
 ]
 
-[[package]]
-name = "frost-redjubjub"
-version = "2.0.0"
-dependencies = [
- "blake2 0.10.6",
- "frost-core",
- "group",
- "jubjub",
- "parity-scale-codec 3.6.12",
- "rand_core 0.6.4",
- "subtle 2.6.1",
-]
-
 [[package]]
 name = "frost-ristretto255"
 version = "2.0.0"
@@ -5655,21 +5623,6 @@ dependencies = [
  "simple_asn1",
 ]
 
-[[package]]
-name = "jubjub"
-version = "0.10.4"
-source = "git+https://github.com/LIT-Protocol/jubjub.git#7f5e11a94c90bccf03c7c0e9c6c181b462076fee"
-dependencies = [
- "bitvec 1.0.1",
- "bls12_381_plus",
- "elliptic-curve",
- "ff",
- "group",
- "rand_chacha 0.3.1",
- "rand_core 0.6.4",
- "subtle 2.6.1",
-]
-
 [[package]]
 name = "k256"
 version = "0.13.3"
@@ -7257,15 +7210,6 @@ dependencies = [
  "primeorder 0.13.6 (git+https://github.com/LIT-Protocol/elliptic-curves.git)",
 ]
 
-[[package]]
-name = "pairing"
-version = "0.23.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81fec4625e73cf41ef4bb6846cafa6d44736525f442ba45e407c4a000a13996f"
-dependencies = [
- "group",
-]
-
 [[package]]
 name = "pallet-airdrop-claims"
 version = "2.0.0"
@@ -9446,11 +9390,11 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
 
 [[package]]
 name = "ppv-lite86"
-version = "0.2.18"
+version = "0.2.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dee4364d9f3b902ef14fab8a1ddffb783a1cb6b4bba3bfc1fa3922732c7de97f"
+checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04"
 dependencies = [
- "zerocopy 0.6.6",
+ "zerocopy",
 ]
 
 [[package]]
@@ -10129,9 +10073,9 @@ dependencies = [
 
 [[package]]
 name = "regex"
-version = "1.10.5"
+version = "1.10.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f"
+checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -10669,9 +10613,9 @@ dependencies = [
 
 [[package]]
 name = "rustls-pki-types"
-version = "1.7.0"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d"
+checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0"
 
 [[package]]
 name = "rustls-platform-verifier"
@@ -12173,9 +12117,9 @@ dependencies = [
 
 [[package]]
 name = "serde_json"
-version = "1.0.121"
+version = "1.0.122"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ab380d7d9f22ef3f21ad3e6c1ebe8e4fc7a2000ccba2e4d71fc96f15b2cb609"
+checksum = "784b6203951c57ff748476b126ccb5e8e2959a5c19e5c617ab1956be3dbc68da"
 dependencies = [
  "itoa",
  "memchr",
@@ -12916,7 +12860,7 @@ dependencies = [
 [[package]]
 name = "sp-crypto-ec-utils"
 version = "0.10.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#7d0aa89653d5073081a949eca1de2ca2d42a9e98"
+source = "git+https://github.com/paritytech/polkadot-sdk#291c082cbbb0c838c886f38040e54424c55d9618"
 dependencies = [
  "ark-bls12-377",
  "ark-bls12-377-ext",
@@ -12992,7 +12936,7 @@ dependencies = [
 [[package]]
 name = "sp-debug-derive"
 version = "14.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#7d0aa89653d5073081a949eca1de2ca2d42a9e98"
+source = "git+https://github.com/paritytech/polkadot-sdk#291c082cbbb0c838c886f38040e54424c55d9618"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -13013,7 +12957,7 @@ dependencies = [
 [[package]]
 name = "sp-externalities"
 version = "0.25.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#7d0aa89653d5073081a949eca1de2ca2d42a9e98"
+source = "git+https://github.com/paritytech/polkadot-sdk#291c082cbbb0c838c886f38040e54424c55d9618"
 dependencies = [
  "environmental",
  "parity-scale-codec 3.6.12",
@@ -13213,7 +13157,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime-interface"
 version = "24.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#7d0aa89653d5073081a949eca1de2ca2d42a9e98"
+source = "git+https://github.com/paritytech/polkadot-sdk#291c082cbbb0c838c886f38040e54424c55d9618"
 dependencies = [
  "bytes",
  "impl-trait-for-tuples",
@@ -13245,7 +13189,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime-interface-proc-macro"
 version = "17.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#7d0aa89653d5073081a949eca1de2ca2d42a9e98"
+source = "git+https://github.com/paritytech/polkadot-sdk#291c082cbbb0c838c886f38040e54424c55d9618"
 dependencies = [
  "Inflector",
  "expander",
@@ -13338,7 +13282,7 @@ source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot
 [[package]]
 name = "sp-std"
 version = "14.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#7d0aa89653d5073081a949eca1de2ca2d42a9e98"
+source = "git+https://github.com/paritytech/polkadot-sdk#291c082cbbb0c838c886f38040e54424c55d9618"
 
 [[package]]
 name = "sp-storage"
@@ -13356,7 +13300,7 @@ dependencies = [
 [[package]]
 name = "sp-storage"
 version = "19.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#7d0aa89653d5073081a949eca1de2ca2d42a9e98"
+source = "git+https://github.com/paritytech/polkadot-sdk#291c082cbbb0c838c886f38040e54424c55d9618"
 dependencies = [
  "impl-serde",
  "parity-scale-codec 3.6.12",
@@ -13393,7 +13337,7 @@ dependencies = [
 [[package]]
 name = "sp-tracing"
 version = "16.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#7d0aa89653d5073081a949eca1de2ca2d42a9e98"
+source = "git+https://github.com/paritytech/polkadot-sdk#291c082cbbb0c838c886f38040e54424c55d9618"
 dependencies = [
  "parity-scale-codec 3.6.12",
  "tracing",
@@ -13493,7 +13437,7 @@ dependencies = [
 [[package]]
 name = "sp-wasm-interface"
 version = "20.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#7d0aa89653d5073081a949eca1de2ca2d42a9e98"
+source = "git+https://github.com/paritytech/polkadot-sdk#291c082cbbb0c838c886f38040e54424c55d9618"
 dependencies = [
  "impl-trait-for-tuples",
  "log",
@@ -14007,7 +13951,7 @@ dependencies = [
  "sp-version",
  "strum 0.24.1",
  "tempfile",
- "toml 0.8.17",
+ "toml 0.8.19",
  "walkdir",
  "wasm-opt",
 ]
@@ -14197,7 +14141,7 @@ dependencies = [
 [[package]]
 name = "sygma-access-segregator"
 version = "0.2.0"
-source = "git+https://github.com/sygmaprotocol/sygma-substrate-pallets?branch=release-polkadot-v1.7.0#056f79acab07689eb879b16f8d51cea257153d7d"
+source = "git+https://github.com/sygmaprotocol/sygma-substrate-pallets?branch=release-polkadot-v1.7.0#35dce85c5314ee842e6fd00f79183e1bb5514dd8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -14210,7 +14154,7 @@ dependencies = [
 [[package]]
 name = "sygma-basic-feehandler"
 version = "0.3.0"
-source = "git+https://github.com/sygmaprotocol/sygma-substrate-pallets?branch=release-polkadot-v1.7.0#056f79acab07689eb879b16f8d51cea257153d7d"
+source = "git+https://github.com/sygmaprotocol/sygma-substrate-pallets?branch=release-polkadot-v1.7.0#35dce85c5314ee842e6fd00f79183e1bb5514dd8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -14227,7 +14171,7 @@ dependencies = [
 [[package]]
 name = "sygma-bridge"
 version = "0.3.0"
-source = "git+https://github.com/sygmaprotocol/sygma-substrate-pallets?branch=release-polkadot-v1.7.0#056f79acab07689eb879b16f8d51cea257153d7d"
+source = "git+https://github.com/sygmaprotocol/sygma-substrate-pallets?branch=release-polkadot-v1.7.0#35dce85c5314ee842e6fd00f79183e1bb5514dd8"
 dependencies = [
  "arrayref",
  "bounded-collections 0.1.9",
@@ -14268,7 +14212,7 @@ dependencies = [
 [[package]]
 name = "sygma-bridge-forwarder"
 version = "0.3.0"
-source = "git+https://github.com/sygmaprotocol/sygma-substrate-pallets?branch=release-polkadot-v1.7.0#056f79acab07689eb879b16f8d51cea257153d7d"
+source = "git+https://github.com/sygmaprotocol/sygma-substrate-pallets?branch=release-polkadot-v1.7.0#35dce85c5314ee842e6fd00f79183e1bb5514dd8"
 dependencies = [
  "cumulus-pallet-xcm",
  "cumulus-primitives-core",
@@ -14291,7 +14235,7 @@ dependencies = [
 [[package]]
 name = "sygma-fee-handler-router"
 version = "0.3.0"
-source = "git+https://github.com/sygmaprotocol/sygma-substrate-pallets?branch=release-polkadot-v1.7.0#056f79acab07689eb879b16f8d51cea257153d7d"
+source = "git+https://github.com/sygmaprotocol/sygma-substrate-pallets?branch=release-polkadot-v1.7.0#35dce85c5314ee842e6fd00f79183e1bb5514dd8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -14310,7 +14254,7 @@ dependencies = [
 [[package]]
 name = "sygma-percentage-feehandler"
 version = "0.3.0"
-source = "git+https://github.com/sygmaprotocol/sygma-substrate-pallets?branch=release-polkadot-v1.7.0#056f79acab07689eb879b16f8d51cea257153d7d"
+source = "git+https://github.com/sygmaprotocol/sygma-substrate-pallets?branch=release-polkadot-v1.7.0#35dce85c5314ee842e6fd00f79183e1bb5514dd8"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -14327,7 +14271,7 @@ dependencies = [
 [[package]]
 name = "sygma-rpc"
 version = "0.2.1"
-source = "git+https://github.com/sygmaprotocol/sygma-substrate-pallets?branch=release-polkadot-v1.7.0#056f79acab07689eb879b16f8d51cea257153d7d"
+source = "git+https://github.com/sygmaprotocol/sygma-substrate-pallets?branch=release-polkadot-v1.7.0#35dce85c5314ee842e6fd00f79183e1bb5514dd8"
 dependencies = [
  "jsonrpsee 0.20.3",
  "parity-scale-codec 3.6.12",
@@ -14344,7 +14288,7 @@ dependencies = [
 [[package]]
 name = "sygma-runtime-api"
 version = "0.2.1"
-source = "git+https://github.com/sygmaprotocol/sygma-substrate-pallets?branch=release-polkadot-v1.7.0#056f79acab07689eb879b16f8d51cea257153d7d"
+source = "git+https://github.com/sygmaprotocol/sygma-substrate-pallets?branch=release-polkadot-v1.7.0#35dce85c5314ee842e6fd00f79183e1bb5514dd8"
 dependencies = [
  "sp-api",
  "sygma-bridge",
@@ -14354,7 +14298,7 @@ dependencies = [
 [[package]]
 name = "sygma-traits"
 version = "0.2.0"
-source = "git+https://github.com/sygmaprotocol/sygma-substrate-pallets?branch=release-polkadot-v1.7.0#056f79acab07689eb879b16f8d51cea257153d7d"
+source = "git+https://github.com/sygmaprotocol/sygma-substrate-pallets?branch=release-polkadot-v1.7.0#35dce85c5314ee842e6fd00f79183e1bb5514dd8"
 dependencies = [
  "ethabi 18.0.0",
  "frame-support",
@@ -14369,7 +14313,7 @@ dependencies = [
 [[package]]
 name = "sygma-xcm-bridge"
 version = "0.3.0"
-source = "git+https://github.com/sygmaprotocol/sygma-substrate-pallets?branch=release-polkadot-v1.7.0#056f79acab07689eb879b16f8d51cea257153d7d"
+source = "git+https://github.com/sygmaprotocol/sygma-substrate-pallets?branch=release-polkadot-v1.7.0#35dce85c5314ee842e6fd00f79183e1bb5514dd8"
 dependencies = [
  "cumulus-pallet-xcm",
  "cumulus-primitives-core",
@@ -14828,12 +14772,13 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1"
 
 [[package]]
 name = "tempfile"
-version = "3.10.1"
+version = "3.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
+checksum = "b8fcd239983515c23a32fb82099f97d0b11b8c72f654ed659363a95c3dad7a53"
 dependencies = [
  "cfg-if",
  "fastrand",
+ "once_cell",
  "rustix 0.38.34",
  "windows-sys 0.52.0",
 ]
@@ -15097,14 +15042,14 @@ dependencies = [
 
 [[package]]
 name = "toml"
-version = "0.8.17"
+version = "0.8.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a44eede9b727419af8095cb2d72fab15487a541f54647ad4414b34096ee4631"
+checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e"
 dependencies = [
  "serde",
  "serde_spanned",
  "toml_datetime",
- "toml_edit 0.22.18",
+ "toml_edit 0.22.20",
 ]
 
 [[package]]
@@ -15129,15 +15074,15 @@ dependencies = [
 
 [[package]]
 name = "toml_edit"
-version = "0.22.18"
+version = "0.22.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1490595c74d930da779e944f5ba2ecdf538af67df1a9848cbd156af43c1b7cf0"
+checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d"
 dependencies = [
  "indexmap 2.3.0",
  "serde",
  "serde_spanned",
  "toml_datetime",
- "winnow 0.6.16",
+ "winnow 0.6.18",
 ]
 
 [[package]]
@@ -15296,6 +15241,7 @@ dependencies = [
  "sharded-slab",
  "smallvec",
  "thread_local",
+ "time",
  "tracing",
  "tracing-core",
  "tracing-log 0.2.0",
@@ -15377,16 +15323,16 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
 
 [[package]]
 name = "trybuild"
-version = "1.0.98"
+version = "1.0.99"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b55265878356bdd85c9baa15859c87de93b2bf1f33acf752040a561e4a228f62"
+checksum = "207aa50d36c4be8d8c6ea829478be44a372c6a77669937bb39c698e52f1491e8"
 dependencies = [
  "glob",
  "serde",
  "serde_derive",
  "serde_json",
  "termcolor",
- "toml 0.8.17",
+ "toml 0.8.19",
 ]
 
 [[package]]
@@ -16140,11 +16086,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 
 [[package]]
 name = "winapi-util"
-version = "0.1.8"
+version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b"
+checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
 dependencies = [
- "windows-sys 0.52.0",
+ "windows-sys 0.59.0",
 ]
 
 [[package]]
@@ -16208,6 +16154,15 @@ dependencies = [
  "windows-targets 0.52.6",
 ]
 
+[[package]]
+name = "windows-sys"
+version = "0.59.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
+dependencies = [
+ "windows-targets 0.52.6",
+]
+
 [[package]]
 name = "windows-targets"
 version = "0.42.2"
@@ -16397,9 +16352,9 @@ dependencies = [
 
 [[package]]
 name = "winnow"
-version = "0.6.16"
+version = "0.6.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b480ae9340fc261e6be3e95a1ba86d54ae3f9171132a73ce8d4bbaf68339507c"
+checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f"
 dependencies = [
  "memchr",
 ]
@@ -16535,34 +16490,14 @@ dependencies = [
  "time",
 ]
 
-[[package]]
-name = "zerocopy"
-version = "0.6.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "854e949ac82d619ee9a14c66a1b674ac730422372ccb759ce0c39cabcf2bf8e6"
-dependencies = [
- "byteorder",
- "zerocopy-derive 0.6.6",
-]
-
 [[package]]
 name = "zerocopy"
 version = "0.7.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0"
 dependencies = [
- "zerocopy-derive 0.7.35",
-]
-
-[[package]]
-name = "zerocopy-derive"
-version = "0.6.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "125139de3f6b9d625c39e2efdd73d41bdac468ccd556556440e322be0e1bbd91"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.72",
+ "byteorder",
+ "zerocopy-derive",
 ]
 
 [[package]]
@@ -16656,9 +16591,9 @@ dependencies = [
 
 [[package]]
 name = "zstd-sys"
-version = "2.0.12+zstd.1.5.6"
+version = "2.0.13+zstd.1.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a4e40c320c3cb459d9a9ff6de98cff88f4751ee9275d140e2be94a2b74e4c13"
+checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa"
 dependencies = [
  "cc",
  "pkg-config",
diff --git a/Cargo.toml b/Cargo.toml
index 883a4f32f..78108da5a 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -132,7 +132,6 @@ frost-ristretto255 = { path = "frost/frost-ristretto255", default-features = fal
 frost-secp256k1 = { path = "frost/frost-secp256k1", default-features = false }
 frost-p256 = { path = "frost/frost-p256", default-features = false }
 frost-p384 = { path = "frost/frost-p384", default-features = false }
-frost-redjubjub = { path = "frost/frost-redjubjub", default-features = false }
 frost-taproot = { path = "frost/frost-taproot", default-features = false }
 
 # Substrate dependencies
diff --git a/frost/frost-redjubjub/Cargo.toml b/frost/frost-redjubjub/Cargo.toml
deleted file mode 100644
index 3fd9aef31..000000000
--- a/frost/frost-redjubjub/Cargo.toml
+++ /dev/null
@@ -1,42 +0,0 @@
-[package]
-name = "frost-redjubjub"
-edition = "2021"
-# When releasing to crates.io:
-# - Update html_root_url
-# - Update CHANGELOG.md
-# - Create git tag.
-version.workspace = true
-authors = [
-    "Deirdre Connolly <durumcrustulum@gmail.com>",
-    "Chelsea Komlo <me@chelseakomlo.com>",
-    "Conrado Gouvea <conradoplg@gmail.com>"
-]
-readme = "README.md"
-license = "MIT OR Apache-2.0"
-categories = ["cryptography"]
-keywords = ["cryptography", "crypto", "ed25519", "threshold", "signature"]
-description = "A Schnorr signature scheme over Ed25519 that supports FROST."
-
-[package.metadata.docs.rs]
-features = ["serde"]
-rustdoc-args = ["--cfg", "docsrs"]
-
-[dependencies]
-# blake2b_simd = { version = "1", default-features = false }
-blake2 = { version = "0.10.6", default-features = false }
-parity-scale-codec = { workspace = true }
-jubjub = { version = "0.10", git = "https://github.com/LIT-Protocol/jubjub.git", features = ["alloc"], default-features = false }
-group = { version = "0.13", features = ["alloc"], default-features = false }
-frost-core = { workspace = true }
-rand_core = { workspace = true, optional = true }
-subtle = { workspace = true }
-
-[features]
-default = ["std"]
-std = [
-    "rand_core/std",
-    "parity-scale-codec/std",
-    "jubjub/std",
-    "blake2/std",
-    # "blake2b_simd/std",
-]
\ No newline at end of file
diff --git a/frost/frost-redjubjub/src/constants.rs b/frost/frost-redjubjub/src/constants.rs
deleted file mode 100644
index c8bb00572..000000000
--- a/frost/frost-redjubjub/src/constants.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-// -*- mode: rust; -*-
-//
-// This file is part of reddsa.
-// Copyright (c) 2019-2021 Zcash Foundation
-// See LICENSE for licensing information.
-//
-// Authors:
-// - Henry de Valence <hdevalence@hdevalence.ca>
-
-// /// The byte-encoding of the basepoint for `SpendAuthSig`.
-// // Extracted ad-hoc from librustzcash
-// // XXX add tests for this value.
-pub const SPENDAUTHSIG_BASEPOINT_BYTES: [u8; 32] = [
-	48, 181, 242, 170, 173, 50, 86, 48, 188, 221, 219, 206, 77, 103, 101, 109, 5, 253, 28, 194,
-	208, 55, 187, 83, 117, 182, 233, 109, 158, 1, 161, 215,
-];
-
-// /// The byte-encoding of the basepoint for `BindingSig`.
-// // Extracted ad-hoc from librustzcash
-// // XXX add tests for this value.
-// pub const BINDINGSIG_BASEPOINT_BYTES: [u8; 32] = [
-//     139, 106, 11, 56, 185, 250, 174, 60, 59, 128, 59, 71, 176, 241, 70, 173, 80, 171, 34, 30,
-// 110,     42, 251, 230, 219, 222, 69, 203, 169, 211, 129, 237,
-// ];
diff --git a/frost/frost-redjubjub/src/hash.rs b/frost/frost-redjubjub/src/hash.rs
deleted file mode 100644
index 7dabb44f1..000000000
--- a/frost/frost-redjubjub/src/hash.rs
+++ /dev/null
@@ -1,58 +0,0 @@
-// -*- mode: rust; -*-
-//
-// This file was part of reddsa.
-// With updates made to support FROST.
-// Copyright (c) 2019-2021 Zcash Foundation
-// See LICENSE for licensing information.
-//
-// Authors:
-// - Deirdre Connolly <deirdre@zfnd.org>
-// - Henry de Valence <hdevalence@hdevalence.ca>
-
-use blake2::{
-	digest::{Mac, Update},
-	Blake2bMac512,
-};
-
-/// Provides H^star, the hash-to-scalar function used by RedDSA.
-pub struct HStar {
-	pub(crate) state: Blake2bMac512,
-}
-
-impl Default for HStar {
-	fn default() -> Self {
-		let persona = b"Zcash_RedJubjubH";
-		let state = Blake2bMac512::new_with_salt_and_personal(&[], &[], persona).unwrap();
-		Self { state }
-	}
-}
-
-impl HStar {
-	// Only used by FROST code
-	#[allow(unused)]
-	pub(crate) fn new(personalization_string: &[u8]) -> Self {
-		let state =
-			Blake2bMac512::new_with_salt_and_personal(&[], &[], personalization_string).unwrap();
-		Self { state }
-	}
-
-	/// Add `data` to the hash, and return `Self` for chaining.
-	pub fn update(&mut self, data: impl AsRef<[u8]>) -> &mut Self {
-		Update::update(&mut self.state, data.as_ref());
-		self
-	}
-
-	/// Consume `self` to compute the hash output.
-	pub fn finalize(&self) -> jubjub::Scalar {
-		jubjub::Scalar::from_bytes_wide(
-			self.state
-				.clone()
-				.finalize()
-				.into_bytes()
-				.to_vec()
-				.as_slice()
-				.try_into()
-				.unwrap_or(&[0u8; 64]),
-		)
-	}
-}
diff --git a/frost/frost-redjubjub/src/lib.rs b/frost/frost-redjubjub/src/lib.rs
deleted file mode 100644
index 4d96491df..000000000
--- a/frost/frost-redjubjub/src/lib.rs
+++ /dev/null
@@ -1,211 +0,0 @@
-#![cfg_attr(not(feature = "std"), no_std)]
-extern crate alloc;
-
-mod constants;
-mod hash;
-pub mod types;
-use blake2::digest::Mac;
-pub use types::*;
-
-use crate::alloc::borrow::ToOwned;
-use group::{
-	cofactor::CofactorGroup,
-	ff::{Field as FFField, PrimeField},
-	Group as GGroup, GroupEncoding,
-};
-use jubjub::{ExtendedPoint, SubgroupPoint};
-
-// Re-exports in our public API
-pub use frost_core::{
-	error::{FieldError, GroupError},
-	traits::{Ciphersuite, Field, Group},
-};
-
-#[cfg(feature = "std")]
-use rand_core::{CryptoRng, RngCore};
-
-use crate::hash::HStar;
-
-/// The context string for FROST(Jubjub, BLAKE2b-512).
-/// TODO: this hasn't been formalized yet, so it's subject to change.
-const CONTEXT_STRING: &str = "FROST-RedJubjub-BLAKE2b-512-v1";
-
-fn hash_to_array(inputs: &[&[u8]]) -> [u8; 64] {
-	let mut state = HStar::default();
-	for i in &inputs[1..] {
-		state.update(i);
-	}
-	*state
-		.state
-		.finalize()
-		.into_bytes()
-		.to_vec()
-		.as_slice()
-		.try_into()
-		.unwrap_or(&[0u8; 64])
-}
-fn hash_to_scalar(domain: &[u8], msg: &[u8]) -> jubjub::Scalar {
-	HStar::default().update(domain).update(msg).finalize()
-}
-
-/// An implementation of the FROST(Jubjub, BLAKE2b-512) ciphersuite scalar field.
-#[derive(Clone, Copy)]
-pub struct JubjubScalarField;
-
-impl Field for JubjubScalarField {
-	type Scalar = WrappedScalar;
-
-	type Serialization = [u8; 32];
-
-	fn zero() -> Self::Scalar {
-		WrappedScalar(jubjub::Scalar::zero())
-	}
-
-	fn one() -> Self::Scalar {
-		WrappedScalar(jubjub::Scalar::one())
-	}
-
-	fn invert(scalar: &Self::Scalar) -> Result<Self::Scalar, FieldError> {
-		// [`Jubjub::Scalar`]'s Eq/PartialEq does a constant-time comparison using
-		// `ConstantTimeEq`
-		if *scalar == <Self as Field>::zero() {
-			Err(FieldError::InvalidZeroScalar)
-		} else {
-			Ok(WrappedScalar(jubjub::Scalar::invert(&scalar.0).unwrap()))
-		}
-	}
-
-	#[cfg(feature = "std")]
-	fn random<R: RngCore + CryptoRng>(rng: &mut R) -> Self::Scalar {
-		WrappedScalar(jubjub::Scalar::random(rng))
-	}
-
-	fn serialize(scalar: &Self::Scalar) -> Self::Serialization {
-		scalar.0.to_bytes()
-	}
-
-	fn little_endian_serialize(scalar: &Self::Scalar) -> Self::Serialization {
-		Self::serialize(scalar)
-	}
-
-	fn deserialize(buf: &Self::Serialization) -> Result<Self::Scalar, FieldError> {
-		match jubjub::Scalar::from_repr(*buf).into() {
-			Some(s) => Ok(WrappedScalar(s)),
-			None => Err(FieldError::MalformedScalar),
-		}
-	}
-}
-
-/// An implementation of the FROST(Jubjub, BLAKE2b-512) ciphersuite group.
-#[derive(Clone, Copy, PartialEq, Eq)]
-pub struct JubjubGroup;
-
-impl Group for JubjubGroup {
-	type Field = JubjubScalarField;
-
-	type Element = WrappedSubgroupPoint;
-
-	type Serialization = [u8; 32];
-
-	fn cofactor() -> <Self::Field as Field>::Scalar {
-		Self::Field::one()
-	}
-
-	fn identity() -> Self::Element {
-		WrappedSubgroupPoint(SubgroupPoint::identity())
-	}
-
-	fn generator() -> Self::Element {
-		let pt: ExtendedPoint =
-			jubjub::AffinePoint::from_bytes(&constants::SPENDAUTHSIG_BASEPOINT_BYTES)
-				.unwrap()
-				.into();
-		WrappedSubgroupPoint(pt.into_subgroup().unwrap())
-	}
-
-	fn serialize(element: &Self::Element) -> Self::Serialization {
-		element.0.to_bytes()
-	}
-
-	fn deserialize(buf: &Self::Serialization) -> Result<Self::Element, GroupError> {
-		let point = SubgroupPoint::from_bytes(buf);
-
-		match Option::<SubgroupPoint>::from(point) {
-			Some(point) => {
-				if point == SubgroupPoint::identity() {
-					Err(GroupError::InvalidIdentityElement)
-				} else {
-					Ok(WrappedSubgroupPoint(point))
-				}
-			},
-			None => Err(GroupError::MalformedElement),
-		}
-	}
-}
-
-/// An implementation of the FROST(Jubjub, BLAKE2b-512) ciphersuite.
-#[derive(Clone, Copy, Default, PartialEq, Eq, Debug)]
-pub struct JubjubBlake2b512;
-
-impl Ciphersuite for JubjubBlake2b512 {
-	const ID: &'static str = CONTEXT_STRING;
-
-	type Group = JubjubGroup;
-
-	type HashOutput = [u8; 64];
-
-	type SignatureSerialization = [u8; 64];
-
-	/// H1 for FROST(Jubjub, BLAKE2b-512)
-	fn H1(m: &[u8]) -> <<Self::Group as Group>::Field as Field>::Scalar {
-		WrappedScalar(hash_to_scalar((CONTEXT_STRING.to_owned() + "rho").as_bytes(), m))
-	}
-
-	/// H2 for FROST(Jubjub, BLAKE2b-512)
-	fn H2(m: &[u8]) -> <<Self::Group as Group>::Field as Field>::Scalar {
-		WrappedScalar(HStar::default().update(m).finalize())
-	}
-
-	/// H3 for FROST(Jubjub, BLAKE2b-512)
-	fn H3(m: &[u8]) -> <<Self::Group as Group>::Field as Field>::Scalar {
-		WrappedScalar(hash_to_scalar((CONTEXT_STRING.to_owned() + "nonce").as_bytes(), m))
-	}
-
-	/// H4 for FROST(Jubjub, BLAKE2b-512)
-	fn H4(m: &[u8]) -> Self::HashOutput {
-		hash_to_array(&[CONTEXT_STRING.as_bytes(), b"msg", m])
-	}
-
-	/// H5 for FROST(Jubjub, BLAKE2b-512)
-	fn H5(m: &[u8]) -> Self::HashOutput {
-		hash_to_array(&[CONTEXT_STRING.as_bytes(), b"com", m])
-	}
-
-	/// HDKG for FROST(Jubjub, BLAKE2b-512)
-	fn HDKG(m: &[u8]) -> Option<<<Self::Group as Group>::Field as Field>::Scalar> {
-		Some(WrappedScalar(hash_to_scalar((CONTEXT_STRING.to_owned() + "dkg").as_bytes(), m)))
-	}
-
-	/// HID for FROST(Jubjub, BLAKE2b-512)
-	fn HID(m: &[u8]) -> Option<<<Self::Group as Group>::Field as Field>::Scalar> {
-		Some(WrappedScalar(hash_to_scalar((CONTEXT_STRING.to_owned() + "id").as_bytes(), m)))
-	}
-}
-
-#[cfg(test)]
-mod tests {
-	use super::*;
-	use frost_core::{signing_key::SigningKey, verifying_key::VerifyingKey};
-
-	#[test]
-	fn test_sign_and_verify() {
-		let mut rng = rand_core::OsRng;
-
-		let sk = SigningKey::<JubjubBlake2b512>::new(&mut rng);
-		let vk = VerifyingKey::<JubjubBlake2b512>::from(sk);
-
-		let msg = b"Hello, world!";
-		let signature = sk.sign(rng, msg);
-		assert!(vk.verify(msg, &signature).is_ok());
-	}
-}
diff --git a/frost/frost-redjubjub/src/types.rs b/frost/frost-redjubjub/src/types.rs
deleted file mode 100644
index 47757a2ec..000000000
--- a/frost/frost-redjubjub/src/types.rs
+++ /dev/null
@@ -1,146 +0,0 @@
-use core::ops::{Add, Mul, Neg, Sub};
-
-use group::{ff::Field as FFField, GroupEncoding};
-use jubjub::{Scalar, SubgroupPoint};
-use parity_scale_codec::{Decode, Encode};
-use subtle::{Choice, ConditionallyNegatable, ConditionallySelectable};
-
-/// A wrapper around a [`ed448_goldilocks::Scalar`] to implement the [`Encode`,`Decode`]
-/// traits.
-#[derive(Clone, Copy, PartialEq, Eq, Debug)]
-pub struct WrappedScalar(pub Scalar);
-
-impl Encode for WrappedScalar {
-	fn size_hint(&self) -> usize {
-		32
-	}
-
-	fn encode_to<W: parity_scale_codec::Output + ?Sized>(&self, dest: &mut W) {
-		dest.write(self.0.to_bytes().as_ref());
-	}
-}
-
-impl Decode for WrappedScalar {
-	fn decode<I: parity_scale_codec::Input>(
-		input: &mut I,
-	) -> Result<Self, parity_scale_codec::Error> {
-		let mut bytes = [0u8; 32];
-		input.read(&mut bytes)?;
-		Ok(WrappedScalar(Scalar::from_bytes(&bytes).unwrap_or(Scalar::ZERO)))
-	}
-}
-
-impl Sub for WrappedScalar {
-	type Output = WrappedScalar;
-
-	fn sub(self, rhs: WrappedScalar) -> WrappedScalar {
-		WrappedScalar(self.0 - rhs.0)
-	}
-}
-
-impl Add for WrappedScalar {
-	type Output = WrappedScalar;
-
-	fn add(self, rhs: WrappedScalar) -> WrappedScalar {
-		WrappedScalar(self.0 + rhs.0)
-	}
-}
-
-impl Mul<WrappedScalar> for WrappedScalar {
-	type Output = WrappedScalar;
-
-	fn mul(self, rhs: WrappedScalar) -> WrappedScalar {
-		WrappedScalar(self.0 * rhs.0)
-	}
-}
-
-impl Neg for WrappedScalar {
-	type Output = WrappedScalar;
-
-	fn neg(self) -> WrappedScalar {
-		WrappedScalar(-self.0)
-	}
-}
-
-impl ConditionallySelectable for WrappedScalar {
-	fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self {
-		WrappedScalar(Scalar::conditional_select(&a.0, &b.0, choice))
-	}
-}
-
-impl ConditionallyNegatable for WrappedScalar {
-	fn conditional_negate(&mut self, choice: Choice) {
-		self.0.conditional_negate(choice);
-	}
-}
-
-/// A wrapper around a [`curve25519_dalek::edwards::EdwardsPoint`] to implement the
-/// [`Encode`,`Decode`] traits.
-#[derive(Clone, Copy, PartialEq, Eq, Debug)]
-pub struct WrappedSubgroupPoint(pub SubgroupPoint);
-
-impl Encode for WrappedSubgroupPoint {
-	fn size_hint(&self) -> usize {
-		32
-	}
-
-	fn encode_to<W: parity_scale_codec::Output + ?Sized>(&self, dest: &mut W) {
-		dest.write(self.0.to_bytes().as_ref());
-	}
-}
-
-impl Decode for WrappedSubgroupPoint {
-	fn decode<I: parity_scale_codec::Input>(
-		input: &mut I,
-	) -> Result<Self, parity_scale_codec::Error> {
-		let mut bytes = [0u8; 32];
-		input.read(&mut bytes)?;
-		Ok(WrappedSubgroupPoint(
-			SubgroupPoint::from_bytes(&bytes).unwrap_or(SubgroupPoint::default()),
-		))
-	}
-}
-
-impl Sub for WrappedSubgroupPoint {
-	type Output = WrappedSubgroupPoint;
-
-	fn sub(self, rhs: WrappedSubgroupPoint) -> WrappedSubgroupPoint {
-		WrappedSubgroupPoint(self.0 - rhs.0)
-	}
-}
-
-impl Add for WrappedSubgroupPoint {
-	type Output = WrappedSubgroupPoint;
-
-	fn add(self, rhs: WrappedSubgroupPoint) -> WrappedSubgroupPoint {
-		WrappedSubgroupPoint(self.0 + rhs.0)
-	}
-}
-
-impl Mul<WrappedScalar> for WrappedSubgroupPoint {
-	type Output = WrappedSubgroupPoint;
-
-	fn mul(self, rhs: WrappedScalar) -> WrappedSubgroupPoint {
-		WrappedSubgroupPoint(self.0 * rhs.0)
-	}
-}
-
-impl Neg for WrappedSubgroupPoint {
-	type Output = WrappedSubgroupPoint;
-
-	fn neg(self) -> WrappedSubgroupPoint {
-		WrappedSubgroupPoint(-self.0)
-	}
-}
-
-impl ConditionallySelectable for WrappedSubgroupPoint {
-	fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self {
-		WrappedSubgroupPoint(SubgroupPoint::conditional_select(&a.0, &b.0, choice))
-	}
-}
-
-impl ConditionallyNegatable for WrappedSubgroupPoint {
-	fn conditional_negate(&mut self, choice: Choice) {
-		self.0.conditional_negate(choice);
-	}
-}