diff --git a/Cargo.lock b/Cargo.lock index d87b8bd..d008aba 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -73,6 +73,18 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d902e3d592a523def97af8f317b08ce16b7ab854c1985a0c671e6f15cebc236" +[[package]] +name = "arrayref" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" + +[[package]] +name = "arrayvec" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" + [[package]] name = "async-trait" version = "0.1.88" @@ -96,6 +108,26 @@ version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" +[[package]] +name = "bincode" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36eaf5d7b090263e8150820482d5d93cd964a81e4019913c972f4edcc6edb740" +dependencies = [ + "bincode_derive", + "serde", + "unty", +] + +[[package]] +name = "bincode_derive" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf95709a440f45e986983918d0e8a1f30a9b1df04918fc828670606804ac3c09" +dependencies = [ + "virtue", +] + [[package]] name = "bitflags" version = "2.9.1" @@ -105,6 +137,19 @@ dependencies = [ "serde", ] +[[package]] +name = "blake3" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0" +dependencies = [ + "arrayref", + "arrayvec", + "cc", + "cfg-if", + "constant_time_eq", +] + [[package]] name = "block-buffer" version = "0.10.4" @@ -114,6 +159,16 @@ dependencies = [ "generic-array 0.14.7", ] +[[package]] +name = "cc" +version = "1.2.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1354349954c6fc9cb0deab020f27f783cf0b604e8bb754dc4658ecf0d29c35f" +dependencies = [ + "find-msvc-tools", + "shlex", +] + [[package]] name = "cfg-if" version = "1.0.0" @@ -214,6 +269,56 @@ dependencies = [ "tiny-keccak", ] +[[package]] +name = "constant_time_eq" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" + +[[package]] +name = "contained" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a0a9ba5ab57000eeb80eb10b61b1f6a537efd57375049050b6d20a32fc601cd" +dependencies = [ + "contained-core", + "contained-derive", + "contained-macros", +] + +[[package]] +name = "contained-core" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "864867f1a5d3cbb62643bd141eeb6e37aa4d7fe9bc742b35fbe1cfebb1546eb8" +dependencies = [ + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "contained-derive" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a0d713fb46a1a26564417a4a1d1c0fd40597a6c2409cd2cb0ea32be74ba38bd" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "contained-macros" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31a65fefd06ee0347d67c0d43ada8679ad0d6becf75c826be7f0fb3f3cc98aa7" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "convert_case" version = "0.6.0" @@ -303,6 +408,12 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" +[[package]] +name = "find-msvc-tools" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ced73b1dacfc750a6db6c0a0c3a3853c8b41997e2e2c563dc90804ae6867959" + [[package]] name = "foldhash" version = "0.1.5" @@ -351,12 +462,6 @@ dependencies = [ "wasi 0.14.2+wasi-0.2.4", ] -[[package]] -name = "glob" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" - [[package]] name = "hashbrown" version = "0.14.5" @@ -432,6 +537,12 @@ version = "0.2.172" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" +[[package]] +name = "libm" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" + [[package]] name = "log" version = "0.4.27" @@ -463,76 +574,12 @@ 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" @@ -540,6 +587,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", + "libm", ] [[package]] @@ -711,6 +759,16 @@ dependencies = [ "getrandom 0.3.3", ] +[[package]] +name = "rand_distr" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8615d50dcf34fa31f7ab52692afec947c4dd0ab803cc87cb3b0b4570ff7463" +dependencies = [ + "num-traits", + "rand", +] + [[package]] name = "regex" version = "1.11.1" @@ -792,47 +850,49 @@ checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "scsys" -version = "0.2.5" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f87fad8a9ec1eb219001987dc14eeff830b79d9cd6f876bcf59bc16f18dc8727" +checksum = "861746d3ce946c7650bcef8d8f1dfff1339f988de5d866f5cf83a6da3de03a41" dependencies = [ "scsys-core", "scsys-crypto", "scsys-derive", + "scsys-macros", "scsys-traits", "scsys-util", ] [[package]] name = "scsys-core" -version = "0.2.5" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5851143b6410472b523c2319b9f28abe6ceea1006edaca4a73cc5ef799fdebea" +checksum = "e449b8803b2219d1a17d480022dab0c5167291663d26962cee99a70ef1bb1ef6" dependencies = [ - "anyhow", - "chrono", - "glob", - "num", + "contained", "num-traits", "paste", "rand", + "scsys-state", + "scsys-time", "serde", "serde_json", "smart-default", "strum", "thiserror", - "time", + "tracing", "uuid", ] [[package]] name = "scsys-crypto" -version = "0.2.5" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defafcfc93daa4fbcbade098648abfb6b644c504b85d4610252b28e76395aac1" +checksum = "1b5043a24f5e9e3fbcac1a8ac83ced57610d0b5f8788f689963ca8bfa3b53c41" dependencies = [ - "anyhow", + "bincode", + "blake3", "chrono", + "digest", "generic-array 1.2.0", "paste", "rand", @@ -843,40 +903,91 @@ dependencies = [ "strum", "thiserror", "time", + "tracing", "typenum", "uuid", ] [[package]] name = "scsys-derive" -version = "0.2.5" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8be75a73a319d84e3dec10933b2d2b7b4a6526609aac79e6b4e65e56444dea6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "scsys-macros" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe278938ae4cde13423fe6c34f476591350e1ec14a1571080892040e6a11d8a1" +checksum = "31af0fc37fb5556f43ca2f9e9ebb80ea392807336621f849d1342a7221249543" dependencies = [ "proc-macro2", "quote", "syn", ] +[[package]] +name = "scsys-state" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adfe9d5eb3b8064713bbb317d496febed60399e96957e5fddf8a72471eea1aed" +dependencies = [ + "contained", + "getrandom 0.3.3", + "num-traits", + "paste", + "rand", + "rand_distr", + "serde", + "serde_json", + "smart-default", + "strum", + "thiserror", +] + +[[package]] +name = "scsys-time" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b8d8bf764010dbd3f28687a75bd282ac60f7a398036536a0a6722ecc52767be" +dependencies = [ + "chrono", + "contained", + "num-traits", + "paste", + "serde", + "serde_json", + "smart-default", + "strum", + "thiserror", + "time", +] + [[package]] name = "scsys-traits" -version = "0.2.5" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dab885544d2a5398a498f76a8bd2ead2421ade87571fa1289abfb0d921aad0ea" +checksum = "027638f42534edff530ea4a785deab4c766dff1fa0f107eccb4f09d619b6ca62" dependencies = [ "num-traits", ] [[package]] name = "scsys-util" -version = "0.2.5" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5feca24f2de121eb5c5ff6a6f6780c8cb45b4462f95bb432d5c48abc7e946159" +checksum = "d2f911980648932c4a866bba224a16ced3a02895552f1abfeb2633a79a1f881c" dependencies = [ - "num", + "num-traits", "rand", "serde", + "serde_json", "strum", + "tracing", ] [[package]] @@ -974,6 +1085,12 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7a6f98357c6bb0ebace19b22220e5543801d9de90ffe77f8abb27c056bac064" +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + [[package]] name = "smallvec" version = "1.15.0" @@ -1215,6 +1332,12 @@ version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" +[[package]] +name = "unty" +version = "0.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d49784317cd0d1ee7ec5c716dd598ec5b4483ea832a2dced265471cc0f690ae" + [[package]] name = "utf8parse" version = "0.2.2" @@ -1239,6 +1362,12 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" +[[package]] +name = "virtue" +version = "0.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "051eb1abcf10076295e815102942cc58f9d5e3b4560e46e53c21e8ff6f3af7b1" + [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" diff --git a/Cargo.toml b/Cargo.toml index 52c2c9d..0a9d670 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -40,7 +40,7 @@ clap = { features = ["cargo", "derive", "env"], optional = true, version = "4" } config = { optional = true, version = "0.15" } duct = { optional = true, version = "1" } # custom -scsys = { features = ["derive"], version = "0.2.5" } +scsys = { features = ["derive"], version = "0.3.2" } # data & serialization serde = { optional = true, features = ["derive"], version = "1" } serde_json = { optional = true, version = "1" }