mirror of
https://github.com/comit-network/xmr-btc-swap.git
synced 2024-10-01 01:45:40 -04:00
39afb4196b
NOTE: This implementation saves secrets to disk! It is not secure. The storage API allows the caller to atomically record the state of the protocol. The user can retrieve this recorded state and re-commence the protocol from that point. The state is recorded using a hard coded key, causing it to overwrite the previously recorded state. This limitation means that this recovery mechanism should not be used in a program that simultaneously manages the execution of multiple swaps. An e2e test was added to show how to save, recover and resume protocol execution. This logic could also be integrated into the run_until functions to automate saving but was not included at this stage as protocol execution is currently under development. Serialisation and deserialisation was implemented on the states to allow the to be stored using the database. Currently the secret's are also being stored to disk but should be recovered from a seed or wallets.
35 lines
1.4 KiB
TOML
35 lines
1.4 KiB
TOML
[package]
|
|
name = "xmr-btc"
|
|
version = "0.1.0"
|
|
authors = ["CoBloX Team <team@coblox.tech>"]
|
|
edition = "2018"
|
|
|
|
[dependencies]
|
|
anyhow = "1"
|
|
async-trait = "0.1"
|
|
bitcoin = { version = "0.23", features = ["rand", "serde"] }
|
|
cross-curve-dleq = { git = "https://github.com/comit-network/cross-curve-dleq", rev = "49171f5e08473d46f951fb1fc338fe437d974d3c" }
|
|
curve25519-dalek = "2"
|
|
ecdsa_fun = { git = "https://github.com/LLFourn/secp256kfun", rev = "510d48ef6a2b19805f7f5c70c598e5b03f668e7a", features = ["libsecp_compat", "serde", "serialization"] }
|
|
ed25519-dalek = { version = "1.0.0-pre.4", features = ["serde"] }# Cannot be 1 because they depend on curve25519-dalek version 3
|
|
miniscript = { version = "1", features = ["serde"] }
|
|
monero = { version = "0.9", features = ["serde_support"] }
|
|
rand = "0.7"
|
|
serde = { version = "1", features = ["derive"] }
|
|
sha2 = "0.9"
|
|
thiserror = "1"
|
|
tracing = "0.1"
|
|
|
|
[dev-dependencies]
|
|
base64 = "0.12"
|
|
bitcoin-harness = { git = "https://github.com/coblox/bitcoin-harness-rs", rev = "d402b36d3d6406150e3bfb71492ff4a0a7cb290e" }
|
|
futures = "0.3"
|
|
monero-harness = { path = "../monero-harness" }
|
|
reqwest = { version = "0.10", default-features = false }
|
|
serde_cbor = "0.11"
|
|
sled = "0.34"
|
|
testcontainers = "0.10"
|
|
tokio = { version = "0.2", default-features = false, features = ["blocking", "macros", "rt-core", "time", "rt-threaded"] }
|
|
tracing = "0.1"
|
|
tracing-subscriber = "0.2"
|