From 04c3245f01b3beb8a39df908e16bb6a430bbfff9 Mon Sep 17 00:00:00 2001 From: f321x Date: Mon, 3 Jun 2024 18:49:30 +0200 Subject: [PATCH] structure project, use axum --- .devcontainer/devcontainer.json | 8 +- .github/dependabot.yml | 0 .gitignore | 2 + .vscode/settings.json | 6 + README.md | 0 docs/TapTrade_obs/.DS_Store | Bin docs/TapTrade_obs/.obsidian/app.json | 0 docs/TapTrade_obs/.obsidian/appearance.json | 0 docs/TapTrade_obs/.obsidian/bookmarks.json | 0 .../.obsidian/core-plugins-migration.json | 0 docs/TapTrade_obs/.obsidian/core-plugins.json | 0 docs/TapTrade_obs/.obsidian/graph.json | 0 docs/TapTrade_obs/.obsidian/workspace.json | 0 docs/TapTrade_obs/Obsidian How-To.md | 0 docs/TapTrade_obs/Project Timeline.md | 0 docs/TapTrade_obs/Research/.DS_Store | Bin .../Bitcoin fundamentals/Knowledge sources.md | 0 .../Signature and Flags.canvas | 0 .../Spending Taproot UTXOs.md | 0 .../Taproot output structure.canvas | 0 .../Research/Implementation/BDK.md | 0 .../demonstrator architecture.canvas | 0 .../Research/Implementation/Libraries.md | 0 .../Research/Implementation/UI ideas.canvas | 0 .../Trade Pipelines/Existing research.md | 0 .../Trade Pipelines/current trade flow.canvas | 0 .../concept locking script 1.canvas | 0 .../new concepts/concept pipeline 1.canvas | 0 .../assets/DER_encoded_signature.webp | Bin .../assets/advanced_trade_mode_switch.png | Bin docs/TapTrade_obs/assets/anyonecanpay.webp | Bin .../onchain_lightning_switch_screenshot.png | Bin docs/TapTrade_obs/assets/sighash_flags.webp | Bin docs/TapTrade_obs/signet-instance.md | 0 .../{ => coordinator}/Cargo.lock | 468 +++++++++++++----- .../{ => coordinator}/Cargo.toml | 6 +- .../{ => coordinator}/src/cli/mod.rs | 0 .../coordinator/src/communication/mod.rs | 11 + .../{ => coordinator}/src/coordinator/mod.rs | 0 .../{ => coordinator}/src/main.rs | 3 + .../{ => coordinator}/src/trader/mod.rs | 0 taptrade-cli-demo/src/communication/mod.rs | 6 - taptrade-cli-demo/trader/Cargo.lock | 7 + taptrade-cli-demo/trader/Cargo.toml | 6 + taptrade-cli-demo/trader/src/main.rs | 3 + 45 files changed, 389 insertions(+), 137 deletions(-) mode change 100644 => 100755 .devcontainer/devcontainer.json mode change 100644 => 100755 .github/dependabot.yml mode change 100644 => 100755 .gitignore create mode 100644 .vscode/settings.json mode change 100644 => 100755 README.md mode change 100644 => 100755 docs/TapTrade_obs/.DS_Store mode change 100644 => 100755 docs/TapTrade_obs/.obsidian/app.json mode change 100644 => 100755 docs/TapTrade_obs/.obsidian/appearance.json mode change 100644 => 100755 docs/TapTrade_obs/.obsidian/bookmarks.json mode change 100644 => 100755 docs/TapTrade_obs/.obsidian/core-plugins-migration.json mode change 100644 => 100755 docs/TapTrade_obs/.obsidian/core-plugins.json mode change 100644 => 100755 docs/TapTrade_obs/.obsidian/graph.json mode change 100644 => 100755 docs/TapTrade_obs/.obsidian/workspace.json mode change 100644 => 100755 docs/TapTrade_obs/Obsidian How-To.md mode change 100644 => 100755 docs/TapTrade_obs/Project Timeline.md mode change 100644 => 100755 docs/TapTrade_obs/Research/.DS_Store mode change 100644 => 100755 docs/TapTrade_obs/Research/Bitcoin fundamentals/Knowledge sources.md mode change 100644 => 100755 docs/TapTrade_obs/Research/Bitcoin fundamentals/Signature and Flags.canvas mode change 100644 => 100755 docs/TapTrade_obs/Research/Bitcoin fundamentals/Spending Taproot UTXOs.md mode change 100644 => 100755 docs/TapTrade_obs/Research/Bitcoin fundamentals/Taproot output structure.canvas mode change 100644 => 100755 docs/TapTrade_obs/Research/Implementation/BDK.md mode change 100644 => 100755 docs/TapTrade_obs/Research/Implementation/CLI demonstrator architecture/demonstrator architecture.canvas mode change 100644 => 100755 docs/TapTrade_obs/Research/Implementation/Libraries.md mode change 100644 => 100755 docs/TapTrade_obs/Research/Implementation/UI ideas.canvas mode change 100644 => 100755 docs/TapTrade_obs/Research/Trade Pipelines/Existing research.md mode change 100644 => 100755 docs/TapTrade_obs/Research/Trade Pipelines/current trade flow.canvas mode change 100644 => 100755 docs/TapTrade_obs/Research/Trade Pipelines/new concepts/concept locking script 1.canvas mode change 100644 => 100755 docs/TapTrade_obs/Research/Trade Pipelines/new concepts/concept pipeline 1.canvas mode change 100644 => 100755 docs/TapTrade_obs/assets/DER_encoded_signature.webp mode change 100644 => 100755 docs/TapTrade_obs/assets/advanced_trade_mode_switch.png mode change 100644 => 100755 docs/TapTrade_obs/assets/anyonecanpay.webp mode change 100644 => 100755 docs/TapTrade_obs/assets/onchain_lightning_switch_screenshot.png mode change 100644 => 100755 docs/TapTrade_obs/assets/sighash_flags.webp mode change 100644 => 100755 docs/TapTrade_obs/signet-instance.md rename taptrade-cli-demo/{ => coordinator}/Cargo.lock (84%) rename taptrade-cli-demo/{ => coordinator}/Cargo.toml (64%) rename taptrade-cli-demo/{ => coordinator}/src/cli/mod.rs (100%) mode change 100644 => 100755 create mode 100755 taptrade-cli-demo/coordinator/src/communication/mod.rs rename taptrade-cli-demo/{ => coordinator}/src/coordinator/mod.rs (100%) mode change 100644 => 100755 rename taptrade-cli-demo/{ => coordinator}/src/main.rs (79%) mode change 100644 => 100755 rename taptrade-cli-demo/{ => coordinator}/src/trader/mod.rs (100%) mode change 100644 => 100755 delete mode 100644 taptrade-cli-demo/src/communication/mod.rs create mode 100644 taptrade-cli-demo/trader/Cargo.lock create mode 100644 taptrade-cli-demo/trader/Cargo.toml create mode 100644 taptrade-cli-demo/trader/src/main.rs diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json old mode 100644 new mode 100755 index e685bc5..14a7751 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -10,7 +10,13 @@ "profile": "complete" }, "devwasm.azurecr.io/dev-wasm/dev-wasm-feature/rust-wasi:0": {}, - "ghcr.io/lumenpink/devcontainer-features/wasm-pack:0": {} + "ghcr.io/lumenpink/devcontainer-features/wasm-pack:0": {}, + "runArgs": [ + "--userns=keep-id" + ], + "containerEnv": { + "HOME": "/home/node" + } } // Features to add to the dev container. More info: https://containers.dev/features. diff --git a/.github/dependabot.yml b/.github/dependabot.yml old mode 100644 new mode 100755 diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 index b80a760..cc4d016 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ ./taptrade-cli-demo/target taptrade-cli-demo/target +taptrade-cli-demo/coordinator/target +taptrade-cli-demo/trader/target \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..70bc39c --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "rust-analyzer.linkedProjects": [ + "taptrade-cli-demo/coordinator/Cargo.toml", + "taptrade-cli-demo/trader/Cargo.toml", + ] +} \ No newline at end of file diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/.DS_Store b/docs/TapTrade_obs/.DS_Store old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/.obsidian/app.json b/docs/TapTrade_obs/.obsidian/app.json old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/.obsidian/appearance.json b/docs/TapTrade_obs/.obsidian/appearance.json old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/.obsidian/bookmarks.json b/docs/TapTrade_obs/.obsidian/bookmarks.json old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/.obsidian/core-plugins-migration.json b/docs/TapTrade_obs/.obsidian/core-plugins-migration.json old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/.obsidian/core-plugins.json b/docs/TapTrade_obs/.obsidian/core-plugins.json old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/.obsidian/graph.json b/docs/TapTrade_obs/.obsidian/graph.json old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/.obsidian/workspace.json b/docs/TapTrade_obs/.obsidian/workspace.json old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/Obsidian How-To.md b/docs/TapTrade_obs/Obsidian How-To.md old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/Project Timeline.md b/docs/TapTrade_obs/Project Timeline.md old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/Research/.DS_Store b/docs/TapTrade_obs/Research/.DS_Store old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/Research/Bitcoin fundamentals/Knowledge sources.md b/docs/TapTrade_obs/Research/Bitcoin fundamentals/Knowledge sources.md old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/Research/Bitcoin fundamentals/Signature and Flags.canvas b/docs/TapTrade_obs/Research/Bitcoin fundamentals/Signature and Flags.canvas old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/Research/Bitcoin fundamentals/Spending Taproot UTXOs.md b/docs/TapTrade_obs/Research/Bitcoin fundamentals/Spending Taproot UTXOs.md old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/Research/Bitcoin fundamentals/Taproot output structure.canvas b/docs/TapTrade_obs/Research/Bitcoin fundamentals/Taproot output structure.canvas old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/Research/Implementation/BDK.md b/docs/TapTrade_obs/Research/Implementation/BDK.md old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/Research/Implementation/CLI demonstrator architecture/demonstrator architecture.canvas b/docs/TapTrade_obs/Research/Implementation/CLI demonstrator architecture/demonstrator architecture.canvas old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/Research/Implementation/Libraries.md b/docs/TapTrade_obs/Research/Implementation/Libraries.md old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/Research/Implementation/UI ideas.canvas b/docs/TapTrade_obs/Research/Implementation/UI ideas.canvas old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/Research/Trade Pipelines/Existing research.md b/docs/TapTrade_obs/Research/Trade Pipelines/Existing research.md old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/Research/Trade Pipelines/current trade flow.canvas b/docs/TapTrade_obs/Research/Trade Pipelines/current trade flow.canvas old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/Research/Trade Pipelines/new concepts/concept locking script 1.canvas b/docs/TapTrade_obs/Research/Trade Pipelines/new concepts/concept locking script 1.canvas old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/Research/Trade Pipelines/new concepts/concept pipeline 1.canvas b/docs/TapTrade_obs/Research/Trade Pipelines/new concepts/concept pipeline 1.canvas old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/assets/DER_encoded_signature.webp b/docs/TapTrade_obs/assets/DER_encoded_signature.webp old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/assets/advanced_trade_mode_switch.png b/docs/TapTrade_obs/assets/advanced_trade_mode_switch.png old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/assets/anyonecanpay.webp b/docs/TapTrade_obs/assets/anyonecanpay.webp old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/assets/onchain_lightning_switch_screenshot.png b/docs/TapTrade_obs/assets/onchain_lightning_switch_screenshot.png old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/assets/sighash_flags.webp b/docs/TapTrade_obs/assets/sighash_flags.webp old mode 100644 new mode 100755 diff --git a/docs/TapTrade_obs/signet-instance.md b/docs/TapTrade_obs/signet-instance.md old mode 100644 new mode 100755 diff --git a/taptrade-cli-demo/Cargo.lock b/taptrade-cli-demo/coordinator/Cargo.lock similarity index 84% rename from taptrade-cli-demo/Cargo.lock rename to taptrade-cli-demo/coordinator/Cargo.lock index 72e10b8..ae441b5 100644 --- a/taptrade-cli-demo/Cargo.lock +++ b/taptrade-cli-demo/coordinator/Cargo.lock @@ -92,6 +92,61 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +[[package]] +name = "axum" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf" +dependencies = [ + "async-trait", + "axum-core", + "bytes", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-util", + "itoa", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "serde_json", + "serde_path_to_error", + "serde_urlencoded", + "sync_wrapper 1.0.1", + "tokio", + "tower", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "axum-core" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http", + "http-body", + "http-body-util", + "mime", + "pin-project-lite", + "rustversion", + "sync_wrapper 0.1.2", + "tower-layer", + "tower-service", + "tracing", +] + [[package]] name = "backtrace" version = "0.3.72" @@ -163,15 +218,6 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - [[package]] name = "bitcoin" version = "0.30.2" @@ -209,12 +255,6 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" -[[package]] -name = "bitflags" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" - [[package]] name = "block-buffer" version = "0.10.4" @@ -236,6 +276,12 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +[[package]] +name = "bytes" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" + [[package]] name = "cc" version = "1.0.98" @@ -312,6 +358,16 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" +[[package]] +name = "coordinator" +version = "0.1.0" +dependencies = [ + "axum", + "bdk", + "clap", + "frost-secp256k1", +] + [[package]] name = "cpufeatures" version = "0.2.12" @@ -336,15 +392,6 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216" -[[package]] -name = "crossbeam-channel" -version = "0.5.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" -dependencies = [ - "crossbeam-utils", -] - [[package]] name = "crossbeam-epoch" version = "0.9.18" @@ -494,22 +541,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" -[[package]] -name = "errno" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "fastrand" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" - [[package]] name = "ff" version = "0.13.0" @@ -526,6 +557,15 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + [[package]] name = "frost-core" version = "1.0.0" @@ -584,6 +624,39 @@ dependencies = [ "winapi", ] +[[package]] +name = "futures-channel" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +dependencies = [ + "futures-core", +] + +[[package]] +name = "futures-core" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" + +[[package]] +name = "futures-task" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" + +[[package]] +name = "futures-util" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +dependencies = [ + "futures-core", + "futures-task", + "pin-project-lite", + "pin-utils", +] + [[package]] name = "fxhash" version = "0.2.1" @@ -682,6 +755,86 @@ dependencies = [ "digest", ] +[[package]] +name = "http" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "hyper" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", +] + +[[package]] +name = "hyper-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56" +dependencies = [ + "bytes", + "futures-util", + "http", + "http-body", + "hyper", + "pin-project-lite", + "tokio", +] + [[package]] name = "instant" version = "0.1.13" @@ -691,25 +844,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "ipc-channel" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ab3a34c91b7e84a72643bd75d1bac3afd241f78f9859fe0b5e5b2a6a75732c2" -dependencies = [ - "bincode", - "crossbeam-channel", - "fnv", - "lazy_static", - "libc", - "mio", - "rand", - "serde", - "tempfile", - "uuid", - "windows", -] - [[package]] name = "is_terminal_polyfill" version = "1.70.0" @@ -754,24 +888,12 @@ dependencies = [ "signature", ] -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - [[package]] name = "libc" version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" -[[package]] -name = "linux-raw-sys" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" - [[package]] name = "litrs" version = "0.4.1" @@ -794,12 +916,24 @@ version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +[[package]] +name = "matchit" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" + [[package]] name = "memchr" version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + [[package]] name = "miniscript" version = "10.0.0" @@ -827,7 +961,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ "libc", - "log", "wasi", "windows-sys 0.48.0", ] @@ -872,12 +1005,44 @@ dependencies = [ "winapi", ] +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "pin-project" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + [[package]] name = "pin-project-lite" version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + [[package]] name = "pkcs8" version = "0.10.2" @@ -908,9 +1073,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "proc-macro2" -version = "1.0.84" +version = "1.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec96c6a92621310b51366f1e28d05ef11489516e93be030060e5fc12024a49d6" +checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" dependencies = [ "unicode-ident", ] @@ -960,7 +1125,7 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "bitflags 1.3.2", + "bitflags", ] [[package]] @@ -1003,19 +1168,6 @@ dependencies = [ "semver", ] -[[package]] -name = "rustix" -version = "0.38.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" -dependencies = [ - "bitflags 2.5.0", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.52.0", -] - [[package]] name = "rustls" version = "0.21.12" @@ -1038,6 +1190,12 @@ dependencies = [ "untrusted", ] +[[package]] +name = "rustversion" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" + [[package]] name = "ryu" version = "1.0.18" @@ -1132,6 +1290,28 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_path_to_error" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" +dependencies = [ + "itoa", + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + [[package]] name = "serdect" version = "0.2.0" @@ -1185,6 +1365,16 @@ version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" +[[package]] +name = "socket2" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + [[package]] name = "spin" version = "0.9.8" @@ -1245,26 +1435,16 @@ dependencies = [ ] [[package]] -name = "taptrade-cli-demo" -version = "0.1.0" -dependencies = [ - "bdk", - "clap", - "frost-secp256k1", - "ipc-channel", -] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" [[package]] -name = "tempfile" -version = "3.10.1" +name = "sync_wrapper" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" -dependencies = [ - "cfg-if", - "fastrand", - "rustix", - "windows-sys 0.52.0", -] +checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" [[package]] name = "thiserror" @@ -1288,26 +1468,78 @@ dependencies = [ [[package]] name = "tokio" -version = "1.37.0" +version = "1.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" +checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" dependencies = [ "backtrace", + "libc", + "mio", "pin-project-lite", + "socket2", "tokio-macros", + "windows-sys 0.48.0", ] [[package]] name = "tokio-macros" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", "syn 2.0.66", ] +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "pin-project", + "pin-project-lite", + "tokio", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-layer" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "log", + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", +] + [[package]] name = "typenum" version = "1.17.0" @@ -1332,15 +1564,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" -[[package]] -name = "uuid" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" -dependencies = [ - "getrandom", -] - [[package]] name = "version_check" version = "0.9.4" @@ -1459,15 +1682,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "windows" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" -dependencies = [ - "windows-targets 0.48.5", -] - [[package]] name = "windows-sys" version = "0.48.0" diff --git a/taptrade-cli-demo/Cargo.toml b/taptrade-cli-demo/coordinator/Cargo.toml similarity index 64% rename from taptrade-cli-demo/Cargo.toml rename to taptrade-cli-demo/coordinator/Cargo.toml index 0641449..389c68d 100644 --- a/taptrade-cli-demo/Cargo.toml +++ b/taptrade-cli-demo/coordinator/Cargo.toml @@ -1,10 +1,10 @@ [package] -name = "taptrade-cli-demo" +name = "coordinator" version = "0.1.0" edition = "2021" [dependencies] +axum = "0.7.5" bdk = "0.29.0" clap = { version = "4.5.4", features = ["derive", "cargo"] } -frost-secp256k1 = "1.0.0" -ipc-channel = "0.18.0" +frost-secp256k1 = "1.0.0" \ No newline at end of file diff --git a/taptrade-cli-demo/src/cli/mod.rs b/taptrade-cli-demo/coordinator/src/cli/mod.rs old mode 100644 new mode 100755 similarity index 100% rename from taptrade-cli-demo/src/cli/mod.rs rename to taptrade-cli-demo/coordinator/src/cli/mod.rs diff --git a/taptrade-cli-demo/coordinator/src/communication/mod.rs b/taptrade-cli-demo/coordinator/src/communication/mod.rs new file mode 100755 index 0000000..664e0a2 --- /dev/null +++ b/taptrade-cli-demo/coordinator/src/communication/mod.rs @@ -0,0 +1,11 @@ +use rocket::{get, launch, build, Rocket}; + +#[get("/")] +fn index() -> &'static str { + "Hello, world!" +} + +#[launch] +pub fn webserver() -> Rocket { + rocket::build().mount("/", routes![index]) +} \ No newline at end of file diff --git a/taptrade-cli-demo/src/coordinator/mod.rs b/taptrade-cli-demo/coordinator/src/coordinator/mod.rs old mode 100644 new mode 100755 similarity index 100% rename from taptrade-cli-demo/src/coordinator/mod.rs rename to taptrade-cli-demo/coordinator/src/coordinator/mod.rs diff --git a/taptrade-cli-demo/src/main.rs b/taptrade-cli-demo/coordinator/src/main.rs old mode 100644 new mode 100755 similarity index 79% rename from taptrade-cli-demo/src/main.rs rename to taptrade-cli-demo/coordinator/src/main.rs index 00ac54f..92554ea --- a/taptrade-cli-demo/src/main.rs +++ b/taptrade-cli-demo/coordinator/src/main.rs @@ -1,10 +1,13 @@ mod trader; mod coordinator; mod cli; +mod communication; use cli::parse_cli_args; +use communication::webserver; fn main() { + webserver(); let mode = parse_cli_args(); dbg!(mode); } diff --git a/taptrade-cli-demo/src/trader/mod.rs b/taptrade-cli-demo/coordinator/src/trader/mod.rs old mode 100644 new mode 100755 similarity index 100% rename from taptrade-cli-demo/src/trader/mod.rs rename to taptrade-cli-demo/coordinator/src/trader/mod.rs diff --git a/taptrade-cli-demo/src/communication/mod.rs b/taptrade-cli-demo/src/communication/mod.rs deleted file mode 100644 index 9335966..0000000 --- a/taptrade-cli-demo/src/communication/mod.rs +++ /dev/null @@ -1,6 +0,0 @@ -use ipc_channel::ipc::{IpcReceiver, IpcSender}; - -// pass data to other module running on other process or machine -// (exchange data between coordinator and traders) - -// https://github.com/servo/ipc-channel can be used to do inter-process communication diff --git a/taptrade-cli-demo/trader/Cargo.lock b/taptrade-cli-demo/trader/Cargo.lock new file mode 100644 index 0000000..6693a88 --- /dev/null +++ b/taptrade-cli-demo/trader/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "trader" +version = "0.1.0" diff --git a/taptrade-cli-demo/trader/Cargo.toml b/taptrade-cli-demo/trader/Cargo.toml new file mode 100644 index 0000000..e954a81 --- /dev/null +++ b/taptrade-cli-demo/trader/Cargo.toml @@ -0,0 +1,6 @@ +[package] +name = "trader" +version = "0.1.0" +edition = "2021" + +[dependencies] diff --git a/taptrade-cli-demo/trader/src/main.rs b/taptrade-cli-demo/trader/src/main.rs new file mode 100644 index 0000000..e7a11a9 --- /dev/null +++ b/taptrade-cli-demo/trader/src/main.rs @@ -0,0 +1,3 @@ +fn main() { + println!("Hello, world!"); +}