From aed8358fb7662c765073d3bd2bb6d6f79310fa2e Mon Sep 17 00:00:00 2001 From: Daniel Karzel Date: Wed, 24 Feb 2021 14:00:17 +1100 Subject: [PATCH] Remove dead code --- Cargo.lock | 137 +++++++++++++++++++++ swap/src/protocol/alice/state.rs | 198 +------------------------------ 2 files changed, 139 insertions(+), 196 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 844cecb7..bd5667d0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -614,6 +614,22 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" +[[package]] +name = "core-foundation" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a89e2ae426ea83155dccf10c0fa6b1463ef6d5fcb44cee0b224a408fa640a62" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b" + [[package]] name = "cpuid-bool" version = "0.1.2" @@ -994,6 +1010,21 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + [[package]] name = "form_urlencoded" version = "1.0.0" @@ -1984,6 +2015,24 @@ dependencies = [ "unsigned-varint 0.6.0", ] +[[package]] +name = "native-tls" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8d96b2e1c8da3957d58100b09f102c6d9cfdfced01b7ec5a8974044bb09dbd4" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + [[package]] name = "nb-connect" version = "1.0.2" @@ -2126,6 +2175,39 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" +[[package]] +name = "openssl" +version = "0.10.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "038d43985d1ddca7a9900630d8cd031b56e4794eecc2e9ea39dd17aa04399a70" +dependencies = [ + "bitflags", + "cfg-if 1.0.0", + "foreign-types", + "lazy_static", + "libc", + "openssl-sys", +] + +[[package]] +name = "openssl-probe" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de" + +[[package]] +name = "openssl-sys" +version = "0.9.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "921fc71883267538946025deffb622905ecad223c28efbfdef9bb59a0175f3e6" +dependencies = [ + "autocfg 1.0.1", + "cc", + "libc", + "pkg-config", + "vcpkg", +] + [[package]] name = "parity-multiaddr" version = "0.11.0" @@ -2266,6 +2348,12 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "pkg-config" +version = "0.3.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c" + [[package]] name = "polling" version = "2.0.2" @@ -2870,6 +2958,16 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" +[[package]] +name = "schannel" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75" +dependencies = [ + "lazy_static", + "winapi 0.3.9", +] + [[package]] name = "scopeguard" version = "1.1.0" @@ -2928,6 +3026,29 @@ dependencies = [ "subtle 2.4.0", ] +[[package]] +name = "security-framework" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1759c2e3c8580017a484a7ac56d3abc5a6c1feadf88db2f3633f12ae4268c69" +dependencies = [ + "bitflags", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f99b9d5e26d2a71633cc4f2ebae7cc9f874044e0c351a27e17892d76dce5678b" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "semver" version = "0.9.0" @@ -3581,6 +3702,16 @@ dependencies = [ "syn", ] +[[package]] +name = "tokio-native-tls" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b" +dependencies = [ + "native-tls", + "tokio", +] + [[package]] name = "tokio-stream" version = "0.1.2" @@ -3863,6 +3994,12 @@ dependencies = [ "serde", ] +[[package]] +name = "vcpkg" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b00bca6106a5e23f3eee943593759b7fcddb00554332e856d990c893966879fb" + [[package]] name = "vec-arena" version = "1.0.0" diff --git a/swap/src/protocol/alice/state.rs b/swap/src/protocol/alice/state.rs index 9538e84e..35fd8d1f 100644 --- a/swap/src/protocol/alice/state.rs +++ b/swap/src/protocol/alice/state.rs @@ -7,22 +7,16 @@ use crate::{ }, execution_params::ExecutionParams, monero, - monero_ext::ScalarExt, protocol::{ - alice::{Message1, Message3, TransferProof}, - bob::{EncryptedSignature, Message0, Message2, Message4}, + alice::{Message1, Message3}, + bob::{Message0, Message2, Message4}, CROSS_CURVE_PROOF_SYSTEM, }, }; use anyhow::{anyhow, bail, Context, Result}; -use ecdsa_fun::{ - adaptor::{Adaptor, HashTranscript}, - nonce::Deterministic, -}; use libp2p::PeerId; use rand::{CryptoRng, RngCore}; use serde::{Deserialize, Serialize}; -use sha2::Sha256; use sigma_fun::ext::dl_secp256k1_ed25519_eq::CrossCurveDLEQProof; use std::fmt; @@ -349,191 +343,3 @@ impl State3 { .await } } - -#[derive(Clone, Debug, Deserialize, Serialize)] -pub struct State4 { - a: bitcoin::SecretKey, - B: bitcoin::PublicKey, - s_a: monero::Scalar, - S_b_monero: monero::PublicKey, - S_b_bitcoin: bitcoin::PublicKey, - v: monero::PrivateViewKey, - xmr: monero::Amount, - cancel_timelock: CancelTimelock, - punish_timelock: PunishTimelock, - refund_address: bitcoin::Address, - redeem_address: bitcoin::Address, - punish_address: bitcoin::Address, - tx_lock: bitcoin::TxLock, - tx_punish_sig_bob: bitcoin::Signature, - tx_cancel_sig_bob: bitcoin::Signature, -} - -impl State4 { - pub async fn lock_xmr(self, monero_wallet: &W) -> Result - where - W: monero::Transfer, - { - let S_a = monero::PublicKey::from_private_key(&monero::PrivateKey { scalar: self.s_a }); - let S_b = self.S_b_monero; - - let (tx_lock_proof, fee) = monero_wallet - .transfer(S_a + S_b, self.v.public(), self.xmr) - .await?; - - Ok(State5 { - a: self.a, - B: self.B, - s_a: self.s_a, - S_b_monero: self.S_b_monero, - S_b_bitcoin: self.S_b_bitcoin, - v: self.v, - cancel_timelock: self.cancel_timelock, - punish_timelock: self.punish_timelock, - refund_address: self.refund_address, - redeem_address: self.redeem_address, - punish_address: self.punish_address, - tx_lock: self.tx_lock, - tx_lock_proof, - tx_punish_sig_bob: self.tx_punish_sig_bob, - tx_cancel_sig_bob: self.tx_cancel_sig_bob, - lock_xmr_fee: fee, - }) - } - - pub async fn punish( - &self, - bitcoin_wallet: &W, - ) -> Result<()> { - let tx_cancel = - bitcoin::TxCancel::new(&self.tx_lock, self.cancel_timelock, self.a.public(), self.B); - let tx_punish = - bitcoin::TxPunish::new(&tx_cancel, &self.punish_address, self.punish_timelock); - - { - let sig_a = self.a.sign(tx_cancel.digest()); - let sig_b = self.tx_cancel_sig_bob.clone(); - - let signed_tx_cancel = tx_cancel.clone().add_signatures( - &self.tx_lock, - (self.a.public(), sig_a), - (self.B, sig_b), - )?; - - let _ = bitcoin_wallet - .broadcast_signed_transaction(signed_tx_cancel) - .await?; - } - - { - let sig_a = self.a.sign(tx_punish.digest()); - let sig_b = self.tx_punish_sig_bob.clone(); - - let signed_tx_punish = - tx_punish.add_signatures(&tx_cancel, (self.a.public(), sig_a), (self.B, sig_b))?; - - let _ = bitcoin_wallet - .broadcast_signed_transaction(signed_tx_punish) - .await?; - } - - Ok(()) - } -} - -#[derive(Clone, Debug, Deserialize, Serialize)] -pub struct State5 { - a: bitcoin::SecretKey, - B: bitcoin::PublicKey, - s_a: monero::Scalar, - S_b_monero: monero::PublicKey, - S_b_bitcoin: bitcoin::PublicKey, - v: monero::PrivateViewKey, - cancel_timelock: CancelTimelock, - punish_timelock: PunishTimelock, - refund_address: bitcoin::Address, - redeem_address: bitcoin::Address, - punish_address: bitcoin::Address, - tx_lock: bitcoin::TxLock, - tx_lock_proof: monero::TransferProof, - - tx_punish_sig_bob: bitcoin::Signature, - - tx_cancel_sig_bob: bitcoin::Signature, - lock_xmr_fee: monero::Amount, -} - -impl State5 { - pub fn next_message(&self) -> TransferProof { - TransferProof { - tx_lock_proof: self.tx_lock_proof.clone(), - } - } - - pub fn receive(self, msg: EncryptedSignature) -> State6 { - State6 { - a: self.a, - B: self.B, - s_a: self.s_a, - S_b_monero: self.S_b_monero, - S_b_bitcoin: self.S_b_bitcoin, - v: self.v, - cancel_timelock: self.cancel_timelock, - punish_timelock: self.punish_timelock, - refund_address: self.refund_address, - redeem_address: self.redeem_address, - punish_address: self.punish_address, - tx_lock: self.tx_lock, - tx_punish_sig_bob: self.tx_punish_sig_bob, - tx_redeem_encsig: msg.tx_redeem_encsig, - lock_xmr_fee: self.lock_xmr_fee, - } - } -} - -#[derive(Clone, Debug, Deserialize, Serialize)] -pub struct State6 { - a: bitcoin::SecretKey, - B: bitcoin::PublicKey, - s_a: monero::Scalar, - S_b_monero: monero::PublicKey, - S_b_bitcoin: bitcoin::PublicKey, - v: monero::PrivateViewKey, - cancel_timelock: CancelTimelock, - punish_timelock: PunishTimelock, - refund_address: bitcoin::Address, - redeem_address: bitcoin::Address, - punish_address: bitcoin::Address, - tx_lock: bitcoin::TxLock, - - tx_punish_sig_bob: bitcoin::Signature, - tx_redeem_encsig: bitcoin::EncryptedSignature, - lock_xmr_fee: monero::Amount, -} - -impl State6 { - pub async fn redeem_btc( - &self, - bitcoin_wallet: &W, - ) -> Result<()> { - let adaptor = Adaptor::, Deterministic>::default(); - - let tx_redeem = bitcoin::TxRedeem::new(&self.tx_lock, &self.redeem_address); - - let sig_a = self.a.sign(tx_redeem.digest()); - let sig_b = - adaptor.decrypt_signature(&self.s_a.to_secpfun_scalar(), self.tx_redeem_encsig.clone()); - - let sig_tx_redeem = - tx_redeem.add_signatures(&self.tx_lock, (self.a.public(), sig_a), (self.B, sig_b))?; - bitcoin_wallet - .broadcast_signed_transaction(sig_tx_redeem) - .await?; - - Ok(()) - } - - pub fn lock_xmr_fee(&self) -> monero::Amount { - self.lock_xmr_fee - } -}