mirror of
https://github.com/serai-dex/serai.git
synced 2025-12-08 20:29:23 +00:00
Merge branch 'next' into next-polkadot-sdk
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
use ciphersuite::Ciphersuite;
|
||||
use ciphersuite::*;
|
||||
use dkg::{ThresholdKeys, Curves, Secp256k1};
|
||||
|
||||
use ethereum_schnorr::PublicKey;
|
||||
@@ -13,19 +13,19 @@ impl key_gen::KeyGenParams for KeyGenParams {
|
||||
keys: &mut ThresholdKeys<<Self::ExternalNetworkCiphersuite as Curves>::ToweringCurve>,
|
||||
) {
|
||||
while PublicKey::new(keys.group_key()).is_none() {
|
||||
*keys = keys.clone().offset(<<Secp256k1 as Curves>::ToweringCurve as Ciphersuite>::F::ONE);
|
||||
*keys = keys.clone().offset(<<Secp256k1 as Curves>::ToweringCurve as WrappedGroup>::F::ONE);
|
||||
}
|
||||
}
|
||||
|
||||
fn encode_key(
|
||||
key: <<Self::ExternalNetworkCiphersuite as Curves>::ToweringCurve as Ciphersuite>::G,
|
||||
key: <<Self::ExternalNetworkCiphersuite as Curves>::ToweringCurve as WrappedGroup>::G,
|
||||
) -> Vec<u8> {
|
||||
PublicKey::new(key).unwrap().eth_repr().to_vec()
|
||||
}
|
||||
|
||||
fn decode_key(
|
||||
key: &[u8],
|
||||
) -> Option<<<Self::ExternalNetworkCiphersuite as Curves>::ToweringCurve as Ciphersuite>::G> {
|
||||
) -> Option<<<Self::ExternalNetworkCiphersuite as Curves>::ToweringCurve as WrappedGroup>::G> {
|
||||
PublicKey::from_eth_repr(key.try_into().ok()?).map(|key| key.point())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use std::collections::HashMap;
|
||||
|
||||
use ciphersuite::Ciphersuite;
|
||||
use ciphersuite::*;
|
||||
use ciphersuite_kp256::Secp256k1;
|
||||
|
||||
use serai_client::networks::ethereum::Address;
|
||||
@@ -41,7 +41,7 @@ pub(crate) struct FullEpoch {
|
||||
impl primitives::Block for FullEpoch {
|
||||
type Header = Epoch;
|
||||
|
||||
type Key = <Secp256k1 as Ciphersuite>::G;
|
||||
type Key = <Secp256k1 as WrappedGroup>::G;
|
||||
type Address = Address;
|
||||
type Output = Output;
|
||||
type Eventuality = Eventuality;
|
||||
|
||||
@@ -2,7 +2,7 @@ use std::{io, collections::HashMap};
|
||||
|
||||
use rand_core::{RngCore, CryptoRng};
|
||||
|
||||
use ciphersuite::Ciphersuite;
|
||||
use ciphersuite::*;
|
||||
use ciphersuite_kp256::Secp256k1;
|
||||
use frost::{
|
||||
dkg::{Participant, ThresholdKeys},
|
||||
@@ -24,10 +24,10 @@ pub struct EthereumHram;
|
||||
impl Hram<Secp256k1> for EthereumHram {
|
||||
#[allow(non_snake_case)]
|
||||
fn hram(
|
||||
R: &<Secp256k1 as Ciphersuite>::G,
|
||||
A: &<Secp256k1 as Ciphersuite>::G,
|
||||
R: &<Secp256k1 as WrappedGroup>::G,
|
||||
A: &<Secp256k1 as WrappedGroup>::G,
|
||||
m: &[u8],
|
||||
) -> <Secp256k1 as Ciphersuite>::F {
|
||||
) -> <Secp256k1 as WrappedGroup>::F {
|
||||
Signature::challenge(*R, &PublicKey::new(*A).unwrap(), m)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use std::io;
|
||||
|
||||
use ciphersuite::{group::GroupEncoding, Ciphersuite};
|
||||
use ciphersuite::{group::GroupEncoding, *};
|
||||
use ciphersuite_kp256::Secp256k1;
|
||||
|
||||
use alloy_core::primitives::U256;
|
||||
@@ -62,10 +62,10 @@ impl AsMut<[u8]> for OutputId {
|
||||
|
||||
#[derive(Clone, PartialEq, Eq, Debug)]
|
||||
pub(crate) enum Output {
|
||||
Output { key: <Secp256k1 as Ciphersuite>::G, instruction: EthereumInInstruction },
|
||||
Eventuality { key: <Secp256k1 as Ciphersuite>::G, nonce: u64 },
|
||||
Output { key: <Secp256k1 as WrappedGroup>::G, instruction: EthereumInInstruction },
|
||||
Eventuality { key: <Secp256k1 as WrappedGroup>::G, nonce: u64 },
|
||||
}
|
||||
impl ReceivedOutput<<Secp256k1 as Ciphersuite>::G, Address> for Output {
|
||||
impl ReceivedOutput<<Secp256k1 as WrappedGroup>::G, Address> for Output {
|
||||
type Id = OutputId;
|
||||
type TransactionId = [u8; 32];
|
||||
|
||||
@@ -108,7 +108,7 @@ impl ReceivedOutput<<Secp256k1 as Ciphersuite>::G, Address> for Output {
|
||||
}
|
||||
}
|
||||
|
||||
fn key(&self) -> <Secp256k1 as Ciphersuite>::G {
|
||||
fn key(&self) -> <Secp256k1 as WrappedGroup>::G {
|
||||
match self {
|
||||
Output::Output { key, .. } | Output::Eventuality { key, .. } => *key,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user