Pull trait-bounds up one level for easier testing.

This commit is contained in:
Philipp Hoenisch 2021-05-03 16:43:23 +10:00
parent 77f6f11a7f
commit 7fe9087bc2
No known key found for this signature in database
GPG Key ID: E5F8E74C672BC666

View File

@ -1,3 +1,4 @@
use crate::bitcoin::wallet::EstimateFeeRate;
use crate::bitcoin::{ use crate::bitcoin::{
self, current_epoch, CancelTimelock, ExpiredTimelocks, PunishTimelock, Transaction, TxCancel, self, current_epoch, CancelTimelock, ExpiredTimelocks, PunishTimelock, Transaction, TxCancel,
TxLock, Txid, TxLock, Txid,
@ -8,6 +9,7 @@ use crate::monero::{monero_private_key, TransferProof};
use crate::monero_ext::ScalarExt; use crate::monero_ext::ScalarExt;
use crate::protocol::{Message0, Message1, Message2, Message3, Message4, CROSS_CURVE_PROOF_SYSTEM}; use crate::protocol::{Message0, Message1, Message2, Message3, Message4, CROSS_CURVE_PROOF_SYSTEM};
use anyhow::{anyhow, bail, Context, Result}; use anyhow::{anyhow, bail, Context, Result};
use bdk::database::BatchDatabase;
use ecdsa_fun::adaptor::{Adaptor, HashTranscript}; use ecdsa_fun::adaptor::{Adaptor, HashTranscript};
use ecdsa_fun::nonce::Deterministic; use ecdsa_fun::nonce::Deterministic;
use ecdsa_fun::Signature; use ecdsa_fun::Signature;
@ -143,7 +145,15 @@ impl State0 {
} }
} }
pub async fn receive(self, wallet: &bitcoin::Wallet, msg: Message1) -> Result<State1> { pub async fn receive<B, D, C>(
self,
wallet: &bitcoin::Wallet<B, D, C>,
msg: Message1,
) -> Result<State1>
where
C: EstimateFeeRate,
D: BatchDatabase,
{
let valid = CROSS_CURVE_PROOF_SYSTEM.verify( let valid = CROSS_CURVE_PROOF_SYSTEM.verify(
&msg.dleq_proof_s_a, &msg.dleq_proof_s_a,
( (