mirror of
https://github.com/comit-network/xmr-btc-swap.git
synced 2024-10-01 01:45:40 -04:00
Remove dead code
This commit is contained in:
parent
2654879ff3
commit
aed8358fb7
137
Cargo.lock
generated
137
Cargo.lock
generated
@ -614,6 +614,22 @@ version = "0.1.5"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
|
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]]
|
[[package]]
|
||||||
name = "cpuid-bool"
|
name = "cpuid-bool"
|
||||||
version = "0.1.2"
|
version = "0.1.2"
|
||||||
@ -994,6 +1010,21 @@ version = "1.0.7"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
|
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]]
|
[[package]]
|
||||||
name = "form_urlencoded"
|
name = "form_urlencoded"
|
||||||
version = "1.0.0"
|
version = "1.0.0"
|
||||||
@ -1984,6 +2015,24 @@ dependencies = [
|
|||||||
"unsigned-varint 0.6.0",
|
"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]]
|
[[package]]
|
||||||
name = "nb-connect"
|
name = "nb-connect"
|
||||||
version = "1.0.2"
|
version = "1.0.2"
|
||||||
@ -2126,6 +2175,39 @@ version = "0.3.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
|
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]]
|
[[package]]
|
||||||
name = "parity-multiaddr"
|
name = "parity-multiaddr"
|
||||||
version = "0.11.0"
|
version = "0.11.0"
|
||||||
@ -2266,6 +2348,12 @@ version = "0.1.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
|
checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "pkg-config"
|
||||||
|
version = "0.3.19"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "polling"
|
name = "polling"
|
||||||
version = "2.0.2"
|
version = "2.0.2"
|
||||||
@ -2870,6 +2958,16 @@ version = "1.0.5"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
|
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]]
|
[[package]]
|
||||||
name = "scopeguard"
|
name = "scopeguard"
|
||||||
version = "1.1.0"
|
version = "1.1.0"
|
||||||
@ -2928,6 +3026,29 @@ dependencies = [
|
|||||||
"subtle 2.4.0",
|
"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]]
|
[[package]]
|
||||||
name = "semver"
|
name = "semver"
|
||||||
version = "0.9.0"
|
version = "0.9.0"
|
||||||
@ -3581,6 +3702,16 @@ dependencies = [
|
|||||||
"syn",
|
"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]]
|
[[package]]
|
||||||
name = "tokio-stream"
|
name = "tokio-stream"
|
||||||
version = "0.1.2"
|
version = "0.1.2"
|
||||||
@ -3863,6 +3994,12 @@ dependencies = [
|
|||||||
"serde",
|
"serde",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "vcpkg"
|
||||||
|
version = "0.2.11"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b00bca6106a5e23f3eee943593759b7fcddb00554332e856d990c893966879fb"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "vec-arena"
|
name = "vec-arena"
|
||||||
version = "1.0.0"
|
version = "1.0.0"
|
||||||
|
@ -7,22 +7,16 @@ use crate::{
|
|||||||
},
|
},
|
||||||
execution_params::ExecutionParams,
|
execution_params::ExecutionParams,
|
||||||
monero,
|
monero,
|
||||||
monero_ext::ScalarExt,
|
|
||||||
protocol::{
|
protocol::{
|
||||||
alice::{Message1, Message3, TransferProof},
|
alice::{Message1, Message3},
|
||||||
bob::{EncryptedSignature, Message0, Message2, Message4},
|
bob::{Message0, Message2, Message4},
|
||||||
CROSS_CURVE_PROOF_SYSTEM,
|
CROSS_CURVE_PROOF_SYSTEM,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
use anyhow::{anyhow, bail, Context, Result};
|
use anyhow::{anyhow, bail, Context, Result};
|
||||||
use ecdsa_fun::{
|
|
||||||
adaptor::{Adaptor, HashTranscript},
|
|
||||||
nonce::Deterministic,
|
|
||||||
};
|
|
||||||
use libp2p::PeerId;
|
use libp2p::PeerId;
|
||||||
use rand::{CryptoRng, RngCore};
|
use rand::{CryptoRng, RngCore};
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use sha2::Sha256;
|
|
||||||
use sigma_fun::ext::dl_secp256k1_ed25519_eq::CrossCurveDLEQProof;
|
use sigma_fun::ext::dl_secp256k1_ed25519_eq::CrossCurveDLEQProof;
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
@ -349,191 +343,3 @@ impl State3 {
|
|||||||
.await
|
.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<W>(self, monero_wallet: &W) -> Result<State5>
|
|
||||||
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<W: bitcoin::BroadcastSignedTransaction>(
|
|
||||||
&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<W: bitcoin::BroadcastSignedTransaction>(
|
|
||||||
&self,
|
|
||||||
bitcoin_wallet: &W,
|
|
||||||
) -> Result<()> {
|
|
||||||
let adaptor = Adaptor::<HashTranscript<Sha256>, Deterministic<Sha256>>::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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
Loading…
Reference in New Issue
Block a user