diff --git a/Cargo.lock b/Cargo.lock index 0b71d59..fd001d5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -446,12 +446,24 @@ version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +[[package]] +name = "bytemuck" +version = "1.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "102087e286b4677862ea56cf8fc58bb2cdfa8725c40ffb80fe3a008eb7f2fc83" + [[package]] name = "byteorder" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +[[package]] +name = "byteorder-lite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" + [[package]] name = "bytes" version = "1.7.1" @@ -575,6 +587,7 @@ dependencies = [ "iana-time-zone", "js-sys", "num-traits", + "serde", "wasm-bindgen", "windows-targets 0.52.6", ] @@ -807,6 +820,41 @@ dependencies = [ "syn 2.0.72", ] +[[package]] +name = "darling" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.72", +] + +[[package]] +name = "darling_macro" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.72", +] + [[package]] name = "dashmap" version = "5.5.3" @@ -814,7 +862,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if 1.0.0", - "hashbrown", + "hashbrown 0.14.5", "lock_api", "once_cell", "parking_lot_core", @@ -845,6 +893,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" dependencies = [ "powerfmt", + "serde", ] [[package]] @@ -1292,7 +1341,7 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap", + "indexmap 2.3.0", "slab", "tokio", "tokio-util", @@ -1308,6 +1357,12 @@ dependencies = [ "byteorder", ] +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + [[package]] name = "hashbrown" version = "0.14.5" @@ -1536,6 +1591,12 @@ dependencies = [ "cc", ] +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "idna" version = "0.5.0" @@ -1546,6 +1607,17 @@ dependencies = [ "unicode-normalization", ] +[[package]] +name = "image" +version = "0.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99314c8a2152b8ddb211f924cdae532d8c5e4c8bb54728e12fff1b0cd5963a10" +dependencies = [ + "bytemuck", + "byteorder-lite", + "num-traits", +] + [[package]] name = "indexed_db_futures" version = "0.4.2" @@ -1563,6 +1635,17 @@ dependencies = [ "web-sys", ] +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + [[package]] name = "indexmap" version = "2.3.0" @@ -1570,7 +1653,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de3fc2e30ba82dd1b3911c8de1ffc143c74a914a14e99514d7637e3099df5ea0" dependencies = [ "equivalent", - "hashbrown", + "hashbrown 0.14.5", + "serde", ] [[package]] @@ -1966,7 +2050,7 @@ dependencies = [ "derive_more", "futures", "futures-util", - "indexmap", + "indexmap 2.3.0", "itertools", "kaspa-addresses", "kaspa-consensus-core", @@ -1987,6 +2071,22 @@ dependencies = [ "workflow-serializer", ] +[[package]] +name = "kaspa-pow" +version = "0.14.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=omega#e922a4e36a105f1710424cc4ee46ee79024df30e" +dependencies = [ + "js-sys", + "kaspa-consensus-client", + "kaspa-consensus-core", + "kaspa-hashes", + "kaspa-math", + "kaspa-utils", + "num", + "wasm-bindgen", + "workflow-wasm", +] + [[package]] name = "kaspa-rpc-core" version = "0.14.1" @@ -2051,7 +2151,7 @@ dependencies = [ "borsh", "cfg-if 1.0.0", "hexplay", - "indexmap", + "indexmap 2.3.0", "itertools", "kaspa-addresses", "kaspa-consensus-core", @@ -2217,6 +2317,7 @@ dependencies = [ "sha2", "slugify-rs", "sorted-insert", + "sparkle-core", "thiserror", "tokio", "wasm-bindgen", @@ -2370,6 +2471,34 @@ dependencies = [ "xxhash-rust", ] +[[package]] +name = "kaspa-wasm" +version = "0.14.1" +source = "git+https://github.com/aspectron/rusty-kaspa.git?branch=omega#e922a4e36a105f1710424cc4ee46ee79024df30e" +dependencies = [ + "cfg-if 1.0.0", + "js-sys", + "kaspa-addresses", + "kaspa-consensus-core", + "kaspa-consensus-wasm", + "kaspa-core", + "kaspa-math", + "kaspa-pow", + "kaspa-rpc-core", + "kaspa-txscript", + "kaspa-utils", + "kaspa-wallet-core 0.14.1 (git+https://github.com/aspectron/rusty-kaspa.git?branch=omega)", + "kaspa-wallet-keys", + "kaspa-wasm-core", + "kaspa-wrpc-client", + "kaspa-wrpc-wasm", + "num", + "wasm-bindgen", + "workflow-core", + "workflow-log", + "workflow-wasm", +] + [[package]] name = "kaspa-wasm-core" version = "0.14.1" @@ -2644,7 +2773,7 @@ version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44c817c713ff9f16e06cfdc23baa3fecf1b71eaaac714816a98a560f4e350aa6" dependencies = [ - "hashbrown", + "hashbrown 0.14.5", "itertools", "libm", "ryu", @@ -2795,12 +2924,76 @@ dependencies = [ "winapi", ] +[[package]] +name = "num" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" +dependencies = [ + "num-bigint", + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", +] + +[[package]] +name = "num-bigint" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +dependencies = [ + "num-integer", + "num-traits", +] + +[[package]] +name = "num-complex" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" +dependencies = [ + "num-traits", +] + [[package]] name = "num-conv" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +dependencies = [ + "num-bigint", + "num-integer", + "num-traits", +] + [[package]] name = "num-traits" version = "0.2.19" @@ -3176,6 +3369,15 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "qrcode" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d68782463e408eb1e668cf6152704bd856c78c5b6417adaee3203d8f4c1fc9ec" +dependencies = [ + "image", +] + [[package]] name = "quote" version = "1.0.36" @@ -3630,13 +3832,43 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_with" +version = "3.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cecfa94848272156ea67b2b1a53f20fc7bc638c4a46d2f8abde08f05f4b857" +dependencies = [ + "base64 0.22.1", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.3.0", + "serde", + "serde_derive", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8fee4991ef4f274617a51ad4af30519438dacb2f56ac773b08a1922ff743350" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.72", +] + [[package]] name = "serde_yaml" version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap", + "indexmap 2.3.0", "itoa", "ryu", "serde", @@ -3765,6 +3997,57 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5dd62203d74a728ae353b4d716fc2a80e8da881dfdf8bbc0c012d877a58c4030" +[[package]] +name = "sparkle-core" +version = "0.0.1" +source = "git+https://github.com/aspectron/sparkle.git?branch=omega#b6cbff050c1c3e529c910f8e8633d58c1c239cd5" +dependencies = [ + "ahash", + "async-trait", + "borsh", + "bs58", + "cfg-if 1.0.0", + "ctrlc", + "downcast-rs", + "faster-hex 0.9.0", + "futures", + "futures-util", + "js-sys", + "kaspa-addresses", + "kaspa-bip32", + "kaspa-consensus-client", + "kaspa-consensus-core", + "kaspa-hashes", + "kaspa-notify", + "kaspa-rpc-core", + "kaspa-txscript", + "kaspa-txscript-errors", + "kaspa-utils", + "kaspa-wallet-core 0.14.1 (git+https://github.com/aspectron/rusty-kaspa.git?branch=omega)", + "kaspa-wallet-keys", + "kaspa-wasm", + "kaspa-wrpc-client", + "qrcode", + "rand", + "secp256k1", + "serde", + "serde-wasm-bindgen", + "serde_json", + "serde_with", + "sha2", + "thiserror", + "tokio", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "workflow-core", + "workflow-http", + "workflow-log", + "workflow-rpc", + "workflow-serializer", + "workflow-wasm", +] + [[package]] name = "spin" version = "0.9.8" @@ -3780,6 +4063,12 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + [[package]] name = "subtle" version = "2.6.1" @@ -3983,7 +4272,9 @@ dependencies = [ "bytes", "libc", "mio 1.0.1", + "parking_lot", "pin-project-lite", + "signal-hook-registry", "socket2 0.5.7", "tokio-macros", "windows-sys 0.52.0", @@ -4075,7 +4366,7 @@ version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ - "indexmap", + "indexmap 2.3.0", "toml_datetime", "winnow 0.5.40", ] @@ -4086,7 +4377,7 @@ version = "0.22.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" dependencies = [ - "indexmap", + "indexmap 2.3.0", "serde", "serde_spanned", "toml_datetime", diff --git a/Cargo.toml b/Cargo.toml index 61265fb..03a2c4e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -54,6 +54,8 @@ kaspa-wasm-core = { git = "https://github.com/aspectron/rusty-kaspa.git", branch kaspa-wrpc-client = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "omega" } kaspa-wrpc-wasm = { git = "https://github.com/aspectron/rusty-kaspa.git", branch = "omega" } +sparkle-core = { git = "https://github.com/aspectron/sparkle.git", branch = "omega" } + # external aes = "0.8.3" ahash = "0.8.6" diff --git a/core/Cargo.toml b/core/Cargo.toml index 3fc30f7..7af467e 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -86,6 +86,7 @@ sha1.workspace = true sha2.workspace = true slugify-rs.workspace = true sorted-insert.workspace = true +sparkle-core.workspace = true thiserror.workspace = true wasm-bindgen-futures.workspace = true wasm-bindgen.workspace = true