Merge pull request #93 from stakwork/fix/update-rumqttd

update sphinx-rs, send HELLO, drop alerts API in broker and use hello…
This commit is contained in:
Evan Feenstra
2023-07-07 11:58:59 -07:00
committed by GitHub
10 changed files with 531 additions and 413 deletions

196
Cargo.lock generated
View File

@@ -4,9 +4,9 @@ version = 3
[[package]]
name = "addr2line"
version = "0.19.0"
version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97"
checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3"
dependencies = [
"gimli",
]
@@ -129,9 +129,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
[[package]]
name = "backtrace"
version = "0.3.67"
version = "0.3.68"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca"
checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12"
dependencies = [
"addr2line",
"cc",
@@ -233,9 +233,9 @@ dependencies = [
[[package]]
name = "bstr"
version = "1.5.0"
version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a246e68bb43f6cd9db24bea052a53e40405417c5fb372e3d1a8a7f770a564ef5"
checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05"
dependencies = [
"memchr",
"serde",
@@ -251,7 +251,7 @@ dependencies = [
"once_cell",
"proc-macro2",
"quote",
"syn 2.0.18",
"syn 2.0.23",
]
[[package]]
@@ -415,9 +415,9 @@ checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
[[package]]
name = "cpufeatures"
version = "0.2.8"
version = "0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "03e69e28e9f7f77debdedbaafa2866e1de9ba56df55a8bd7cfc724c25a09987c"
checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
dependencies = [
"libc",
]
@@ -468,7 +468,7 @@ dependencies = [
"proc-macro2",
"quote",
"strsim",
"syn 2.0.18",
"syn 2.0.23",
]
[[package]]
@@ -479,14 +479,14 @@ checksum = "29a358ff9f12ec09c3e61fef9b5a9902623a695a46a917b07f269bff1445611a"
dependencies = [
"darling_core",
"quote",
"syn 2.0.18",
"syn 2.0.23",
]
[[package]]
name = "defmt"
version = "0.3.4"
version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "956673bd3cb347512bf988d1e8d89ac9a82b64f6eec54d3c01c3529dac019882"
checksum = "a8a2d011b2fee29fb7d659b83c43fce9a2cb4df453e16d441a51448e448f3f98"
dependencies = [
"bitflags",
"defmt-macros",
@@ -494,15 +494,15 @@ dependencies = [
[[package]]
name = "defmt-macros"
version = "0.3.5"
version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4abc4821bd84d3d8f49945ddb24d029be9385ed9b77c99bf2f6296847a6a9f0"
checksum = "54f0216f6c5acb5ae1a47050a6645024e6edafc2ee32d421955eccfef12ef92e"
dependencies = [
"defmt-parser",
"proc-macro-error",
"proc-macro2",
"quote",
"syn 1.0.109",
"syn 2.0.23",
]
[[package]]
@@ -584,9 +584,9 @@ dependencies = [
[[package]]
name = "embedded-svc"
version = "0.25.0"
version = "0.25.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4b70d70bd45c40027ed1c997ec3fb63ffb7237d5b2ad7b7da89adf0c3b93c71"
checksum = "adb928fd4f8e71dee7628bbab86b25df74c503fc5209cfeeb174a9806bb4fd11"
dependencies = [
"anyhow",
"atomic-waker",
@@ -645,7 +645,7 @@ dependencies = [
"darling",
"proc-macro2",
"quote",
"syn 2.0.18",
"syn 2.0.23",
]
[[package]]
@@ -657,6 +657,12 @@ dependencies = [
"serde",
]
[[package]]
name = "equivalent"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "88bffebc5d80432c9b140ee17875ff173a8ab62faad5b257da912bd2f6c1c0a1"
[[package]]
name = "errno"
version = "0.3.1"
@@ -680,9 +686,9 @@ dependencies = [
[[package]]
name = "esp-idf-hal"
version = "0.41.1"
version = "0.41.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a96e45aac076e5ba2e98a650c22a7deca22dff9ee34b817898de60b14264381"
checksum = "ea0ed6e41edf280787a5325aae0c82d39b1fb5ae3199871cd164ae1a650704d6"
dependencies = [
"anyhow",
"atomic-waker",
@@ -939,9 +945,9 @@ dependencies = [
[[package]]
name = "hashbrown"
version = "0.12.3"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
[[package]]
name = "heapless"
@@ -974,9 +980,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
[[package]]
name = "hermit-abi"
version = "0.3.1"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
[[package]]
name = "hex"
@@ -1052,12 +1058,12 @@ dependencies = [
[[package]]
name = "indexmap"
version = "1.9.3"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
dependencies = [
"autocfg",
"hashbrown 0.12.3",
"equivalent",
"hashbrown 0.14.0",
]
[[package]]
@@ -1100,9 +1106,9 @@ dependencies = [
[[package]]
name = "itoa"
version = "1.0.6"
version = "1.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
checksum = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a"
[[package]]
name = "js-sys"
@@ -1127,9 +1133,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
[[package]]
name = "libc"
version = "0.2.146"
version = "0.2.147"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b"
checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
[[package]]
name = "libloading"
@@ -1189,7 +1195,7 @@ checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
[[package]]
name = "lss-connector"
version = "0.1.0"
source = "git+https://github.com/stakwork/sphinx-rs.git?rev=d9c1db5e7464758b9d8e3c877ac9e6dc64369bf5#d9c1db5e7464758b9d8e3c877ac9e6dc64369bf5"
source = "git+https://github.com/stakwork/sphinx-rs.git?rev=78d8c989bed15f63e5cc7df42e19ee7117c33807#78d8c989bed15f63e5cc7df42e19ee7117c33807"
dependencies = [
"anyhow",
"log",
@@ -1227,9 +1233,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
[[package]]
name = "miniz_oxide"
version = "0.6.2"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
dependencies = [
"adler",
]
@@ -1321,9 +1327,9 @@ dependencies = [
[[package]]
name = "object"
version = "0.30.4"
version = "0.31.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385"
checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1"
dependencies = [
"memchr",
]
@@ -1342,9 +1348,9 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
[[package]]
name = "paste"
version = "1.0.12"
version = "1.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79"
checksum = "b4b27ab7be369122c218afc2079489cdcb4b517c0a3fc386ff11e1fedfcc2b35"
[[package]]
name = "peeking_take_while"
@@ -1360,9 +1366,9 @@ checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
[[package]]
name = "pin-project-lite"
version = "0.2.9"
version = "0.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57"
[[package]]
name = "pin-utils"
@@ -1423,18 +1429,18 @@ dependencies = [
[[package]]
name = "proc-macro2"
version = "1.0.60"
version = "1.0.63"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dec2b086b7a862cf4de201096214fa870344cf922b2b30c167badb3af3195406"
checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb"
dependencies = [
"unicode-ident",
]
[[package]]
name = "quote"
version = "1.0.28"
version = "1.0.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488"
checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105"
dependencies = [
"proc-macro2",
]
@@ -1495,9 +1501,21 @@ dependencies = [
[[package]]
name = "regex"
version = "1.8.4"
version = "1.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f"
checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
dependencies = [
"aho-corasick 1.0.2",
"memchr",
"regex-automata",
"regex-syntax",
]
[[package]]
name = "regex-automata"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e9aaecc05d5c4b5f7da074b9a0d1a0867e71fd36e7fc0482d8bcfe8e8fc56290"
dependencies = [
"aho-corasick 1.0.2",
"memchr",
@@ -1506,9 +1524,9 @@ dependencies = [
[[package]]
name = "regex-syntax"
version = "0.7.2"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78"
checksum = "2ab07dc67230e4a4718e70fd5c20055a4334b121f1f9db8fe63ef39ce9b8c846"
[[package]]
name = "remove_dir_all"
@@ -1571,9 +1589,9 @@ dependencies = [
[[package]]
name = "rustix"
version = "0.37.20"
version = "0.37.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b96e891d04aa506a6d1f318d2771bcb1c7dfda84e126660ace067c9b474bb2c0"
checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06"
dependencies = [
"bitflags",
"errno",
@@ -1585,15 +1603,15 @@ dependencies = [
[[package]]
name = "rustversion"
version = "1.0.12"
version = "1.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06"
checksum = "dc31bd9b61a32c31f9650d18add92aa83a49ba979c143eefd27fe7177b05bd5f"
[[package]]
name = "ryu"
version = "1.0.13"
version = "1.0.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
checksum = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9"
[[package]]
name = "same-file"
@@ -1642,9 +1660,9 @@ dependencies = [
[[package]]
name = "serde"
version = "1.0.164"
version = "1.0.167"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d"
checksum = "7daf513456463b42aa1d94cff7e0c24d682b429f020b9afa4f5ba5c40a22b237"
dependencies = [
"serde_derive",
]
@@ -1671,20 +1689,20 @@ dependencies = [
[[package]]
name = "serde_derive"
version = "1.0.164"
version = "1.0.167"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68"
checksum = "b69b106b68bc8054f0e974e70d19984040f8a5cf9215ca82626ea4853f82c4b9"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.18",
"syn 2.0.23",
]
[[package]]
name = "serde_json"
version = "1.0.97"
version = "1.0.100"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bdf3bf93142acad5821c99197022e170842cdbc1c30482b98750c688c640842a"
checksum = "0f1e14e89be7aa4c4b78bdbdc9eb5bf8517829a600ae8eaa39a6e1d960b5185c"
dependencies = [
"itoa",
"ryu",
@@ -1727,7 +1745,7 @@ dependencies = [
"darling",
"proc-macro2",
"quote",
"syn 2.0.18",
"syn 2.0.23",
]
[[package]]
@@ -1757,7 +1775,7 @@ dependencies = [
[[package]]
name = "sphinx-auther"
version = "0.1.12"
source = "git+https://github.com/stakwork/sphinx-rs.git?rev=d9c1db5e7464758b9d8e3c877ac9e6dc64369bf5#d9c1db5e7464758b9d8e3c877ac9e6dc64369bf5"
source = "git+https://github.com/stakwork/sphinx-rs.git?rev=78d8c989bed15f63e5cc7df42e19ee7117c33807#78d8c989bed15f63e5cc7df42e19ee7117c33807"
dependencies = [
"anyhow",
"base64",
@@ -1769,7 +1787,7 @@ dependencies = [
[[package]]
name = "sphinx-crypter"
version = "0.1.0"
source = "git+https://github.com/stakwork/sphinx-rs.git?rev=d9c1db5e7464758b9d8e3c877ac9e6dc64369bf5#d9c1db5e7464758b9d8e3c877ac9e6dc64369bf5"
source = "git+https://github.com/stakwork/sphinx-rs.git?rev=78d8c989bed15f63e5cc7df42e19ee7117c33807#78d8c989bed15f63e5cc7df42e19ee7117c33807"
dependencies = [
"anyhow",
"chacha20poly1305",
@@ -1780,7 +1798,7 @@ dependencies = [
[[package]]
name = "sphinx-glyph"
version = "0.1.2"
source = "git+https://github.com/stakwork/sphinx-rs.git?rev=d9c1db5e7464758b9d8e3c877ac9e6dc64369bf5#d9c1db5e7464758b9d8e3c877ac9e6dc64369bf5"
source = "git+https://github.com/stakwork/sphinx-rs.git?rev=78d8c989bed15f63e5cc7df42e19ee7117c33807#78d8c989bed15f63e5cc7df42e19ee7117c33807"
dependencies = [
"anyhow",
"hex",
@@ -1832,7 +1850,7 @@ dependencies = [
[[package]]
name = "sphinx-signer"
version = "0.1.0"
source = "git+https://github.com/stakwork/sphinx-rs.git?rev=d9c1db5e7464758b9d8e3c877ac9e6dc64369bf5#d9c1db5e7464758b9d8e3c877ac9e6dc64369bf5"
source = "git+https://github.com/stakwork/sphinx-rs.git?rev=78d8c989bed15f63e5cc7df42e19ee7117c33807#78d8c989bed15f63e5cc7df42e19ee7117c33807"
dependencies = [
"anyhow",
"bip39",
@@ -1938,9 +1956,9 @@ dependencies = [
[[package]]
name = "syn"
version = "2.0.18"
version = "2.0.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e"
checksum = "59fb7d6d8281a51045d62b8eb3a7d1ce347b76f312af50cd3dc0af39c87c1737"
dependencies = [
"proc-macro2",
"quote",
@@ -1963,22 +1981,22 @@ dependencies = [
[[package]]
name = "thiserror"
version = "1.0.40"
version = "1.0.43"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
checksum = "a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
version = "1.0.40"
version = "1.0.43"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.18",
"syn 2.0.23",
]
[[package]]
@@ -2009,15 +2027,15 @@ checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
[[package]]
name = "toml_datetime"
version = "0.6.2"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a76a9312f5ba4c2dec6b9161fdf25d87ad8a09256ccea5a556fef03c706a10f"
checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
[[package]]
name = "toml_edit"
version = "0.19.10"
version = "0.19.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2380d56e8670370eee6566b0bfd4265f65b3f432e8c6d85623f728d4fa31f739"
checksum = "c500344a19072298cd05a7224b3c0c629348b78692bf48466c5238656e315a78"
dependencies = [
"indexmap",
"toml_datetime",
@@ -2058,9 +2076,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
[[package]]
name = "unicode-ident"
version = "1.0.9"
version = "1.0.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0"
checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73"
[[package]]
name = "unicode-normalization"
@@ -2220,7 +2238,7 @@ dependencies = [
"once_cell",
"proc-macro2",
"quote",
"syn 2.0.18",
"syn 2.0.23",
"wasm-bindgen-shared",
]
@@ -2242,7 +2260,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.18",
"syn 2.0.23",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@@ -2301,7 +2319,7 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
dependencies = [
"windows-targets 0.48.0",
"windows-targets 0.48.1",
]
[[package]]
@@ -2319,7 +2337,7 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
dependencies = [
"windows-targets 0.48.0",
"windows-targets 0.48.1",
]
[[package]]
@@ -2339,9 +2357,9 @@ dependencies = [
[[package]]
name = "windows-targets"
version = "0.48.0"
version = "0.48.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
dependencies = [
"windows_aarch64_gnullvm 0.48.0",
"windows_aarch64_msvc 0.48.0",
@@ -2438,9 +2456,9 @@ checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
[[package]]
name = "winnow"
version = "0.4.7"
version = "0.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca0ace3845f0d96209f0375e6d367e3eb87eb65d27d445bdc9f1843a26f39448"
checksum = "a9482fe6ceabdf32f3966bfdd350ba69256a97c30253dc616fe0005af24f164e"
dependencies = [
"memchr",
]

544
broker/Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -22,7 +22,7 @@ once_cell = "1.12.0"
pretty_env_logger = "0.4.0"
rocket = { version = "0.5.0-rc.2", features = ["json"] }
rumqttc = "0.12.0"
rumqttd = { git = "https://github.com/Evanfeenstra/rumqtt", branch = "sphinx-2" }
rumqttd = { git = "https://github.com/Evanfeenstra/rumqtt", branch = "sphinx-3", features = ["websocket"] }
secp256k1 = { version = "0.24.0", features = ["rand-std", "bitcoin_hashes"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
@@ -35,8 +35,8 @@ vls-protocol = { git = "https://gitlab.com/lightning-signer/validating-li
vls-protocol-client = { git = "https://gitlab.com/lightning-signer/validating-lightning-signer.git", rev = "e199c70cbacd3404e7cecf95bb75ca02afd4cffd" }
vls-proxy = { git = "https://gitlab.com/lightning-signer/validating-lightning-signer.git", rev = "e199c70cbacd3404e7cecf95bb75ca02afd4cffd" }
lss-connector = { git = "https://github.com/stakwork/sphinx-rs", rev = "d9c1db5e7464758b9d8e3c877ac9e6dc64369bf5" }
sphinx-signer = { git = "https://github.com/stakwork/sphinx-rs", rev = "d9c1db5e7464758b9d8e3c877ac9e6dc64369bf5" }
lss-connector = { git = "https://github.com/stakwork/sphinx-rs", rev = "78d8c989bed15f63e5cc7df42e19ee7117c33807" }
sphinx-signer = { git = "https://github.com/stakwork/sphinx-rs", rev = "78d8c989bed15f63e5cc7df42e19ee7117c33807" }
# lss-connector = { path = "../../sphinx-rs/lss-connector" }
# sphinx-signer = { path = "../../sphinx-rs/signer" }

View File

@@ -46,8 +46,8 @@ impl MqttSignerPort {
// send LSS instead
let lss_reply = self.send_lss(res).await?;
let (res_topic2, res2) = self.send_request_wait(topics::LSS_MSG, lss_reply).await?;
if res_topic2 != topics::VLS_RETURN {
log::warn!("ChainTracker got a topic NOT on {}", topics::VLS_RETURN);
if res_topic2 != topics::VLS_RES {
log::warn!("ChainTracker got a topic NOT on {}", topics::VLS_RES);
}
the_res = res2;
}

View File

@@ -172,8 +172,8 @@ impl<C: 'static + Client> SignerLoop<C> {
log::info!("SEND ON {}", topics::LSS_MSG);
let (res_topic2, res2) = self.send_request_wait(topics::LSS_MSG, lss_reply)?;
log::info!("GOT ON {}, send to CLN", res_topic2);
if res_topic2 != topics::VLS_RETURN {
log::warn!("got a topic NOT on {}", topics::VLS_RETURN);
if res_topic2 != topics::VLS_RES {
log::warn!("got a topic NOT on {}", topics::VLS_RES);
}
the_res = res2;
}

View File

@@ -90,8 +90,6 @@ async fn reconnect_dance(
lss_conn: &LssBroker,
mqtt_tx: &mpsc::Sender<ChannelRequest>,
) -> Result<()> {
// sleep 3 seconds to make sure ESP32 subscription is active
sleep(3).await;
let ir = loop {
if let Ok(ir) = dance_step_1(cid, lss_conn, mqtt_tx).await {
break ir;

View File

@@ -2,7 +2,7 @@ use crate::conn::Connections;
use crate::conn::{ChannelReply, ChannelRequest};
use crate::util::Settings;
use rocket::tokio::{sync::broadcast, sync::mpsc};
use rumqttd::{local::LinkTx, Alert, AlertEvent, AuthMsg, Broker, Config, Notification};
use rumqttd::{local::LinkTx, AuthMsg, Broker, Config, Notification};
use sphinx_signer::sphinx_glyph::sphinx_auther::token::Token;
use sphinx_signer::sphinx_glyph::topics;
use std::sync::{Arc, Mutex};
@@ -21,16 +21,15 @@ pub fn start_broker(
connections: Arc<Mutex<Connections>>,
) -> anyhow::Result<()> {
let conf = config(settings);
// println!("CONF {:?}", conf);
// let client_id = expected_client_id.to_string();
let mut broker = Broker::new(conf);
let mut alerts = broker.alerts(vec![
// "/alerts/error/+".to_string(),
"/alerts/event/connect/+".to_string(),
"/alerts/event/disconnect/+".to_string(),
])?;
let (mut link_tx, mut link_rx) = broker.link("localclient")?;
link_tx.subscribe("#").unwrap();
let auth_sender_ = auth_sender.clone();
std::thread::spawn(move || {
broker
@@ -39,33 +38,13 @@ pub fn start_broker(
});
// connected/disconnected status alerts
let (internal_status_tx, internal_status_rx) = std::sync::mpsc::channel();
let _alerts_handle = std::thread::spawn(move || loop {
let alert = alerts.poll();
log::info!("Alert: {:?}", alert);
match alert.1 {
Alert::Event(cid, event) => {
// dont alert for local connections
let locals = vec!["console", "localclient"];
if !locals.contains(&cid.as_str()) {
if let Some(status) = match event {
AlertEvent::Connect => Some(true),
AlertEvent::Disconnect => Some(false),
_ => None,
} {
let _ = internal_status_tx.send((cid, status));
}
}
}
_ => (),
}
});
let (internal_status_tx, internal_status_rx) = std::sync::mpsc::channel::<(bool, String)>();
// track connections
let status_sender_ = status_sender.clone();
let link_tx_ = link_tx.clone();
let _conns_task = std::thread::spawn(move || {
while let Ok((cid, is)) = internal_status_rx.recv() {
while let Ok((is, cid)) = internal_status_rx.recv() {
if is {
subs(&cid, link_tx_.clone());
} else {
@@ -101,38 +80,48 @@ pub fn start_broker(
// receive replies back from glyph
let _sub_task = std::thread::spawn(move || {
while let Ok(message) = link_rx.recv() {
if let Some(n) = message {
match n {
Notification::Forward(f) => {
let topic_res = std::str::from_utf8(&f.publish.topic);
if let Err(_) = topic_res {
continue;
}
let topic = topic_res.unwrap();
if topic.ends_with(topics::ERROR) {
let _ = error_sender.send(f.publish.payload.to_vec());
} else {
// VLS, CONTROL, LSS
let ts: Vec<&str> = topic.split("/").collect();
if ts.len() != 2 {
continue;
if let None = message {
continue;
}
match message.unwrap() {
Notification::Forward(f) => {
let topic_res = std::str::from_utf8(&f.publish.topic);
if let Err(_) = topic_res {
continue;
}
let topic = topic_res.unwrap();
if topic.ends_with(topics::ERROR) {
let _ = error_sender.send(f.publish.payload.to_vec());
continue;
}
let ts: Vec<&str> = topic.split("/").collect();
if ts.len() != 2 {
continue;
}
let cid = ts[0].to_string();
let topic_end = ts[1].to_string();
if topic.ends_with(topics::HELLO) {
let _ = internal_status_tx.send((true, cid));
} else if topic.ends_with(topics::BYE) {
let _ = internal_status_tx.send((false, cid));
} else {
// VLS, CONTROL, LSS
let pld = f.publish.payload.to_vec();
if topic_end == topics::INIT_RES {
if let Err(e) = init_tx.send((cid, topic_end, pld)) {
log::error!("failed to pub to init_tx! {:?}", e);
}
let cid = ts[0].to_string();
let topic_end = ts[1].to_string();
let pld = f.publish.payload.to_vec();
if topic_end == topics::INIT_RES {
if let Err(e) = init_tx.send((cid, topic_end, pld)) {
log::error!("failed to pub to init_tx! {:?}", e);
}
} else {
if let Err(e) = msg_tx.send((cid, topic_end, pld)) {
log::error!("failed to pub to msg_tx! {:?}", e);
}
} else {
if let Err(e) = msg_tx.send((cid, topic_end, pld)) {
log::error!("failed to pub to msg_tx! {:?}", e);
}
}
}
_ => (),
};
}
_ => continue,
}
}
});
@@ -228,9 +217,9 @@ fn pub_timeout(
}
fn subs(cid: &str, mut ltx: LinkTx) {
ltx.subscribe(format!("{}/{}", cid, topics::VLS_RETURN))
ltx.subscribe(format!("{}/{}", cid, topics::VLS_RES))
.unwrap();
ltx.subscribe(format!("{}/{}", cid, topics::CONTROL_RETURN))
ltx.subscribe(format!("{}/{}", cid, topics::CONTROL_RES))
.unwrap();
ltx.subscribe(format!("{}/{}", cid, topics::ERROR)).unwrap();
ltx.subscribe(format!("{}/{}", cid, topics::LSS_RES))
@@ -284,28 +273,45 @@ fn config(settings: Settings) -> Config {
max_read_len: 10240,
..Default::default()
};
let mut servers = HashMap::new();
servers.insert(
"sphinx-broker".to_string(),
let conns = ConnectionSettings {
connection_timeout_ms: 5000,
throttle_delay_ms: 0,
max_payload_size: 262144,
max_inflight_count: 256,
max_inflight_size: 1024,
auth: None,
dynamic_filters: true,
};
let mut v4_servers = HashMap::new();
v4_servers.insert(
"v4".to_string(),
ServerSettings {
name: "sphinx-broker".to_string(),
name: "v4".to_string(),
listen: SocketAddrV4::new(Ipv4Addr::new(0, 0, 0, 0), settings.mqtt_port).into(),
next_connection_delay_ms: 1,
connections: ConnectionSettings {
connection_timeout_ms: 5000,
throttle_delay_ms: 0,
max_payload_size: 262144,
max_inflight_count: 256,
max_inflight_size: 1024,
auth: None,
dynamic_filters: true,
},
connections: conns.clone(),
tls: None,
},
);
let mut ws_servers = None;
if let Some(wsp) = settings.websocket_port {
let mut ws = HashMap::new();
ws.insert(
"ws".to_string(),
ServerSettings {
name: "ws".to_string(),
listen: SocketAddrV4::new(Ipv4Addr::new(0, 0, 0, 0), wsp).into(),
next_connection_delay_ms: 1,
connections: conns,
tls: None,
},
);
ws_servers = Some(ws);
}
Config {
id: 0,
v4: servers,
v4: v4_servers,
ws: ws_servers,
router,
console: ConsoleSettings::new("0.0.0.0:3030"),
cluster: None,

View File

@@ -10,6 +10,7 @@ pub struct Settings {
pub http_port: u16,
pub mqtt_port: u16,
pub network: Network,
pub websocket_port: Option<u16>,
}
impl Default for Settings {
@@ -18,6 +19,7 @@ impl Default for Settings {
http_port: 8000,
mqtt_port: 1883,
network: Network::Regtest,
websocket_port: Some(8083),
}
}
}

View File

@@ -19,10 +19,10 @@ serde_json = { version = "1.0.81", default-features = false }
serde_urlencoded = "0.7.1"
url = "2"
lss-connector = { git = "https://github.com/stakwork/sphinx-rs.git", default-features = false, rev = "d9c1db5e7464758b9d8e3c877ac9e6dc64369bf5" }
lss-connector = { git = "https://github.com/stakwork/sphinx-rs.git", default-features = false, rev = "78d8c989bed15f63e5cc7df42e19ee7117c33807" }
# lss-connector = { path = "../../sphinx-rs/lss-connector", default-features = false }
sphinx-crypter = { git = "https://github.com/stakwork/sphinx-rs.git", rev = "d9c1db5e7464758b9d8e3c877ac9e6dc64369bf5" }
sphinx-signer = { git = "https://github.com/stakwork/sphinx-rs.git", optional = true, rev = "d9c1db5e7464758b9d8e3c877ac9e6dc64369bf5" }
sphinx-crypter = { git = "https://github.com/stakwork/sphinx-rs.git", rev = "78d8c989bed15f63e5cc7df42e19ee7117c33807" }
sphinx-signer = { git = "https://github.com/stakwork/sphinx-rs.git", optional = true, rev = "78d8c989bed15f63e5cc7df42e19ee7117c33807" }
# sphinx-signer = { path = "../../sphinx-rs/signer", optional = true }
anyhow.workspace = true

View File

@@ -124,6 +124,10 @@ pub fn make_event_loop(
)
.expect("failed to init signer");
thread::sleep(std::time::Duration::from_secs(1));
// send the initial HELLO
mqtt_pub(&mut mqtt, client_id, topics::HELLO, &[]);
// FIXME it right to restart here?
let (root_handler, lss_signer) = match lss::init_lss(client_id, &rx, rhb, &mut mqtt) {
Ok(rl) => rl,
@@ -165,7 +169,7 @@ pub fn make_event_loop(
Ok((vls_b, lss_b)) => {
if lss_b.len() == 0 {
// no muts, respond directly back!
mqtt_pub(&mut mqtt, client_id, topics::VLS_RETURN, &vls_b);
mqtt_pub(&mut mqtt, client_id, topics::VLS_RES, &vls_b);
restart_esp_if_memory_low();
} else {
// muts! send LSS first!
@@ -195,7 +199,7 @@ pub fn make_event_loop(
// set msgs back to None
msgs = None;
mqtt_pub(&mut mqtt, client_id, &ret_topic, &bytes);
if ret_topic == topics::VLS_RETURN {
if ret_topic == topics::VLS_RES {
restart_esp_if_memory_low();
}
}
@@ -213,7 +217,7 @@ pub fn make_event_loop(
{
let res_data =
rmp_serde::to_vec_named(&res).expect("could not publish control response");
mqtt_pub(&mut mqtt, client_id, topics::CONTROL_RETURN, &res_data);
mqtt_pub(&mut mqtt, client_id, topics::CONTROL_RES, &res_data);
}
}
}
@@ -278,15 +282,17 @@ fn handle_control_response(
} else {
// A 10kB size stack was consistently overflowing when doing a factory reset
let builder = thread::Builder::new().stack_size(15000usize);
builder.spawn(move || {
led_tx.send(Status::Ota).unwrap();
if let Err(e) = update_sphinx_key(params, led_tx) {
log::error!("OTA update failed {:?}", e.to_string());
} else {
log::info!("OTA flow complete, restarting esp...");
unsafe { esp_idf_sys::esp_restart() };
}
}).unwrap();
builder
.spawn(move || {
led_tx.send(Status::Ota).unwrap();
if let Err(e) = update_sphinx_key(params, led_tx) {
log::error!("OTA update failed {:?}", e.to_string());
} else {
log::info!("OTA flow complete, restarting esp...");
unsafe { esp_idf_sys::esp_restart() };
}
})
.unwrap();
log::info!("OTA update launched...");
}
}