From e1da564f45c8265b3d1cc2fa339281dbd8b64024 Mon Sep 17 00:00:00 2001 From: bennyhodl Date: Wed, 23 Apr 2025 15:03:43 -0400 Subject: [PATCH 1/5] remove the compile time sqlx checks --- ddk/src/storage/postgres/mod.rs | 124 ++++++++++++++++---------------- 1 file changed, 63 insertions(+), 61 deletions(-) diff --git a/ddk/src/storage/postgres/mod.rs b/ddk/src/storage/postgres/mod.rs index d25c44c5..191647dc 100644 --- a/ddk/src/storage/postgres/mod.rs +++ b/ddk/src/storage/postgres/mod.rs @@ -78,7 +78,9 @@ impl PostgresStore { query.fetch_all(&self.pool).await? } else { - sqlx::query_as!(ContractRowNoBytes, "SELECT id, state, is_offer_party, counter_party, offer_collateral, accept_collateral, total_collateral, fee_rate_per_vb, cet_locktime, refund_locktime, pnl FROM contracts") + sqlx::query_as::( + "SELECT id, state, is_offer_party, counter_party, offer_collateral, accept_collateral, total_collateral, fee_rate_per_vb, cet_locktime, refund_locktime, pnl FROM contracts" + ) .fetch_all(&self.pool) .await? }; @@ -86,7 +88,9 @@ impl PostgresStore { } pub async fn get_offer_rows(&self) -> Result, SqlxError> { - let rows = sqlx::query_as!(ContractRowNoBytes, "SELECT id, state, is_offer_party, counter_party, offer_collateral, accept_collateral, total_collateral, fee_rate_per_vb, cet_locktime, refund_locktime, pnl FROM contracts WHERE state = 1") + let rows = sqlx::query_as::( + "SELECT id, state, is_offer_party, counter_party, offer_collateral, accept_collateral, total_collateral, fee_rate_per_vb, cet_locktime, refund_locktime, pnl FROM contracts WHERE state = 1" + ) .fetch_all(&self.pool) .await?; Ok(rows) @@ -237,14 +241,12 @@ impl ManagerStorage for PostgresStore { &self, id: &ddk_manager::ContractId, ) -> Result, ddk_manager::error::Error> { - let contract = sqlx::query_as!( - ContractRow, - "SELECT * FROM contracts WHERE id = $1", - hex::encode(id) - ) - .fetch_optional(&self.pool) - .await - .map_err(to_storage_error)?; + let contract = + sqlx::query_as::("SELECT * FROM contracts WHERE id = $1") + .bind(hex::encode(id)) + .fetch_optional(&self.pool) + .await + .map_err(to_storage_error)?; if let Some(contract) = contract { Ok(Some(deserialize_contract(&contract.contract_data)?)) @@ -256,7 +258,7 @@ impl ManagerStorage for PostgresStore { async fn get_contracts( &self, ) -> Result, ddk_manager::error::Error> { - let contracts = sqlx::query_as!(ContractRow, "SELECT * FROM contracts") + let contracts = sqlx::query_as::("SELECT * FROM contracts") .fetch_all(&self.pool) .await .map_err(to_storage_error)?; @@ -271,8 +273,7 @@ impl ManagerStorage for PostgresStore { &self, contract: &OfferedContract, ) -> Result<(), ddk_manager::error::Error> { - sqlx::query_as!( - ContractRow, + sqlx::query_as::( r#" INSERT INTO contracts ( id, state, is_offer_party, counter_party, @@ -282,19 +283,19 @@ impl ManagerStorage for PostgresStore { VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12) RETURNING * "#, - hex::encode(contract.id), - 1 as i16, - contract.is_offer_party, - hex::encode(contract.counter_party.serialize()), - contract.offer_params.collateral as i64, - (contract.total_collateral - contract.offer_params.collateral) as i64, - contract.total_collateral as i64, - contract.fee_rate_per_vb as i64, - contract.cet_locktime as i32, - contract.refund_locktime as i32, - None as Option, - serialize_contract(&Contract::Offered(contract.clone()))? ) + .bind(hex::encode(contract.id)) + .bind(1 as i16) + .bind(contract.is_offer_party) + .bind(hex::encode(contract.counter_party.serialize())) + .bind(contract.offer_params.collateral as i64) + .bind((contract.total_collateral - contract.offer_params.collateral) as i64) + .bind(contract.total_collateral as i64) + .bind(contract.fee_rate_per_vb as i64) + .bind(contract.cet_locktime as i32) + .bind(contract.refund_locktime as i32) + .bind(None as Option) + .bind(serialize_contract(&Contract::Offered(contract.clone()))?) .fetch_one(&self.pool) .await .map_err(to_storage_error)?; @@ -307,8 +308,9 @@ impl ManagerStorage for PostgresStore { id: &ddk_manager::ContractId, ) -> Result<(), ddk_manager::error::Error> { let id = hex::encode(id); - sqlx::query_as!(ContractRow, "DELETE FROM contracts WHERE id = $1", id) - .execute(&self.pool) + sqlx::query_as::("DELETE FROM contracts WHERE id = $1") + .bind(id) + .fetch_one(&self.pool) .await .map_err(to_storage_error)?; @@ -336,8 +338,9 @@ impl ManagerStorage for PostgresStore { hex::encode(a.get_temporary_id()) ); let temp_id = hex::encode(a.get_temporary_id()); - sqlx::query_as!(ContractRow, "DELETE FROM contracts WHERE id = $1", temp_id) - .execute(&mut *tx) + sqlx::query_as::("DELETE FROM contracts WHERE id = $1") + .bind(temp_id) + .fetch_all(&mut *tx) .await .map_err(to_storage_error)?; } @@ -345,8 +348,7 @@ impl ManagerStorage for PostgresStore { } // Step 2: Upsert the contract by id - sqlx::query_as!( - ContractRow, + sqlx::query_as::( r#" INSERT INTO contracts ( id, state, is_offer_party, counter_party, @@ -361,22 +363,20 @@ impl ManagerStorage for PostgresStore { contract_data = EXCLUDED.contract_data, pnl = EXCLUDED.pnl "#, - contract_id, - prefix as i16, - // need to track if the contract is offer party - false, - hex::encode(contract.get_counter_party_id().serialize()), - offer_collateral as i64, - accept_collateral as i64, - total_collateral as i64, - // need to get fee rate per vb - 1 as i64, - contract.get_cet_locktime() as i32, - contract.get_refund_locktime() as i32, - Some(contract.get_pnl()), - serialized_contract ) - .execute(&mut *tx) + .bind(contract_id) + .bind(prefix as i16) + .bind(false) + .bind(hex::encode(contract.get_counter_party_id().serialize())) + .bind(offer_collateral as i64) + .bind(accept_collateral as i64) + .bind(total_collateral as i64) + .bind(1 as i64) + .bind(contract.get_cet_locktime() as i32) + .bind(contract.get_refund_locktime() as i32) + .bind(Some(contract.get_pnl())) + .bind(serialized_contract) + .fetch_all(&mut *tx) .await .map_err(to_storage_error)?; @@ -387,10 +387,11 @@ impl ManagerStorage for PostgresStore { } async fn get_signed_contracts(&self) -> Result, ddk_manager::error::Error> { - let contracts = sqlx::query_as!(ContractRow, "SELECT * FROM contracts WHERE state = 3") - .fetch_all(&self.pool) - .await - .map_err(to_storage_error)?; + let contracts = + sqlx::query_as::("SELECT * FROM contracts WHERE state = 3") + .fetch_all(&self.pool) + .await + .map_err(to_storage_error)?; let signed = contracts .into_iter() @@ -405,9 +406,8 @@ impl ManagerStorage for PostgresStore { } async fn get_contract_offers(&self) -> Result, ddk_manager::error::Error> { - let contracts = sqlx::query_as!( - ContractRow, - "SELECT * FROM contracts WHERE state = 1 AND is_offer_party = false" + let contracts = sqlx::query_as::( + "SELECT * FROM contracts WHERE state = 1 AND is_offer_party = false", ) .fetch_all(&self.pool) .await @@ -428,10 +428,11 @@ impl ManagerStorage for PostgresStore { async fn get_confirmed_contracts( &self, ) -> Result, ddk_manager::error::Error> { - let contracts = sqlx::query_as!(ContractRow, "SELECT * FROM contracts WHERE state = 4") - .fetch_all(&self.pool) - .await - .map_err(to_storage_error)?; + let contracts = + sqlx::query_as::("SELECT * FROM contracts WHERE state = 4") + .fetch_all(&self.pool) + .await + .map_err(to_storage_error)?; let signed = contracts .into_iter() @@ -448,10 +449,11 @@ impl ManagerStorage for PostgresStore { async fn get_preclosed_contracts( &self, ) -> Result, ddk_manager::error::Error> { - let contracts = sqlx::query_as!(ContractRow, "SELECT * FROM contracts WHERE state = 5") - .fetch_all(&self.pool) - .await - .map_err(to_storage_error)?; + let contracts = + sqlx::query_as::("SELECT * FROM contracts WHERE state = 5") + .fetch_all(&self.pool) + .await + .map_err(to_storage_error)?; let preclosed = contracts .into_iter() From 8a19bc61d2c93d838c9dd40a7896a039efd04234 Mon Sep 17 00:00:00 2001 From: bennyhodl Date: Wed, 23 Apr 2025 17:57:03 -0400 Subject: [PATCH 2/5] correct esplora error --- ddk/src/chain/esplora.rs | 2 +- ddk/src/error.rs | 4 ++-- ddk/src/wallet.rs | 10 ++++------ 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/ddk/src/chain/esplora.rs b/ddk/src/chain/esplora.rs index ac7ca0e7..380700ee 100644 --- a/ddk/src/chain/esplora.rs +++ b/ddk/src/chain/esplora.rs @@ -20,7 +20,7 @@ pub struct EsploraClient { } impl EsploraClient { - pub fn new(esplora_host: &str, network: Network) -> anyhow::Result { + pub fn new(esplora_host: &str, network: Network) -> Result { let builder = Builder::new(esplora_host).timeout(Duration::from_secs(5).as_secs()); let blocking_client = builder.clone().build_blocking(); let async_client = builder.build_async()?; diff --git a/ddk/src/error.rs b/ddk/src/error.rs index e1de012d..85703552 100644 --- a/ddk/src/error.rs +++ b/ddk/src/error.rs @@ -12,8 +12,8 @@ pub fn wallet_err_to_manager_err(e: WalletError) -> ManagerError { /// BDK and wallet storage errors #[derive(thiserror::Error, Debug)] pub enum WalletError { - #[error("Wallet Persistance error.")] - WalletPersistanceError, + #[error("Wallet Persistance error: {0}")] + WalletPersistanceError(String), #[error("Seed error: {0}")] Seed(#[from] bitcoin::bip32::Error), #[error("Failed to get lock on BDK wallet.")] diff --git a/ddk/src/wallet.rs b/ddk/src/wallet.rs index 56ec0680..51af79f6 100644 --- a/ddk/src/wallet.rs +++ b/ddk/src/wallet.rs @@ -52,7 +52,6 @@ impl AsyncWalletPersister for WalletStorage { where Self: 'a, { - tracing::info!("initialize store"); Box::pin(persister.0.initialize_bdk()) } @@ -109,7 +108,7 @@ impl DlcDevKitWallet { .check_network(network) .load_wallet_async(&mut storage) .await - .map_err(|_| WalletError::WalletPersistanceError)?; + .map_err(|e| WalletError::WalletPersistanceError(e.to_string()))?; let internal_wallet = match load_wallet { Some(w) => w, @@ -117,14 +116,13 @@ impl DlcDevKitWallet { .network(network) .create_wallet_async(&mut storage) .await - .map_err(|_| WalletError::WalletPersistanceError)?, + .map_err(|e| WalletError::WalletPersistanceError(e.to_string()))?, }; let wallet = Arc::new(Mutex::new(internal_wallet)); let blockchain = Arc::new( - EsploraClient::new(esplora_url, network) - .map_err(|_| WalletError::WalletPersistanceError)?, + EsploraClient::new(esplora_url, network).map_err(|e| WalletError::Esplora(e))?, ); // TODO: Actually get fees. I don't think it's used for regular DLCs though @@ -222,7 +220,7 @@ impl DlcDevKitWallet { wallet .persist_async(&mut storage) .await - .map_err(|_| WalletError::WalletPersistanceError)?; + .map_err(|e| WalletError::WalletPersistanceError(e.to_string()))?; Ok(()) } From 6b961c3929d060a2a18d750f8bdb1c5fb3df2890 Mon Sep 17 00:00:00 2001 From: bennyhodl Date: Mon, 5 May 2025 15:08:26 -0400 Subject: [PATCH 3/5] use oracle announcements directly --- ...8ce569a84a63b7206d46633c58bd58f59e468.json | 86 ---------------- ...820ce6e88479b87ccd2f96493e088f085aa0e.json | 86 ---------------- ...bdbaddd092066514180f13a76be6a0468ed2f.json | 88 ----------------- ...5c1a2669d7fde1d96a96d3f0bce4f18aa32ba.json | 14 --- ...768ef3a51433545853b1a9e0c574bfbb84a84.json | 86 ---------------- ...5b3005212d70e3a528858e620b52ff0ea7d09.json | 80 --------------- ...e73c0fce4c3d5f70404aec161d04975c7b6dd.json | 25 ----- ...56df7a924b1b1c25c3d7154b7ed64497424e9.json | 99 ------------------- ...556d7a8afecdd3807f863f8c7453e1ded1d7e.json | 80 --------------- ...f1420bf2749cc771a4aaf7ee1af447a60a925.json | 86 ---------------- ...e91f205d02c2d549b5f8e3fa476e6fd140e98.json | 86 ---------------- ddk/src/ddk.rs | 8 +- 12 files changed, 6 insertions(+), 818 deletions(-) delete mode 100644 .sqlx/query-03e8e2e31dc2cd64e751b07d2108ce569a84a63b7206d46633c58bd58f59e468.json delete mode 100644 .sqlx/query-196e6d0e07716dac64c02932819820ce6e88479b87ccd2f96493e088f085aa0e.json delete mode 100644 .sqlx/query-1ddd4edc610d16ad75c1b7006dfbdbaddd092066514180f13a76be6a0468ed2f.json delete mode 100644 .sqlx/query-52ed4c0dcbb5634574a75c11bb95c1a2669d7fde1d96a96d3f0bce4f18aa32ba.json delete mode 100644 .sqlx/query-563ff97595e5312c7f0233394f3768ef3a51433545853b1a9e0c574bfbb84a84.json delete mode 100644 .sqlx/query-6d3b30b69d37e751f617578e8285b3005212d70e3a528858e620b52ff0ea7d09.json delete mode 100644 .sqlx/query-904700b1c4cb51b0b2620d30acbe73c0fce4c3d5f70404aec161d04975c7b6dd.json delete mode 100644 .sqlx/query-97cd141835dda147b093709959356df7a924b1b1c25c3d7154b7ed64497424e9.json delete mode 100644 .sqlx/query-a41467ffcd6821838eda59888f4556d7a8afecdd3807f863f8c7453e1ded1d7e.json delete mode 100644 .sqlx/query-c76c564743999400c5349536528f1420bf2749cc771a4aaf7ee1af447a60a925.json delete mode 100644 .sqlx/query-fa6cae992997a789b9362bdfdc7e91f205d02c2d549b5f8e3fa476e6fd140e98.json diff --git a/.sqlx/query-03e8e2e31dc2cd64e751b07d2108ce569a84a63b7206d46633c58bd58f59e468.json b/.sqlx/query-03e8e2e31dc2cd64e751b07d2108ce569a84a63b7206d46633c58bd58f59e468.json deleted file mode 100644 index ccf02adc..00000000 --- a/.sqlx/query-03e8e2e31dc2cd64e751b07d2108ce569a84a63b7206d46633c58bd58f59e468.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "SELECT * FROM contracts WHERE state = 5", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id", - "type_info": "Text" - }, - { - "ordinal": 1, - "name": "state", - "type_info": "Int2" - }, - { - "ordinal": 2, - "name": "is_offer_party", - "type_info": "Bool" - }, - { - "ordinal": 3, - "name": "counter_party", - "type_info": "Text" - }, - { - "ordinal": 4, - "name": "offer_collateral", - "type_info": "Int8" - }, - { - "ordinal": 5, - "name": "accept_collateral", - "type_info": "Int8" - }, - { - "ordinal": 6, - "name": "total_collateral", - "type_info": "Int8" - }, - { - "ordinal": 7, - "name": "fee_rate_per_vb", - "type_info": "Int8" - }, - { - "ordinal": 8, - "name": "cet_locktime", - "type_info": "Int4" - }, - { - "ordinal": 9, - "name": "refund_locktime", - "type_info": "Int4" - }, - { - "ordinal": 10, - "name": "pnl", - "type_info": "Int8" - }, - { - "ordinal": 11, - "name": "contract_data", - "type_info": "Bytea" - } - ], - "parameters": { - "Left": [] - }, - "nullable": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false - ] - }, - "hash": "03e8e2e31dc2cd64e751b07d2108ce569a84a63b7206d46633c58bd58f59e468" -} diff --git a/.sqlx/query-196e6d0e07716dac64c02932819820ce6e88479b87ccd2f96493e088f085aa0e.json b/.sqlx/query-196e6d0e07716dac64c02932819820ce6e88479b87ccd2f96493e088f085aa0e.json deleted file mode 100644 index ae1a8689..00000000 --- a/.sqlx/query-196e6d0e07716dac64c02932819820ce6e88479b87ccd2f96493e088f085aa0e.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "SELECT * FROM contracts", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id", - "type_info": "Text" - }, - { - "ordinal": 1, - "name": "state", - "type_info": "Int2" - }, - { - "ordinal": 2, - "name": "is_offer_party", - "type_info": "Bool" - }, - { - "ordinal": 3, - "name": "counter_party", - "type_info": "Text" - }, - { - "ordinal": 4, - "name": "offer_collateral", - "type_info": "Int8" - }, - { - "ordinal": 5, - "name": "accept_collateral", - "type_info": "Int8" - }, - { - "ordinal": 6, - "name": "total_collateral", - "type_info": "Int8" - }, - { - "ordinal": 7, - "name": "fee_rate_per_vb", - "type_info": "Int8" - }, - { - "ordinal": 8, - "name": "cet_locktime", - "type_info": "Int4" - }, - { - "ordinal": 9, - "name": "refund_locktime", - "type_info": "Int4" - }, - { - "ordinal": 10, - "name": "pnl", - "type_info": "Int8" - }, - { - "ordinal": 11, - "name": "contract_data", - "type_info": "Bytea" - } - ], - "parameters": { - "Left": [] - }, - "nullable": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false - ] - }, - "hash": "196e6d0e07716dac64c02932819820ce6e88479b87ccd2f96493e088f085aa0e" -} diff --git a/.sqlx/query-1ddd4edc610d16ad75c1b7006dfbdbaddd092066514180f13a76be6a0468ed2f.json b/.sqlx/query-1ddd4edc610d16ad75c1b7006dfbdbaddd092066514180f13a76be6a0468ed2f.json deleted file mode 100644 index f466162b..00000000 --- a/.sqlx/query-1ddd4edc610d16ad75c1b7006dfbdbaddd092066514180f13a76be6a0468ed2f.json +++ /dev/null @@ -1,88 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "SELECT * FROM contracts WHERE id = $1", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id", - "type_info": "Text" - }, - { - "ordinal": 1, - "name": "state", - "type_info": "Int2" - }, - { - "ordinal": 2, - "name": "is_offer_party", - "type_info": "Bool" - }, - { - "ordinal": 3, - "name": "counter_party", - "type_info": "Text" - }, - { - "ordinal": 4, - "name": "offer_collateral", - "type_info": "Int8" - }, - { - "ordinal": 5, - "name": "accept_collateral", - "type_info": "Int8" - }, - { - "ordinal": 6, - "name": "total_collateral", - "type_info": "Int8" - }, - { - "ordinal": 7, - "name": "fee_rate_per_vb", - "type_info": "Int8" - }, - { - "ordinal": 8, - "name": "cet_locktime", - "type_info": "Int4" - }, - { - "ordinal": 9, - "name": "refund_locktime", - "type_info": "Int4" - }, - { - "ordinal": 10, - "name": "pnl", - "type_info": "Int8" - }, - { - "ordinal": 11, - "name": "contract_data", - "type_info": "Bytea" - } - ], - "parameters": { - "Left": [ - "Text" - ] - }, - "nullable": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false - ] - }, - "hash": "1ddd4edc610d16ad75c1b7006dfbdbaddd092066514180f13a76be6a0468ed2f" -} diff --git a/.sqlx/query-52ed4c0dcbb5634574a75c11bb95c1a2669d7fde1d96a96d3f0bce4f18aa32ba.json b/.sqlx/query-52ed4c0dcbb5634574a75c11bb95c1a2669d7fde1d96a96d3f0bce4f18aa32ba.json deleted file mode 100644 index 92e51e40..00000000 --- a/.sqlx/query-52ed4c0dcbb5634574a75c11bb95c1a2669d7fde1d96a96d3f0bce4f18aa32ba.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "DELETE FROM contracts WHERE id = $1", - "describe": { - "columns": [], - "parameters": { - "Left": [ - "Text" - ] - }, - "nullable": [] - }, - "hash": "52ed4c0dcbb5634574a75c11bb95c1a2669d7fde1d96a96d3f0bce4f18aa32ba" -} diff --git a/.sqlx/query-563ff97595e5312c7f0233394f3768ef3a51433545853b1a9e0c574bfbb84a84.json b/.sqlx/query-563ff97595e5312c7f0233394f3768ef3a51433545853b1a9e0c574bfbb84a84.json deleted file mode 100644 index addd7c02..00000000 --- a/.sqlx/query-563ff97595e5312c7f0233394f3768ef3a51433545853b1a9e0c574bfbb84a84.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "SELECT * FROM contracts WHERE state = 4", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id", - "type_info": "Text" - }, - { - "ordinal": 1, - "name": "state", - "type_info": "Int2" - }, - { - "ordinal": 2, - "name": "is_offer_party", - "type_info": "Bool" - }, - { - "ordinal": 3, - "name": "counter_party", - "type_info": "Text" - }, - { - "ordinal": 4, - "name": "offer_collateral", - "type_info": "Int8" - }, - { - "ordinal": 5, - "name": "accept_collateral", - "type_info": "Int8" - }, - { - "ordinal": 6, - "name": "total_collateral", - "type_info": "Int8" - }, - { - "ordinal": 7, - "name": "fee_rate_per_vb", - "type_info": "Int8" - }, - { - "ordinal": 8, - "name": "cet_locktime", - "type_info": "Int4" - }, - { - "ordinal": 9, - "name": "refund_locktime", - "type_info": "Int4" - }, - { - "ordinal": 10, - "name": "pnl", - "type_info": "Int8" - }, - { - "ordinal": 11, - "name": "contract_data", - "type_info": "Bytea" - } - ], - "parameters": { - "Left": [] - }, - "nullable": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false - ] - }, - "hash": "563ff97595e5312c7f0233394f3768ef3a51433545853b1a9e0c574bfbb84a84" -} diff --git a/.sqlx/query-6d3b30b69d37e751f617578e8285b3005212d70e3a528858e620b52ff0ea7d09.json b/.sqlx/query-6d3b30b69d37e751f617578e8285b3005212d70e3a528858e620b52ff0ea7d09.json deleted file mode 100644 index 69216266..00000000 --- a/.sqlx/query-6d3b30b69d37e751f617578e8285b3005212d70e3a528858e620b52ff0ea7d09.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "SELECT id, state, is_offer_party, counter_party, offer_collateral, accept_collateral, total_collateral, fee_rate_per_vb, cet_locktime, refund_locktime, pnl FROM contracts", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id", - "type_info": "Text" - }, - { - "ordinal": 1, - "name": "state", - "type_info": "Int2" - }, - { - "ordinal": 2, - "name": "is_offer_party", - "type_info": "Bool" - }, - { - "ordinal": 3, - "name": "counter_party", - "type_info": "Text" - }, - { - "ordinal": 4, - "name": "offer_collateral", - "type_info": "Int8" - }, - { - "ordinal": 5, - "name": "accept_collateral", - "type_info": "Int8" - }, - { - "ordinal": 6, - "name": "total_collateral", - "type_info": "Int8" - }, - { - "ordinal": 7, - "name": "fee_rate_per_vb", - "type_info": "Int8" - }, - { - "ordinal": 8, - "name": "cet_locktime", - "type_info": "Int4" - }, - { - "ordinal": 9, - "name": "refund_locktime", - "type_info": "Int4" - }, - { - "ordinal": 10, - "name": "pnl", - "type_info": "Int8" - } - ], - "parameters": { - "Left": [] - }, - "nullable": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true - ] - }, - "hash": "6d3b30b69d37e751f617578e8285b3005212d70e3a528858e620b52ff0ea7d09" -} diff --git a/.sqlx/query-904700b1c4cb51b0b2620d30acbe73c0fce4c3d5f70404aec161d04975c7b6dd.json b/.sqlx/query-904700b1c4cb51b0b2620d30acbe73c0fce4c3d5f70404aec161d04975c7b6dd.json deleted file mode 100644 index decb6857..00000000 --- a/.sqlx/query-904700b1c4cb51b0b2620d30acbe73c0fce4c3d5f70404aec161d04975c7b6dd.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n INSERT INTO contracts (\n id, state, is_offer_party, counter_party,\n offer_collateral, accept_collateral, total_collateral, fee_rate_per_vb, \n cet_locktime, refund_locktime, pnl, contract_data\n )\n VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12)\n ON CONFLICT (id)\n DO UPDATE SET\n id = EXCLUDED.id,\n state = EXCLUDED.state,\n contract_data = EXCLUDED.contract_data,\n pnl = EXCLUDED.pnl\n ", - "describe": { - "columns": [], - "parameters": { - "Left": [ - "Text", - "Int2", - "Bool", - "Text", - "Int8", - "Int8", - "Int8", - "Int8", - "Int4", - "Int4", - "Int8", - "Bytea" - ] - }, - "nullable": [] - }, - "hash": "904700b1c4cb51b0b2620d30acbe73c0fce4c3d5f70404aec161d04975c7b6dd" -} diff --git a/.sqlx/query-97cd141835dda147b093709959356df7a924b1b1c25c3d7154b7ed64497424e9.json b/.sqlx/query-97cd141835dda147b093709959356df7a924b1b1c25c3d7154b7ed64497424e9.json deleted file mode 100644 index 36d95abb..00000000 --- a/.sqlx/query-97cd141835dda147b093709959356df7a924b1b1c25c3d7154b7ed64497424e9.json +++ /dev/null @@ -1,99 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "\n INSERT INTO contracts (\n id, state, is_offer_party, counter_party,\n offer_collateral, accept_collateral, total_collateral, fee_rate_per_vb, \n cet_locktime, refund_locktime, pnl, contract_data\n )\n VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12)\n RETURNING *\n ", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id", - "type_info": "Text" - }, - { - "ordinal": 1, - "name": "state", - "type_info": "Int2" - }, - { - "ordinal": 2, - "name": "is_offer_party", - "type_info": "Bool" - }, - { - "ordinal": 3, - "name": "counter_party", - "type_info": "Text" - }, - { - "ordinal": 4, - "name": "offer_collateral", - "type_info": "Int8" - }, - { - "ordinal": 5, - "name": "accept_collateral", - "type_info": "Int8" - }, - { - "ordinal": 6, - "name": "total_collateral", - "type_info": "Int8" - }, - { - "ordinal": 7, - "name": "fee_rate_per_vb", - "type_info": "Int8" - }, - { - "ordinal": 8, - "name": "cet_locktime", - "type_info": "Int4" - }, - { - "ordinal": 9, - "name": "refund_locktime", - "type_info": "Int4" - }, - { - "ordinal": 10, - "name": "pnl", - "type_info": "Int8" - }, - { - "ordinal": 11, - "name": "contract_data", - "type_info": "Bytea" - } - ], - "parameters": { - "Left": [ - "Text", - "Int2", - "Bool", - "Text", - "Int8", - "Int8", - "Int8", - "Int8", - "Int4", - "Int4", - "Int8", - "Bytea" - ] - }, - "nullable": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false - ] - }, - "hash": "97cd141835dda147b093709959356df7a924b1b1c25c3d7154b7ed64497424e9" -} diff --git a/.sqlx/query-a41467ffcd6821838eda59888f4556d7a8afecdd3807f863f8c7453e1ded1d7e.json b/.sqlx/query-a41467ffcd6821838eda59888f4556d7a8afecdd3807f863f8c7453e1ded1d7e.json deleted file mode 100644 index 7a89e10e..00000000 --- a/.sqlx/query-a41467ffcd6821838eda59888f4556d7a8afecdd3807f863f8c7453e1ded1d7e.json +++ /dev/null @@ -1,80 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "SELECT id, state, is_offer_party, counter_party, offer_collateral, accept_collateral, total_collateral, fee_rate_per_vb, cet_locktime, refund_locktime, pnl FROM contracts WHERE state = 1", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id", - "type_info": "Text" - }, - { - "ordinal": 1, - "name": "state", - "type_info": "Int2" - }, - { - "ordinal": 2, - "name": "is_offer_party", - "type_info": "Bool" - }, - { - "ordinal": 3, - "name": "counter_party", - "type_info": "Text" - }, - { - "ordinal": 4, - "name": "offer_collateral", - "type_info": "Int8" - }, - { - "ordinal": 5, - "name": "accept_collateral", - "type_info": "Int8" - }, - { - "ordinal": 6, - "name": "total_collateral", - "type_info": "Int8" - }, - { - "ordinal": 7, - "name": "fee_rate_per_vb", - "type_info": "Int8" - }, - { - "ordinal": 8, - "name": "cet_locktime", - "type_info": "Int4" - }, - { - "ordinal": 9, - "name": "refund_locktime", - "type_info": "Int4" - }, - { - "ordinal": 10, - "name": "pnl", - "type_info": "Int8" - } - ], - "parameters": { - "Left": [] - }, - "nullable": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true - ] - }, - "hash": "a41467ffcd6821838eda59888f4556d7a8afecdd3807f863f8c7453e1ded1d7e" -} diff --git a/.sqlx/query-c76c564743999400c5349536528f1420bf2749cc771a4aaf7ee1af447a60a925.json b/.sqlx/query-c76c564743999400c5349536528f1420bf2749cc771a4aaf7ee1af447a60a925.json deleted file mode 100644 index 5461418a..00000000 --- a/.sqlx/query-c76c564743999400c5349536528f1420bf2749cc771a4aaf7ee1af447a60a925.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "SELECT * FROM contracts WHERE state = 3", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id", - "type_info": "Text" - }, - { - "ordinal": 1, - "name": "state", - "type_info": "Int2" - }, - { - "ordinal": 2, - "name": "is_offer_party", - "type_info": "Bool" - }, - { - "ordinal": 3, - "name": "counter_party", - "type_info": "Text" - }, - { - "ordinal": 4, - "name": "offer_collateral", - "type_info": "Int8" - }, - { - "ordinal": 5, - "name": "accept_collateral", - "type_info": "Int8" - }, - { - "ordinal": 6, - "name": "total_collateral", - "type_info": "Int8" - }, - { - "ordinal": 7, - "name": "fee_rate_per_vb", - "type_info": "Int8" - }, - { - "ordinal": 8, - "name": "cet_locktime", - "type_info": "Int4" - }, - { - "ordinal": 9, - "name": "refund_locktime", - "type_info": "Int4" - }, - { - "ordinal": 10, - "name": "pnl", - "type_info": "Int8" - }, - { - "ordinal": 11, - "name": "contract_data", - "type_info": "Bytea" - } - ], - "parameters": { - "Left": [] - }, - "nullable": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false - ] - }, - "hash": "c76c564743999400c5349536528f1420bf2749cc771a4aaf7ee1af447a60a925" -} diff --git a/.sqlx/query-fa6cae992997a789b9362bdfdc7e91f205d02c2d549b5f8e3fa476e6fd140e98.json b/.sqlx/query-fa6cae992997a789b9362bdfdc7e91f205d02c2d549b5f8e3fa476e6fd140e98.json deleted file mode 100644 index 72c5ce6a..00000000 --- a/.sqlx/query-fa6cae992997a789b9362bdfdc7e91f205d02c2d549b5f8e3fa476e6fd140e98.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "db_name": "PostgreSQL", - "query": "SELECT * FROM contracts WHERE state = 1 AND is_offer_party = false", - "describe": { - "columns": [ - { - "ordinal": 0, - "name": "id", - "type_info": "Text" - }, - { - "ordinal": 1, - "name": "state", - "type_info": "Int2" - }, - { - "ordinal": 2, - "name": "is_offer_party", - "type_info": "Bool" - }, - { - "ordinal": 3, - "name": "counter_party", - "type_info": "Text" - }, - { - "ordinal": 4, - "name": "offer_collateral", - "type_info": "Int8" - }, - { - "ordinal": 5, - "name": "accept_collateral", - "type_info": "Int8" - }, - { - "ordinal": 6, - "name": "total_collateral", - "type_info": "Int8" - }, - { - "ordinal": 7, - "name": "fee_rate_per_vb", - "type_info": "Int8" - }, - { - "ordinal": 8, - "name": "cet_locktime", - "type_info": "Int4" - }, - { - "ordinal": 9, - "name": "refund_locktime", - "type_info": "Int4" - }, - { - "ordinal": 10, - "name": "pnl", - "type_info": "Int8" - }, - { - "ordinal": 11, - "name": "contract_data", - "type_info": "Bytea" - } - ], - "parameters": { - "Left": [] - }, - "nullable": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false - ] - }, - "hash": "fa6cae992997a789b9362bdfdc7e91f205d02c2d549b5f8e3fa476e6fd140e98" -} diff --git a/ddk/src/ddk.rs b/ddk/src/ddk.rs index eb2c3863..092727a0 100644 --- a/ddk/src/ddk.rs +++ b/ddk/src/ddk.rs @@ -155,11 +155,15 @@ where DlcManagerMessage::OfferDlc { contract_input, counter_party, - oracle_announcements: _, + oracle_announcements, responder, } => { let offer = manager - .send_offer(&contract_input, counter_party) + .send_offer_with_announcements( + &contract_input, + counter_party, + vec![oracle_announcements], + ) .await .expect("can't create offerdlc"); From e428d4582d635f1e17616e52bb13477c61c13e72 Mon Sep 17 00:00:00 2001 From: bennyhodl Date: Mon, 5 May 2025 15:15:51 -0400 Subject: [PATCH 4/5] clippy warnings --- ddk-manager/src/contract/accepted_contract.rs | 2 +- ddk-manager/src/contract/mod.rs | 2 +- ddk-manager/src/contract_updater.rs | 2 +- ddk-manager/src/error.rs | 16 ++++++++-------- ddk-manager/src/manager.rs | 7 +++---- ddk-manager/src/payout_curve.rs | 3 +-- ddk-node/src/command.rs | 14 +++++++------- ddk-node/src/lib.rs | 5 +---- ddk/src/oracle/kormir.rs | 2 +- ddk/src/storage/postgres/mod.rs | 8 ++++---- ddk/src/wallet.rs | 5 ++--- 11 files changed, 30 insertions(+), 36 deletions(-) diff --git a/ddk-manager/src/contract/accepted_contract.rs b/ddk-manager/src/contract/accepted_contract.rs index 6f0144e9..2165470b 100644 --- a/ddk-manager/src/contract/accepted_contract.rs +++ b/ddk-manager/src/contract/accepted_contract.rs @@ -48,7 +48,7 @@ impl AcceptedContract { string_id.push_str("0x"); let id = self.get_contract_id(); for i in &id { - write!(string_id, "{:02x}", i).unwrap(); + write!(string_id, "{i:02x}").unwrap(); } string_id diff --git a/ddk-manager/src/contract/mod.rs b/ddk-manager/src/contract/mod.rs index 470a7727..34711ed2 100644 --- a/ddk-manager/src/contract/mod.rs +++ b/ddk-manager/src/contract/mod.rs @@ -93,7 +93,7 @@ impl Contract { string_id.push_str("0x"); let id = self.get_id(); for i in &id { - write!(string_id, "{:02x}", i).unwrap(); + write!(string_id, "{i:02x}").unwrap(); } string_id diff --git a/ddk-manager/src/contract_updater.rs b/ddk-manager/src/contract_updater.rs index cbacdce7..8e77c9f5 100644 --- a/ddk-manager/src/contract_updater.rs +++ b/ddk-manager/src/contract_updater.rs @@ -337,7 +337,7 @@ fn populate_psbt(psbt: &mut Psbt, all_funding_inputs: &[&FundingInput]) -> Resul })?; let vout = x.prev_tx_vout; let tx_out = tx.output.get(vout as usize).ok_or_else(|| { - Error::InvalidParameters(format!("Previous tx output not found at index {}", vout)) + Error::InvalidParameters(format!("Previous tx output not found at index {vout}")) })?; psbt.inputs[input_index].witness_utxo = Some(tx_out.clone()); diff --git a/ddk-manager/src/error.rs b/ddk-manager/src/error.rs index 9f0ff5c4..aa8d439c 100644 --- a/ddk-manager/src/error.rs +++ b/ddk-manager/src/error.rs @@ -34,14 +34,14 @@ impl fmt::Display for Error { match *self { Error::Conversion(_) => write!(f, "Conversion error"), Error::IOError(_) => write!(f, "IO error"), - Error::Deserialize(ref s) => write!(f, "Deserialize error: {}", s), - Error::InvalidState(ref s) => write!(f, "Invalid state: {}", s), - Error::InvalidParameters(ref s) => write!(f, "Invalid parameters were provided: {}", s), - Error::WalletError(ref e) => write!(f, "Wallet error {}", e), - Error::BlockchainError(ref s) => write!(f, "Blockchain error {}", s), - Error::StorageError(ref s) => write!(f, "Storage error {}", s), - Error::DlcError(ref e) => write!(f, "Dlc error {}", e), - Error::OracleError(ref s) => write!(f, "Oracle error {}", s), + Error::Deserialize(ref s) => write!(f, "Deserialize error: {s}"), + Error::InvalidState(ref s) => write!(f, "Invalid state: {s}"), + Error::InvalidParameters(ref s) => write!(f, "Invalid parameters were provided: {s}"), + Error::WalletError(ref e) => write!(f, "Wallet error {e}"), + Error::BlockchainError(ref s) => write!(f, "Blockchain error {s}"), + Error::StorageError(ref s) => write!(f, "Storage error {s}"), + Error::DlcError(ref e) => write!(f, "Dlc error {e}"), + Error::OracleError(ref s) => write!(f, "Oracle error {s}"), Error::SecpError(_) => write!(f, "Secp error"), } } diff --git a/ddk-manager/src/manager.rs b/ddk-manager/src/manager.rs index 31858196..2e978e4b 100644 --- a/ddk-manager/src/manager.rs +++ b/ddk-manager/src/manager.rs @@ -1551,7 +1551,7 @@ where Err(e) => { let channel = crate::channel::FailedAccept { temporary_channel_id: accept_channel.temporary_channel_id, - error_message: format!("Error validating accept channel: {}", e), + error_message: format!("Error validating accept channel: {e}"), accept_message: accept_channel.clone(), counter_party: *peer_id, }; @@ -1630,7 +1630,7 @@ where Err(e) => { let channel = crate::channel::FailedSign { channel_id: sign_channel.channel_id, - error_message: format!("Error validating accept channel: {}", e), + error_message: format!("Error validating accept channel: {e}"), sign_message: sign_channel.clone(), counter_party: *peer_id, }; @@ -2216,8 +2216,7 @@ where } channel => { return Err(Error::InvalidState(format!( - "Not in a state adequate to receive a reject message. {:?}", - channel + "Not in a state adequate to receive a reject message. {channel:?}" ))) } } diff --git a/ddk-manager/src/payout_curve.rs b/ddk-manager/src/payout_curve.rs index 79bc6c0e..0f41d4db 100644 --- a/ddk-manager/src/payout_curve.rs +++ b/ddk-manager/src/payout_curve.rs @@ -169,8 +169,7 @@ trait Evaluable { if payout_double.is_sign_negative() || (payout_double != 0.0 && !payout_double.is_normal()) { return Err(Error::InvalidParameters(format!( - "Could not evaluate function for outcome {}, result was: {}", - outcome, payout_double + "Could not evaluate function for outcome {outcome}, result was: {payout_double}" ))); } diff --git a/ddk-node/src/command.rs b/ddk-node/src/command.rs index 0f379945..5825e542 100644 --- a/ddk-node/src/command.rs +++ b/ddk-node/src/command.rs @@ -51,7 +51,7 @@ pub async fn cli_command( .into_inner(); let offer_dlc: OfferDlc = serde_json::from_slice(&offer.offer_dlc)?; let offer = serde_json::to_string_pretty(&offer_dlc)?; - print!("{}", offer); + print!("{offer}"); } CliCommand::Offers => { let offers_request = client.list_offers(ListOffersRequest {}).await?.into_inner(); @@ -75,7 +75,7 @@ pub async fn cli_command( .into_inner(); let accept_dlc: AcceptDlc = serde_json::from_slice(&accept.accept_dlc)?; let accept_dlc = serde_json::to_string_pretty(&accept_dlc)?; - print!("{}", accept_dlc) + print!("{accept_dlc}"); } CliCommand::Contracts => { let contracts = client @@ -98,7 +98,7 @@ pub async fn cli_command( .await? .into_inner(); let pretty_string = serde_json::to_string_pretty(&balance)?; - println!("{}", pretty_string); + println!("{pretty_string}"); } CliCommand::Wallet(wallet) => match wallet { WalletCommand::NewAddress => { @@ -107,7 +107,7 @@ pub async fn cli_command( .await? .into_inner(); let pretty_string = serde_json::to_string_pretty(&address)?; - print!("{}", pretty_string); + print!("{pretty_string}"); } WalletCommand::Transactions => { let transactions = client @@ -120,7 +120,7 @@ pub async fn cli_command( .map(|txn| serde_json::from_slice(txn).unwrap()) .collect::>(); let txns = serde_json::to_string_pretty(&txns)?; - print!("{}", txns) + print!("{txns}"); } WalletCommand::Utxos => { let utxos = client @@ -174,7 +174,7 @@ pub async fn cli_command( .await? .into_inner(); let peers = serde_json::to_string_pretty(&peers_response.peers)?; - print!("{}", peers) + print!("{peers}"); } CliCommand::Connect { connect_string } => { let parts = connect_string.split("@").collect::>(); @@ -337,7 +337,7 @@ async fn interactive_contract_input( let mut outcome_payouts = Vec::with_capacity(outcomes.len()); println!("Specify the payouts for each outcome."); for outcome in outcomes { - println!("> Event outcome: {}", outcome); + println!("> Event outcome: {outcome}"); let offer: u64 = Text::new("Your payout:").prompt()?.parse()?; let accept: u64 = Text::new("Counterparty payout:").prompt()?.parse()?; let outcome_payout = EnumerationPayout { diff --git a/ddk-node/src/lib.rs b/ddk-node/src/lib.rs index 5fc71605..2c96b778 100644 --- a/ddk-node/src/lib.rs +++ b/ddk-node/src/lib.rs @@ -155,10 +155,7 @@ impl DdkRpc for DdkNode { .map_err(|e| { Status::new( Code::Cancelled, - format!( - "Contract offer could not be sent to counterparty. error={:?}", - e - ), + format!("Contract offer could not be sent to counterparty. error={e}"), ) })?; diff --git a/ddk/src/oracle/kormir.rs b/ddk/src/oracle/kormir.rs index 64d5345b..33fb364d 100644 --- a/ddk/src/oracle/kormir.rs +++ b/ddk/src/oracle/kormir.rs @@ -13,7 +13,7 @@ async fn get(host: &str, path: &str) -> anyhow::Result where T: serde::de::DeserializeOwned, { - let url = format!("{}/{}", host, path); + let url = format!("{host}/{path}"); let request = reqwest::get(url).await?.json::().await?; Ok(request) diff --git a/ddk/src/storage/postgres/mod.rs b/ddk/src/storage/postgres/mod.rs index 191647dc..7f72fab9 100644 --- a/ddk/src/storage/postgres/mod.rs +++ b/ddk/src/storage/postgres/mod.rs @@ -64,11 +64,11 @@ impl PostgresStore { ) -> Result, SqlxError> { let rows = if let Some(states) = states { let placeholders = (1..=states.len()) - .map(|i| format!("${}", i)) + .map(|i| format!("${i}")) .collect::>() .join(", "); - let query = format!("SELECT id, state, is_offer_party, counter_party, offer_collateral, accept_collateral, total_collateral, fee_rate_per_vb, cet_locktime, refund_locktime, pnl FROM contracts WHERE state IN ({})", placeholders); + let query = format!("SELECT id, state, is_offer_party, counter_party, offer_collateral, accept_collateral, total_collateral, fee_rate_per_vb, cet_locktime, refund_locktime, pnl FROM contracts WHERE state IN ({placeholders})"); let mut query = sqlx::query_as::<_, ContractRowNoBytes>(&query); @@ -285,7 +285,7 @@ impl ManagerStorage for PostgresStore { "#, ) .bind(hex::encode(contract.id)) - .bind(1 as i16) + .bind(1_i16) .bind(contract.is_offer_party) .bind(hex::encode(contract.counter_party.serialize())) .bind(contract.offer_params.collateral as i64) @@ -371,7 +371,7 @@ impl ManagerStorage for PostgresStore { .bind(offer_collateral as i64) .bind(accept_collateral as i64) .bind(total_collateral as i64) - .bind(1 as i64) + .bind(1_i64) .bind(contract.get_cet_locktime() as i32) .bind(contract.get_refund_locktime() as i32) .bind(Some(contract.get_pnl())) diff --git a/ddk/src/wallet.rs b/ddk/src/wallet.rs index 51af79f6..3db2cfe9 100644 --- a/ddk/src/wallet.rs +++ b/ddk/src/wallet.rs @@ -121,9 +121,8 @@ impl DlcDevKitWallet { let wallet = Arc::new(Mutex::new(internal_wallet)); - let blockchain = Arc::new( - EsploraClient::new(esplora_url, network).map_err(|e| WalletError::Esplora(e))?, - ); + let blockchain = + Arc::new(EsploraClient::new(esplora_url, network).map_err(WalletError::Esplora)?); // TODO: Actually get fees. I don't think it's used for regular DLCs though let mut fees: HashMap = HashMap::new(); From 1b278fd4eca383021e12d5c75a35965a271042aa Mon Sep 17 00:00:00 2001 From: bennyhodl Date: Mon, 5 May 2025 15:38:23 -0400 Subject: [PATCH 5/5] Update ddk to 0.0.17 --- Cargo.lock | 2 +- ddk-node/Cargo.toml | 2 +- ddk/Cargo.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 47d9fa40..592dbff3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -973,7 +973,7 @@ checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" [[package]] name = "ddk" -version = "0.0.16" +version = "0.0.17" dependencies = [ "anyhow", "async-trait", diff --git a/ddk-node/Cargo.toml b/ddk-node/Cargo.toml index cb048159..66de4e19 100644 --- a/ddk-node/Cargo.toml +++ b/ddk-node/Cargo.toml @@ -8,7 +8,7 @@ repository = "https://github.com/bennyhodl/dlcdevkit" edition = "2021" [dependencies] -ddk = { version = "0.0.16", path = "../ddk", features = ["marketplace", "postgres", "kormir", "nostr"] } +ddk = { version = "0.0.17", path = "../ddk", features = ["marketplace", "postgres", "kormir", "nostr"] } ddk-manager = { version = "0.7.5", path = "../ddk-manager", features = ["use-serde"] } ddk-payouts = { version = "0.0.16", path = "../payouts" } diff --git a/ddk/Cargo.toml b/ddk/Cargo.toml index 2e4f8096..9cf87c15 100644 --- a/ddk/Cargo.toml +++ b/ddk/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ddk" -version = "0.0.16" +version = "0.0.17" edition = "2021" license = "MIT" description = "application tooling for DLCs 🌊"