From 465b67bb1a049ecde624d053247c162f297b8890 Mon Sep 17 00:00:00 2001 From: f321x Date: Thu, 27 Jun 2024 15:46:25 +0000 Subject: [PATCH] begin with offer fetching --- taptrade-cli-demo/coordinator/.env | 2 +- .../coordinator/src/communication/api.rs | 6 ++++++ .../coordinator/src/communication/mod.rs | 11 +++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/taptrade-cli-demo/coordinator/.env b/taptrade-cli-demo/coordinator/.env index b7b0320..17c2a81 100644 --- a/taptrade-cli-demo/coordinator/.env +++ b/taptrade-cli-demo/coordinator/.env @@ -1,4 +1,4 @@ -ELECTRUM_BACKEND="ssl://mempool.space:40002" +ELECTRUM_BACKEND="ssl://mempool.space:40002" # we need a node with large mempool size limit for monitoring to miss no bond transactions DATABASE_PATH="./dbs/trades.db" # path to the coordinator sqlite database storing the trades BDK_DB_PATH="./dbs/bdk-wallet" # Path to the BDK Sled database (no .db postfix) WALLET_XPRV="tprv8ZgxMBicQKsPdHuCSjhQuSZP1h6ZTeiRqREYS5guGPdtL7D1uNLpnJmb2oJep99Esq1NbNZKVJBNnD2ZhuXSK7G5eFmmcx73gsoa65e2U32" diff --git a/taptrade-cli-demo/coordinator/src/communication/api.rs b/taptrade-cli-demo/coordinator/src/communication/api.rs index 9039ce8..57c51f9 100644 --- a/taptrade-cli-demo/coordinator/src/communication/api.rs +++ b/taptrade-cli-demo/coordinator/src/communication/api.rs @@ -34,3 +34,9 @@ pub struct OrderActivatedResponse { pub offer_id_hex: String, pub bond_locked_until_timestamp: u64, // unix timestamp. Do not touch bond till then unless offer gets taken. } + +pub struct OffersRequest { + pub buy_offers: bool, // true if looking for buy offers, false if looking for sell offers + pub amount_min_sat: u64, + pub amount_max_sat: u64, +} diff --git a/taptrade-cli-demo/coordinator/src/communication/mod.rs b/taptrade-cli-demo/coordinator/src/communication/mod.rs index 5d15dba..b5d6f9c 100755 --- a/taptrade-cli-demo/coordinator/src/communication/mod.rs +++ b/taptrade-cli-demo/coordinator/src/communication/mod.rs @@ -68,10 +68,21 @@ async fn submit_maker_bond( })) } +async fn fetch_available_offers( + Extension(database): Extension, + Extension(wallet): Extension, + Json(payload): Json, +) -> Result>, AppError> { + + // let offers = database.fetch_available_offers(&payload).await?; + // Ok(Json(offers)) +} + pub async fn api_server(database: CoordinatorDB, wallet: CoordinatorWallet) -> Result<()> { let app = Router::new() .route("/create-offer", post(receive_order)) .route("/submit-maker-bond", post(submit_maker_bond)) + .route("/fetch-available-offers", post(fetch_available_offers)) .layer(Extension(database)) .layer(Extension(wallet)); // add other routes here