Skip to content

Commit

Permalink
Merge pull request #26 from rajarshimaitra/feature/v2
Browse files Browse the repository at this point in the history
Boltz API V2 + Musig2 + Taproot
  • Loading branch information
i5hi authored Mar 15, 2024
2 parents 4a00fd8 + b24c583 commit 8b6b3de
Show file tree
Hide file tree
Showing 7 changed files with 1,062 additions and 0 deletions.
7 changes: 7 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,13 @@ electrum-client = "0.19.0"
bitcoin = {version = "0.31.1", features = ["rand", "base64", "rand-std"]}
elements = { version = "0.24.0", features = ["serde"] }
lightning-invoice = "0.26.0"
tungstenite = { version = "0.21.0", features = ["native-tls"] }
url = "2.5.0"
log = "^0.4"
env_logger = "0.7"

[patch.crates-io]
secp256k1-zkp = {git = "https://github.com/BlockstreamResearch/rust-secp256k1-zkp.git", rev = "60e631c24588a0c9e271badd61959294848c665d"}

[dev-dependencies]
bitcoind = {version = "0.34.1", features = ["25_0"] }
Expand Down
52 changes: 52 additions & 0 deletions src/error.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ pub enum Error {
BIP39(bip39::Error),
Hash(bitcoin::hashes::FromSliceError),
Locktime(String),
Url(url::ParseError),
WebSocket(tungstenite::Error),
Taproot(String),
Musig2(String),
}

impl From<electrum_client::Error> for Error {
Expand Down Expand Up @@ -152,3 +156,51 @@ impl From<elements::locktime::Error> for Error {
Self::Locktime(value.to_string())
}
}

impl From<url::ParseError> for Error {
fn from(value: url::ParseError) -> Self {
Self::Url(value)
}
}

impl From<tungstenite::Error> for Error {
fn from(value: tungstenite::Error) -> Self {
Self::WebSocket(value)
}
}

impl From<bitcoin::taproot::TaprootError> for Error {
fn from(value: bitcoin::taproot::TaprootError) -> Self {
Self::Taproot(value.to_string())
}
}

impl From<bitcoin::taproot::TaprootBuilderError> for Error {
fn from(value: bitcoin::taproot::TaprootBuilderError) -> Self {
Self::Taproot(value.to_string())
}
}

impl From<elements::secp256k1_zkp::MusigTweakErr> for Error {
fn from(value: elements::secp256k1_zkp::MusigTweakErr) -> Self {
Self::Musig2(value.to_string())
}
}

impl From<elements::secp256k1_zkp::MusigNonceGenError> for Error {
fn from(value: elements::secp256k1_zkp::MusigNonceGenError) -> Self {
Self::Musig2(value.to_string())
}
}

impl From<elements::secp256k1_zkp::ParseError> for Error {
fn from(value: elements::secp256k1_zkp::ParseError) -> Self {
Self::Musig2(value.to_string())
}
}

impl From<elements::secp256k1_zkp::MusigSignError> for Error {
fn from(value: elements::secp256k1_zkp::MusigSignError) -> Self {
Self::Musig2(value.to_string())
}
}
Loading

0 comments on commit 8b6b3de

Please sign in to comment.