diff --git a/Cargo.lock b/Cargo.lock index 9be77c2..e120950 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "addr2line" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" dependencies = [ "gimli", ] @@ -112,47 +112,48 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.13" +version = "0.6.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" +checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", + "is_terminal_polyfill", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" +checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" [[package]] name = "anstyle-parse" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" +checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.2" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" +checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" dependencies = [ "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.2" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" +checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" dependencies = [ "anstyle", "windows-sys 0.52.0", @@ -170,70 +171,6 @@ version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" -[[package]] -name = "ark-ff" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" -dependencies = [ - "ark-ff-asm", - "ark-ff-macros", - "ark-serialize", - "ark-std", - "derivative", - "digest", - "itertools 0.10.5", - "num-bigint", - "num-traits 0.2.19", - "paste", - "rustc_version", - "zeroize", -] - -[[package]] -name = "ark-ff-asm" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-ff-macros" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" -dependencies = [ - "num-bigint", - "num-traits 0.2.19", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-serialize" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" -dependencies = [ - "ark-std", - "digest", - "num-bigint", -] - -[[package]] -name = "ark-std" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" -dependencies = [ - "num-traits 0.2.19", - "rand", -] - [[package]] name = "arrayref" version = "0.3.7" @@ -307,7 +244,7 @@ checksum = "7378575ff571966e99a744addeff0bff98b8ada0dedf1956d59e634db95eaac1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", "synstructure 0.13.1", ] @@ -330,7 +267,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -352,22 +289,21 @@ dependencies = [ [[package]] name = "async-channel" -version = "2.2.1" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "136d4d23bcc79e27423727b36823d86233aad06dfea531837b038394d11e9928" +checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" dependencies = [ "concurrent-queue", - "event-listener 5.3.0", - "event-listener-strategy 0.5.1", + "event-listener-strategy", "futures-core", "pin-project-lite", ] [[package]] name = "async-compression" -version = "0.4.8" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07dbbf24db18d609b1462965249abdf49129ccad073ec257da372adc83259c60" +checksum = "cd066d0b4ef8ecb03a55319dc13aa6910616d0f44008a045bb1835af830abff5" dependencies = [ "brotli", "flate2", @@ -379,13 +315,13 @@ dependencies = [ [[package]] name = "async-executor" -version = "1.11.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b10202063978b3351199d68f8b22c4e47e4b1b822f8d43fd862d5ea8c006b29a" +checksum = "d7ebdfa2ebdab6b1760375fa7d6f382b9f486eac35fc994625a00e89280bdbb7" dependencies = [ "async-task", "concurrent-queue", - "fastrand 2.0.2", + "fastrand 2.1.0", "futures-lite 2.3.0", "slab", ] @@ -396,10 +332,10 @@ version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c" dependencies = [ - "async-channel 2.2.1", + "async-channel 2.3.1", "async-executor", - "async-io 2.3.2", - "async-lock 3.3.0", + "async-io 2.3.3", + "async-lock 3.4.0", "blocking", "futures-lite 2.3.0", "once_cell", @@ -427,17 +363,17 @@ dependencies = [ [[package]] name = "async-io" -version = "2.3.2" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884" +checksum = "0d6baa8f0178795da0e71bc42c9e5d13261aac7ee549853162e66a241ba17964" dependencies = [ - "async-lock 3.3.0", + "async-lock 3.4.0", "cfg-if", "concurrent-queue", "futures-io", "futures-lite 2.3.0", "parking", - "polling 3.7.0", + "polling 3.7.2", "rustix 0.38.34", "slab", "tracing", @@ -455,12 +391,12 @@ dependencies = [ [[package]] name = "async-lock" -version = "3.3.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" +checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ - "event-listener 4.0.3", - "event-listener-strategy 0.4.0", + "event-listener 5.3.1", + "event-listener-strategy", "pin-project-lite", ] @@ -509,24 +445,24 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] name = "async-task" -version = "4.7.0" +version = "4.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799" +checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.80" +version = "0.1.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -587,14 +523,14 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] name = "autocfg" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "axum" @@ -609,7 +545,7 @@ dependencies = [ "futures-util", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.28", + "hyper 0.14.30", "itoa", "matchit", "memchr", @@ -618,7 +554,7 @@ dependencies = [ "pin-project-lite", "rustversion", "serde", - "sync_wrapper", + "sync_wrapper 0.1.2", "tower", "tower-layer", "tower-service", @@ -643,9 +579,9 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.71" +version = "0.3.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" dependencies = [ "addr2line", "cc", @@ -737,9 +673,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" dependencies = [ "serde", ] @@ -785,25 +721,22 @@ dependencies = [ [[package]] name = "blocking" -version = "1.5.1" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118" +checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" dependencies = [ - "async-channel 2.2.1", - "async-lock 3.3.0", + "async-channel 2.3.1", "async-task", - "fastrand 2.0.2", "futures-io", "futures-lite 2.3.0", "piper", - "tracing", ] [[package]] name = "brotli" -version = "4.0.0" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "125740193d7fee5cc63ab9e16c2fdc4e07c74ba755cc53b327d6ea029e9fc569" +checksum = "74f7971dbd9326d58187408ab83117d8ac1bb9c17b085fdacd1cf2f598719b6b" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -812,9 +745,9 @@ dependencies = [ [[package]] name = "brotli-decompressor" -version = "3.0.0" +version = "4.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65622a320492e09b5e0ac436b14c54ff68199bac392d0e89a6832c4518eea525" +checksum = "9a45bd2e4095a8b518033b128020dd4a55aab1c0a381ba4404a472630f4bc362" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -836,7 +769,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" dependencies = [ "memchr", - "regex-automata 0.4.6", + "regex-automata 0.4.7", "serde", ] @@ -860,9 +793,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" +checksum = "a12916984aab3fa6e39d655a33e09c0071eb36d6ab3aea5c2d78551f1df6d952" [[package]] name = "bytesize" @@ -882,7 +815,7 @@ dependencies = [ "cainome-rs", "cainome-rs-macro", "camino", - "clap 4.5.4", + "clap 4.5.9", "clap_complete", "convert_case", "serde", @@ -914,7 +847,7 @@ dependencies = [ "quote", "serde_json", "starknet", - "syn 2.0.66", + "syn 2.0.71", "thiserror", ] @@ -927,12 +860,12 @@ dependencies = [ "cainome-cairo-serde", "cainome-parser", "camino", - "prettyplease 0.2.19", + "prettyplease 0.2.20", "proc-macro2", "quote", "serde_json", "starknet", - "syn 2.0.66", + "syn 2.0.71", "thiserror", ] @@ -949,14 +882,14 @@ dependencies = [ "quote", "serde_json", "starknet", - "syn 2.0.66", + "syn 2.0.71", "thiserror", ] [[package]] name = "cairo-lang-casm" -version = "2.6.3" -source = "git+https://github.com/starkware-libs/cairo?rev=d9984ef58e2f704909e271f2f01327f520ded632#d9984ef58e2f704909e271f2f01327f520ded632" +version = "2.6.4" +source = "git+https://github.com/starkware-libs/cairo?rev=43cf361d9b6b26ec8cd5ee076dd15341bde7577c#43cf361d9b6b26ec8cd5ee076dd15341bde7577c" dependencies = [ "cairo-lang-utils", "indoc 2.0.5", @@ -968,8 +901,8 @@ dependencies = [ [[package]] name = "cairo-lang-compiler" -version = "2.6.3" -source = "git+https://github.com/starkware-libs/cairo?rev=d9984ef58e2f704909e271f2f01327f520ded632#d9984ef58e2f704909e271f2f01327f520ded632" +version = "2.6.4" +source = "git+https://github.com/starkware-libs/cairo?rev=43cf361d9b6b26ec8cd5ee076dd15341bde7577c#43cf361d9b6b26ec8cd5ee076dd15341bde7577c" dependencies = [ "anyhow", "cairo-lang-defs", @@ -991,16 +924,16 @@ dependencies = [ [[package]] name = "cairo-lang-debug" -version = "2.6.3" -source = "git+https://github.com/starkware-libs/cairo?rev=d9984ef58e2f704909e271f2f01327f520ded632#d9984ef58e2f704909e271f2f01327f520ded632" +version = "2.6.4" +source = "git+https://github.com/starkware-libs/cairo?rev=43cf361d9b6b26ec8cd5ee076dd15341bde7577c#43cf361d9b6b26ec8cd5ee076dd15341bde7577c" dependencies = [ "cairo-lang-utils", ] [[package]] name = "cairo-lang-defs" -version = "2.6.3" -source = "git+https://github.com/starkware-libs/cairo?rev=d9984ef58e2f704909e271f2f01327f520ded632#d9984ef58e2f704909e271f2f01327f520ded632" +version = "2.6.4" +source = "git+https://github.com/starkware-libs/cairo?rev=43cf361d9b6b26ec8cd5ee076dd15341bde7577c#43cf361d9b6b26ec8cd5ee076dd15341bde7577c" dependencies = [ "cairo-lang-debug", "cairo-lang-diagnostics", @@ -1015,8 +948,8 @@ dependencies = [ [[package]] name = "cairo-lang-diagnostics" -version = "2.6.3" -source = "git+https://github.com/starkware-libs/cairo?rev=d9984ef58e2f704909e271f2f01327f520ded632#d9984ef58e2f704909e271f2f01327f520ded632" +version = "2.6.4" +source = "git+https://github.com/starkware-libs/cairo?rev=43cf361d9b6b26ec8cd5ee076dd15341bde7577c#43cf361d9b6b26ec8cd5ee076dd15341bde7577c" dependencies = [ "cairo-lang-debug", "cairo-lang-filesystem", @@ -1026,8 +959,8 @@ dependencies = [ [[package]] name = "cairo-lang-eq-solver" -version = "2.6.3" -source = "git+https://github.com/starkware-libs/cairo?rev=d9984ef58e2f704909e271f2f01327f520ded632#d9984ef58e2f704909e271f2f01327f520ded632" +version = "2.6.4" +source = "git+https://github.com/starkware-libs/cairo?rev=43cf361d9b6b26ec8cd5ee076dd15341bde7577c#43cf361d9b6b26ec8cd5ee076dd15341bde7577c" dependencies = [ "cairo-lang-utils", "good_lp", @@ -1035,8 +968,8 @@ dependencies = [ [[package]] name = "cairo-lang-filesystem" -version = "2.6.3" -source = "git+https://github.com/starkware-libs/cairo?rev=d9984ef58e2f704909e271f2f01327f520ded632#d9984ef58e2f704909e271f2f01327f520ded632" +version = "2.6.4" +source = "git+https://github.com/starkware-libs/cairo?rev=43cf361d9b6b26ec8cd5ee076dd15341bde7577c#43cf361d9b6b26ec8cd5ee076dd15341bde7577c" dependencies = [ "cairo-lang-debug", "cairo-lang-utils", @@ -1048,8 +981,8 @@ dependencies = [ [[package]] name = "cairo-lang-formatter" -version = "2.6.3" -source = "git+https://github.com/starkware-libs/cairo?rev=d9984ef58e2f704909e271f2f01327f520ded632#d9984ef58e2f704909e271f2f01327f520ded632" +version = "2.6.4" +source = "git+https://github.com/starkware-libs/cairo?rev=43cf361d9b6b26ec8cd5ee076dd15341bde7577c#43cf361d9b6b26ec8cd5ee076dd15341bde7577c" dependencies = [ "anyhow", "cairo-lang-diagnostics", @@ -1068,8 +1001,8 @@ dependencies = [ [[package]] name = "cairo-lang-lowering" -version = "2.6.3" -source = "git+https://github.com/starkware-libs/cairo?rev=d9984ef58e2f704909e271f2f01327f520ded632#d9984ef58e2f704909e271f2f01327f520ded632" +version = "2.6.4" +source = "git+https://github.com/starkware-libs/cairo?rev=43cf361d9b6b26ec8cd5ee076dd15341bde7577c#43cf361d9b6b26ec8cd5ee076dd15341bde7577c" dependencies = [ "cairo-lang-debug", "cairo-lang-defs", @@ -1093,7 +1026,7 @@ dependencies = [ [[package]] name = "cairo-lang-macro" version = "0.0.1" -source = "git+https://github.com/software-mansion/scarb?rev=f1aa7b09507a84d209d83b2fa80472c82605cc43#f1aa7b09507a84d209d83b2fa80472c82605cc43" +source = "git+https://github.com/software-mansion/scarb?rev=4b75f435f68248a7c096ec0fa5939ecdd92e2d79#4b75f435f68248a7c096ec0fa5939ecdd92e2d79" dependencies = [ "cairo-lang-macro-attributes", "cairo-lang-macro-stable", @@ -1103,22 +1036,22 @@ dependencies = [ [[package]] name = "cairo-lang-macro-attributes" version = "0.0.1" -source = "git+https://github.com/software-mansion/scarb?rev=f1aa7b09507a84d209d83b2fa80472c82605cc43#f1aa7b09507a84d209d83b2fa80472c82605cc43" +source = "git+https://github.com/software-mansion/scarb?rev=4b75f435f68248a7c096ec0fa5939ecdd92e2d79#4b75f435f68248a7c096ec0fa5939ecdd92e2d79" dependencies = [ "quote", "scarb-stable-hash", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] name = "cairo-lang-macro-stable" version = "1.0.0" -source = "git+https://github.com/software-mansion/scarb?rev=f1aa7b09507a84d209d83b2fa80472c82605cc43#f1aa7b09507a84d209d83b2fa80472c82605cc43" +source = "git+https://github.com/software-mansion/scarb?rev=4b75f435f68248a7c096ec0fa5939ecdd92e2d79#4b75f435f68248a7c096ec0fa5939ecdd92e2d79" [[package]] name = "cairo-lang-parser" -version = "2.6.3" -source = "git+https://github.com/starkware-libs/cairo?rev=d9984ef58e2f704909e271f2f01327f520ded632#d9984ef58e2f704909e271f2f01327f520ded632" +version = "2.6.4" +source = "git+https://github.com/starkware-libs/cairo?rev=43cf361d9b6b26ec8cd5ee076dd15341bde7577c#43cf361d9b6b26ec8cd5ee076dd15341bde7577c" dependencies = [ "cairo-lang-diagnostics", "cairo-lang-filesystem", @@ -1136,8 +1069,8 @@ dependencies = [ [[package]] name = "cairo-lang-plugins" -version = "2.6.3" -source = "git+https://github.com/starkware-libs/cairo?rev=d9984ef58e2f704909e271f2f01327f520ded632#d9984ef58e2f704909e271f2f01327f520ded632" +version = "2.6.4" +source = "git+https://github.com/starkware-libs/cairo?rev=43cf361d9b6b26ec8cd5ee076dd15341bde7577c#43cf361d9b6b26ec8cd5ee076dd15341bde7577c" dependencies = [ "cairo-lang-defs", "cairo-lang-diagnostics", @@ -1154,31 +1087,31 @@ dependencies = [ [[package]] name = "cairo-lang-proc-macros" -version = "2.6.3" -source = "git+https://github.com/starkware-libs/cairo?rev=d9984ef58e2f704909e271f2f01327f520ded632#d9984ef58e2f704909e271f2f01327f520ded632" +version = "2.6.4" +source = "git+https://github.com/starkware-libs/cairo?rev=43cf361d9b6b26ec8cd5ee076dd15341bde7577c#43cf361d9b6b26ec8cd5ee076dd15341bde7577c" dependencies = [ "cairo-lang-debug", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] name = "cairo-lang-project" -version = "2.6.3" -source = "git+https://github.com/starkware-libs/cairo?rev=d9984ef58e2f704909e271f2f01327f520ded632#d9984ef58e2f704909e271f2f01327f520ded632" +version = "2.6.4" +source = "git+https://github.com/starkware-libs/cairo?rev=43cf361d9b6b26ec8cd5ee076dd15341bde7577c#43cf361d9b6b26ec8cd5ee076dd15341bde7577c" dependencies = [ "cairo-lang-filesystem", "cairo-lang-utils", "serde", "smol_str", "thiserror", - "toml 0.8.12", + "toml 0.8.15", ] [[package]] name = "cairo-lang-semantic" -version = "2.6.3" -source = "git+https://github.com/starkware-libs/cairo?rev=d9984ef58e2f704909e271f2f01327f520ded632#d9984ef58e2f704909e271f2f01327f520ded632" +version = "2.6.4" +source = "git+https://github.com/starkware-libs/cairo?rev=43cf361d9b6b26ec8cd5ee076dd15341bde7577c#43cf361d9b6b26ec8cd5ee076dd15341bde7577c" dependencies = [ "cairo-lang-debug", "cairo-lang-defs", @@ -1198,13 +1131,13 @@ dependencies = [ "once_cell", "salsa", "smol_str", - "toml 0.8.12", + "toml 0.8.15", ] [[package]] name = "cairo-lang-sierra" -version = "2.6.3" -source = "git+https://github.com/starkware-libs/cairo?rev=d9984ef58e2f704909e271f2f01327f520ded632#d9984ef58e2f704909e271f2f01327f520ded632" +version = "2.6.4" +source = "git+https://github.com/starkware-libs/cairo?rev=43cf361d9b6b26ec8cd5ee076dd15341bde7577c#43cf361d9b6b26ec8cd5ee076dd15341bde7577c" dependencies = [ "anyhow", "cairo-lang-utils", @@ -1215,7 +1148,9 @@ dependencies = [ "lalrpop", "lalrpop-util", "num-bigint", + "num-integer", "num-traits 0.2.19", + "once_cell", "regex", "salsa", "serde", @@ -1228,8 +1163,8 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-ap-change" -version = "2.6.3" -source = "git+https://github.com/starkware-libs/cairo?rev=d9984ef58e2f704909e271f2f01327f520ded632#d9984ef58e2f704909e271f2f01327f520ded632" +version = "2.6.4" +source = "git+https://github.com/starkware-libs/cairo?rev=43cf361d9b6b26ec8cd5ee076dd15341bde7577c#43cf361d9b6b26ec8cd5ee076dd15341bde7577c" dependencies = [ "cairo-lang-eq-solver", "cairo-lang-sierra", @@ -1243,8 +1178,8 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-gas" -version = "2.6.3" -source = "git+https://github.com/starkware-libs/cairo?rev=d9984ef58e2f704909e271f2f01327f520ded632#d9984ef58e2f704909e271f2f01327f520ded632" +version = "2.6.4" +source = "git+https://github.com/starkware-libs/cairo?rev=43cf361d9b6b26ec8cd5ee076dd15341bde7577c#43cf361d9b6b26ec8cd5ee076dd15341bde7577c" dependencies = [ "cairo-lang-eq-solver", "cairo-lang-sierra", @@ -1258,8 +1193,8 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-generator" -version = "2.6.3" -source = "git+https://github.com/starkware-libs/cairo?rev=d9984ef58e2f704909e271f2f01327f520ded632#d9984ef58e2f704909e271f2f01327f520ded632" +version = "2.6.4" +source = "git+https://github.com/starkware-libs/cairo?rev=43cf361d9b6b26ec8cd5ee076dd15341bde7577c#43cf361d9b6b26ec8cd5ee076dd15341bde7577c" dependencies = [ "cairo-lang-debug", "cairo-lang-defs", @@ -1282,8 +1217,8 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-to-casm" -version = "2.6.3" -source = "git+https://github.com/starkware-libs/cairo?rev=d9984ef58e2f704909e271f2f01327f520ded632#d9984ef58e2f704909e271f2f01327f520ded632" +version = "2.6.4" +source = "git+https://github.com/starkware-libs/cairo?rev=43cf361d9b6b26ec8cd5ee076dd15341bde7577c#43cf361d9b6b26ec8cd5ee076dd15341bde7577c" dependencies = [ "assert_matches", "cairo-lang-casm", @@ -1302,8 +1237,8 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-type-size" -version = "2.6.3" -source = "git+https://github.com/starkware-libs/cairo?rev=d9984ef58e2f704909e271f2f01327f520ded632#d9984ef58e2f704909e271f2f01327f520ded632" +version = "2.6.4" +source = "git+https://github.com/starkware-libs/cairo?rev=43cf361d9b6b26ec8cd5ee076dd15341bde7577c#43cf361d9b6b26ec8cd5ee076dd15341bde7577c" dependencies = [ "cairo-lang-sierra", "cairo-lang-utils", @@ -1311,8 +1246,8 @@ dependencies = [ [[package]] name = "cairo-lang-starknet" -version = "2.6.3" -source = "git+https://github.com/starkware-libs/cairo?rev=d9984ef58e2f704909e271f2f01327f520ded632#d9984ef58e2f704909e271f2f01327f520ded632" +version = "2.6.4" +source = "git+https://github.com/starkware-libs/cairo?rev=43cf361d9b6b26ec8cd5ee076dd15341bde7577c#43cf361d9b6b26ec8cd5ee076dd15341bde7577c" dependencies = [ "anyhow", "cairo-lang-compiler", @@ -1341,8 +1276,8 @@ dependencies = [ [[package]] name = "cairo-lang-starknet-classes" -version = "2.6.3" -source = "git+https://github.com/starkware-libs/cairo?rev=d9984ef58e2f704909e271f2f01327f520ded632#d9984ef58e2f704909e271f2f01327f520ded632" +version = "2.6.4" +source = "git+https://github.com/starkware-libs/cairo?rev=43cf361d9b6b26ec8cd5ee076dd15341bde7577c#43cf361d9b6b26ec8cd5ee076dd15341bde7577c" dependencies = [ "cairo-lang-casm", "cairo-lang-sierra", @@ -1358,15 +1293,14 @@ dependencies = [ "serde_json", "sha3", "smol_str", - "starknet-crypto 0.6.2", "starknet-types-core", "thiserror", ] [[package]] name = "cairo-lang-syntax" -version = "2.6.3" -source = "git+https://github.com/starkware-libs/cairo?rev=d9984ef58e2f704909e271f2f01327f520ded632#d9984ef58e2f704909e271f2f01327f520ded632" +version = "2.6.4" +source = "git+https://github.com/starkware-libs/cairo?rev=43cf361d9b6b26ec8cd5ee076dd15341bde7577c#43cf361d9b6b26ec8cd5ee076dd15341bde7577c" dependencies = [ "cairo-lang-debug", "cairo-lang-filesystem", @@ -1380,8 +1314,8 @@ dependencies = [ [[package]] name = "cairo-lang-syntax-codegen" -version = "2.6.3" -source = "git+https://github.com/starkware-libs/cairo?rev=d9984ef58e2f704909e271f2f01327f520ded632#d9984ef58e2f704909e271f2f01327f520ded632" +version = "2.6.4" +source = "git+https://github.com/starkware-libs/cairo?rev=43cf361d9b6b26ec8cd5ee076dd15341bde7577c#43cf361d9b6b26ec8cd5ee076dd15341bde7577c" dependencies = [ "genco", "xshell", @@ -1389,8 +1323,8 @@ dependencies = [ [[package]] name = "cairo-lang-test-plugin" -version = "2.6.3" -source = "git+https://github.com/starkware-libs/cairo?rev=d9984ef58e2f704909e271f2f01327f520ded632#d9984ef58e2f704909e271f2f01327f520ded632" +version = "2.6.4" +source = "git+https://github.com/starkware-libs/cairo?rev=43cf361d9b6b26ec8cd5ee076dd15341bde7577c#43cf361d9b6b26ec8cd5ee076dd15341bde7577c" dependencies = [ "anyhow", "cairo-lang-compiler", @@ -1416,8 +1350,8 @@ dependencies = [ [[package]] name = "cairo-lang-test-utils" -version = "2.6.3" -source = "git+https://github.com/starkware-libs/cairo?rev=d9984ef58e2f704909e271f2f01327f520ded632#d9984ef58e2f704909e271f2f01327f520ded632" +version = "2.6.4" +source = "git+https://github.com/starkware-libs/cairo?rev=43cf361d9b6b26ec8cd5ee076dd15341bde7577c#43cf361d9b6b26ec8cd5ee076dd15341bde7577c" dependencies = [ "cairo-lang-formatter", "cairo-lang-utils", @@ -1428,8 +1362,8 @@ dependencies = [ [[package]] name = "cairo-lang-utils" -version = "2.6.3" -source = "git+https://github.com/starkware-libs/cairo?rev=d9984ef58e2f704909e271f2f01327f520ded632#d9984ef58e2f704909e271f2f01327f520ded632" +version = "2.6.4" +source = "git+https://github.com/starkware-libs/cairo?rev=43cf361d9b6b26ec8cd5ee076dd15341bde7577c#43cf361d9b6b26ec8cd5ee076dd15341bde7577c" dependencies = [ "env_logger", "hashbrown 0.14.5", @@ -1445,9 +1379,9 @@ dependencies = [ [[package]] name = "camino" -version = "1.1.6" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" +checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" dependencies = [ "serde", ] @@ -1505,13 +1439,12 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.95" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32a725bc159af97c3e629873bb9f88fb8cf8a4867175f76dc987815ea07c83b" +checksum = "324c74f2155653c90b04f25b2a47a8a631360cb908f92a772695f430c7e31052" dependencies = [ "jobserver", "libc", - "once_cell", ] [[package]] @@ -1568,7 +1501,7 @@ dependencies = [ "num-traits 0.2.19", "serde", "wasm-bindgen", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -1599,9 +1532,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.4" +version = "4.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" +checksum = "64acc1846d54c1fe936a78dc189c34e28d3f5afc348403f28ecf53660b9b8462" dependencies = [ "clap_builder", "clap_derive", @@ -1609,35 +1542,35 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.2" +version = "4.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" +checksum = "6fb8393d67ba2e7bfaf28a23458e4e2b543cc73a99595511eb207fdb8aede942" dependencies = [ "anstream", "anstyle", - "clap_lex 0.7.0", + "clap_lex 0.7.1", "strsim 0.11.1", ] [[package]] name = "clap_complete" -version = "4.5.2" +version = "4.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd79504325bf38b10165b02e89b4347300f855f273c4cb30c4a3209e6583275e" +checksum = "5b4be9c4c4b1f30b78d8a750e0822b6a6102d97e62061c583a6c1dea2dfb33ae" dependencies = [ - "clap 4.5.4", + "clap 4.5.9", ] [[package]] name = "clap_derive" -version = "4.5.4" +version = "4.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" +checksum = "2bac35c6dafb060fd4d275d9a4ffae97917c13a6327903a8be2153cd964f7085" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -1651,21 +1584,21 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" +checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" [[package]] name = "clru" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8191fa7302e03607ff0e237d4246cc043ff5b3cb9409d995172ba3bea16b807" +checksum = "cbd0f76e066e64fdc5631e3bb46381254deab9ef1158292f27c8c57e3bf3fe59" [[package]] name = "colorchoice" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" [[package]] name = "colored" @@ -1707,9 +1640,9 @@ dependencies = [ [[package]] name = "concurrent-queue" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ "crossbeam-utils", ] @@ -1829,9 +1762,9 @@ checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" [[package]] name = "crc32fast" -version = "1.4.0" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if", ] @@ -1839,7 +1772,7 @@ dependencies = [ [[package]] name = "create-output-dir" version = "1.0.0" -source = "git+https://github.com/software-mansion/scarb?rev=f1aa7b09507a84d209d83b2fa80472c82605cc43#f1aa7b09507a84d209d83b2fa80472c82605cc43" +source = "git+https://github.com/software-mansion/scarb?rev=4b75f435f68248a7c096ec0fa5939ecdd92e2d79#4b75f435f68248a7c096ec0fa5939ecdd92e2d79" dependencies = [ "anyhow", "core-foundation", @@ -1862,9 +1795,9 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.12" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" dependencies = [ "crossbeam-utils", ] @@ -1899,9 +1832,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "crunchy" @@ -1944,16 +1877,15 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.1.2" +version = "4.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348" +checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ "cfg-if", "cpufeatures", "curve25519-dalek-derive", "digest", "fiat-crypto", - "platforms", "rustc_version", "subtle", "zeroize", @@ -1967,14 +1899,14 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] name = "darling" -version = "0.20.8" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" dependencies = [ "darling_core", "darling_macro", @@ -1982,27 +1914,27 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.8" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", - "strsim 0.10.0", - "syn 2.0.66", + "strsim 0.11.1", + "syn 2.0.71", ] [[package]] name = "darling_macro" -version = "0.20.8" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -2015,7 +1947,7 @@ dependencies = [ "hashbrown 0.14.5", "lock_api", "once_cell", - "parking_lot_core 0.9.9", + "parking_lot_core 0.9.10", ] [[package]] @@ -2026,9 +1958,9 @@ checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" [[package]] name = "data-encoding-macro" -version = "0.1.14" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20c01c06f5f429efdf2bae21eb67c28b3df3cf85b7dd2d8ef09c0838dac5d33e" +checksum = "f1559b6cba622276d6d63706db152618eeb15b89b3e4041446b05876e352e639" dependencies = [ "data-encoding", "data-encoding-macro-internal", @@ -2036,9 +1968,9 @@ dependencies = [ [[package]] name = "data-encoding-macro-internal" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0047d07f2c89b17dd631c80450d69841a6b5d7fb17278cbc43d7e4cfcf2576f3" +checksum = "332d754c0af53bc87c108fed664d121ecf59207ec4196041f04d6ab9002ad33f" dependencies = [ "data-encoding", "syn 1.0.109", @@ -2046,9 +1978,9 @@ dependencies = [ [[package]] name = "deno_task_shell" -version = "0.16.1" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97e5ff66a1e89edb7ca0c36b73a8fcdc008ba426c4ad7a36e1dfb3f4a166179e" +checksum = "dd6413ffc1654cad015edb5c4ab574069acdc929a6efafed23bc947901bcff1a" dependencies = [ "anyhow", "futures", @@ -2139,7 +2071,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -2149,7 +2081,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "206868b8242f27cecce124c19fd88157fbd0dd334df2587f36417bafbc85097b" dependencies = [ "derive_builder_core", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -2243,13 +2175,13 @@ dependencies = [ [[package]] name = "displaydoc" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -2285,8 +2217,8 @@ dependencies = [ [[package]] name = "dojo-lang" -version = "1.0.0-alpha.0" -source = "git+https://github.com/dojoengine/dojo?rev=2e04f54ceaa1c595e5d9ca369aaef640e189ac2a#2e04f54ceaa1c595e5d9ca369aaef640e189ac2a" +version = "1.0.0-alpha.1" +source = "git+https://github.com/dojoengine/dojo?rev=5d8b5f9d4f8bdbfc61ba39b3d8366e6284a4c9c6#5d8b5f9d4f8bdbfc61ba39b3d8366e6284a4c9c6" dependencies = [ "anyhow", "cainome", @@ -2328,15 +2260,15 @@ dependencies = [ "starknet", "starknet-crypto 0.7.1", "thiserror", - "toml 0.8.12", + "toml 0.8.15", "tracing", "url", ] [[package]] name = "dojo-types" -version = "1.0.0-alpha.0" -source = "git+https://github.com/dojoengine/dojo?rev=2e04f54ceaa1c595e5d9ca369aaef640e189ac2a#2e04f54ceaa1c595e5d9ca369aaef640e189ac2a" +version = "1.0.0-alpha.1" +source = "git+https://github.com/dojoengine/dojo?rev=5d8b5f9d4f8bdbfc61ba39b3d8366e6284a4c9c6#5d8b5f9d4f8bdbfc61ba39b3d8366e6284a4c9c6" dependencies = [ "cainome", "crypto-bigint", @@ -2353,8 +2285,8 @@ dependencies = [ [[package]] name = "dojo-world" -version = "1.0.0-alpha.0" -source = "git+https://github.com/dojoengine/dojo?rev=2e04f54ceaa1c595e5d9ca369aaef640e189ac2a#2e04f54ceaa1c595e5d9ca369aaef640e189ac2a" +version = "1.0.0-alpha.1" +source = "git+https://github.com/dojoengine/dojo?rev=5d8b5f9d4f8bdbfc61ba39b3d8366e6284a4c9c6#5d8b5f9d4f8bdbfc61ba39b3d8366e6284a4c9c6" dependencies = [ "anyhow", "async-trait", @@ -2370,6 +2302,7 @@ dependencies = [ "http 0.2.12", "ipfs-api-backend-hyper", "num-traits 0.2.19", + "regex", "scarb", "serde", "serde_json", @@ -2379,7 +2312,7 @@ dependencies = [ "starknet-crypto 0.7.1", "thiserror", "tokio", - "toml 0.8.12", + "toml 0.8.15", "topological-sort", "tracing", "url", @@ -2451,9 +2384,9 @@ dependencies = [ [[package]] name = "either" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" dependencies = [ "serde", ] @@ -2481,9 +2414,9 @@ dependencies = [ [[package]] name = "ena" -version = "0.14.2" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c533630cf40e9caa44bd91aadc88a75d75a4c3a12b4cfde353cbed41daa1e1f1" +checksum = "3d248bdd43ce613d87415282f69b9bb99d947d290b10962dd6c56233312c2ad5" dependencies = [ "log", ] @@ -2512,7 +2445,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -2546,18 +2479,19 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "erased-serde" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b73807008a3c7f171cc40312f37d95ef0396e048b5848d775f54b1a4dd4a0d3" +checksum = "24e2389d65ab4fab27dc2a5de7b191e1f6617d1f1c8855c0dc569c94a4cbb18d" dependencies = [ "serde", + "typeid", ] [[package]] name = "errno" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" dependencies = [ "libc", "windows-sys 0.52.0", @@ -2631,20 +2565,9 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "event-listener" -version = "4.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener" -version = "5.3.0" +version = "5.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d9944b8ca13534cdfb2800775f8dd4902ff3fc75a50101466decadfdf322a24" +checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" dependencies = [ "concurrent-queue", "parking", @@ -2653,21 +2576,11 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" -dependencies = [ - "event-listener 4.0.3", - "pin-project-lite", -] - -[[package]] -name = "event-listener-strategy" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "332f51cb23d20b0de8458b86580878211da09bcd4503cb579c225b3d124cabb3" +checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" dependencies = [ - "event-listener 5.3.0", + "event-listener 5.3.1", "pin-project-lite", ] @@ -2688,9 +2601,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.0.2" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] name = "ff" @@ -2704,9 +2617,9 @@ dependencies = [ [[package]] name = "fiat-crypto" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38793c55593b33412e3ae40c2c9781ffaa6f438f6f8c10f24e71846fbd7ae01e" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" [[package]] name = "filetime" @@ -2720,12 +2633,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "finl_unicode" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fcfdc7a0362c9f4444381a9e697c79d435fe65b52a37466fc2c1184cee9edc6" - [[package]] name = "fixed-hash" version = "0.8.0" @@ -2746,9 +2653,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.28" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" +checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" dependencies = [ "crc32fast", "miniz_oxide", @@ -2836,9 +2743,9 @@ dependencies = [ [[package]] name = "futures-bounded" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1e2774cc104e198ef3d3e1ff4ab40f86fa3245d6cb6a3a46174f21463cee173" +checksum = "91f328e7fb845fc832912fb6a34f40cf6d1888c92f974d1893a54e97b5ff542e" dependencies = [ "futures-timer", "futures-util", @@ -2910,7 +2817,7 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" dependencies = [ - "fastrand 2.0.2", + "fastrand 2.1.0", "futures-core", "futures-io", "parking", @@ -2925,7 +2832,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -2935,7 +2842,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "35bd3cf68c183738046838e300353e4716c674dc5e56890de4826801a6622a28" dependencies = [ "futures-io", - "rustls 0.21.11", + "rustls 0.21.12", ] [[package]] @@ -2991,9 +2898,9 @@ dependencies = [ [[package]] name = "genco" -version = "0.17.8" +version = "0.17.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98d7af598790738fee616426e669360fa361273b1b9c9b7f30c92fa627605cad" +checksum = "afac3cbb14db69ac9fef9cdb60d8a87e39a7a527f85a81a923436efa40ad42c6" dependencies = [ "genco-macros", "relative-path", @@ -3002,13 +2909,13 @@ dependencies = [ [[package]] name = "genco-macros" -version = "0.17.8" +version = "0.17.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4cf186fea4af17825116f72932fe52cce9a13bae39ff63b4dc0cfdb3fb4bde1" +checksum = "553630feadf7b76442b0849fd25fdf89b860d933623aec9693fed19af0400c78" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -3047,15 +2954,15 @@ dependencies = [ [[package]] name = "gimli" -version = "0.28.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" [[package]] name = "gix" -version = "0.62.0" +version = "0.63.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5631c64fb4cd48eee767bf98a3cbc5c9318ef3bb71074d4c099a2371510282b6" +checksum = "984c5018adfa7a4536ade67990b3ebc6e11ab57b3d6cd9968de0947ca99b4b06" dependencies = [ "gix-actor", "gix-archive", @@ -3112,23 +3019,23 @@ dependencies = [ [[package]] name = "gix-actor" -version = "0.31.1" +version = "0.31.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45c3a3bde455ad2ee8ba8a195745241ce0b770a8a26faae59fcf409d01b28c46" +checksum = "d9b8ee65074b2bbb91d9d97c15d172ea75043aefebf9869b5b329149dc76501c" dependencies = [ "bstr", "gix-date", "gix-utils", "itoa", "thiserror", - "winnow 0.6.6", + "winnow 0.6.13", ] [[package]] name = "gix-archive" -version = "0.12.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f28b5481bbe35de9f2eacbd8dbc61da7b8d763eaecd667018602aa805e2e2e" +checksum = "04f103e42cb054d33de74d5e9de471772b94e2bcd0759264f599ae273586ff72" dependencies = [ "bstr", "gix-date", @@ -3174,9 +3081,9 @@ dependencies = [ [[package]] name = "gix-command" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90009020dc4b3de47beed28e1334706e0a330ddd17f5cfeb097df3b15a54b77" +checksum = "6c22e086314095c43ffe5cdc5c0922d5439da4fd726f3b0438c56147c34dc225" dependencies = [ "bstr", "gix-path", @@ -3200,9 +3107,9 @@ dependencies = [ [[package]] name = "gix-config" -version = "0.36.1" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7580e05996e893347ad04e1eaceb92e1c0e6a3ffe517171af99bf6b6df0ca6e5" +checksum = "53fafe42957e11d98e354a66b6bd70aeea00faf2f62dd11164188224a507c840" dependencies = [ "bstr", "gix-config-value", @@ -3216,7 +3123,7 @@ dependencies = [ "smallvec", "thiserror", "unicode-bom", - "winnow 0.6.6", + "winnow 0.6.13", ] [[package]] @@ -3225,7 +3132,7 @@ version = "0.14.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbd06203b1a9b33a78c88252a625031b094d9e1b647260070c25b09910c0a804" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "bstr", "gix-path", "libc", @@ -3251,9 +3158,9 @@ dependencies = [ [[package]] name = "gix-date" -version = "0.8.5" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180b130a4a41870edfbd36ce4169c7090bca70e195da783dea088dd973daa59c" +checksum = "9eed6931f21491ee0aeb922751bd7ec97b4b2fe8fbfedcb678e2a2dce5f3b8c0" dependencies = [ "bstr", "itoa", @@ -3263,9 +3170,9 @@ dependencies = [ [[package]] name = "gix-diff" -version = "0.43.0" +version = "0.44.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5fbc24115b957346cd23fb0f47d830eb799c46c89cdcf2f5acc9bf2938c2d01" +checksum = "40b9bd8b2d07b6675a840b56a6c177d322d45fa082672b0dad8f063b25baf0a4" dependencies = [ "bstr", "gix-command", @@ -3283,9 +3190,9 @@ dependencies = [ [[package]] name = "gix-dir" -version = "0.4.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6fcd56ffa1133f35525af890226ad0d3b2e607b4490360c94b1869e278eba3" +checksum = "60c99f8c545abd63abe541d20ab6cda347de406c0a3f1c80aadc12d9b0e94974" dependencies = [ "bstr", "gix-discover", @@ -3303,9 +3210,9 @@ dependencies = [ [[package]] name = "gix-discover" -version = "0.31.0" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64bab49087ed3710caf77e473dc0efc54ca33d8ccc6441359725f121211482b1" +checksum = "fc27c699b63da66b50d50c00668bc0b7e90c3a382ef302865e891559935f3dbf" dependencies = [ "bstr", "dunce", @@ -3319,9 +3226,9 @@ dependencies = [ [[package]] name = "gix-features" -version = "0.38.1" +version = "0.38.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db4254037d20a247a0367aa79333750146a369719f0c6617fec4f5752cc62b37" +checksum = "ac7045ac9fe5f9c727f38799d002a7ed3583cd777e3322a7c4b43e3cf437dc69" dependencies = [ "bytes", "bytesize", @@ -3343,9 +3250,9 @@ dependencies = [ [[package]] name = "gix-filter" -version = "0.11.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c0d1f01af62bfd2fb3dd291acc2b29d4ab3e96ad52a679174626508ce98ef12" +checksum = "00ce6ea5ac8fca7adbc63c48a1b9e0492c222c386aa15f513405f1003f2f4ab2" dependencies = [ "bstr", "encoding_rs", @@ -3364,21 +3271,22 @@ dependencies = [ [[package]] name = "gix-fs" -version = "0.10.2" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2184c40e7910529677831c8b481acf788ffd92427ed21fad65b6aa637e631b8" +checksum = "c3338ff92a2164f5209f185ec0cd316f571a72676bb01d27e22f2867ba69f77a" dependencies = [ + "fastrand 2.1.0", "gix-features", "gix-utils", ] [[package]] name = "gix-glob" -version = "0.16.2" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "682bdc43cb3c00dbedfcc366de2a849b582efd8d886215dbad2ea662ec156bb5" +checksum = "c2a29ad0990cf02c48a7aac76ed0dbddeb5a0d070034b83675cc3bbf937eace4" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "bstr", "gix-features", "gix-path", @@ -3420,11 +3328,11 @@ dependencies = [ [[package]] name = "gix-index" -version = "0.32.1" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "881ab3b1fa57f497601a5add8289e72a7ae09471fc0b9bbe483b628ae8e418a1" +checksum = "2d8c5a5f1c58edcbc5692b174cda2703aba82ed17d7176ff4c1752eb48b1b167" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "bstr", "filetime", "fnv", @@ -3436,6 +3344,7 @@ dependencies = [ "gix-object", "gix-traverse", "gix-utils", + "gix-validate", "hashbrown 0.14.5", "itoa", "libc", @@ -3447,9 +3356,9 @@ dependencies = [ [[package]] name = "gix-lock" -version = "13.1.1" +version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7c359f81f01b8352063319bcb39789b7ea0887b406406381106e38c4a34d049" +checksum = "e3bc7fe297f1f4614774989c00ec8b1add59571dc9b024b4c00acb7dedd4e19d" dependencies = [ "gix-tempfile", "gix-utils", @@ -3458,20 +3367,20 @@ dependencies = [ [[package]] name = "gix-macros" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dff438f14e67e7713ab9332f5fd18c8f20eb7eb249494f6c2bf170522224032" +checksum = "999ce923619f88194171a67fb3e6d613653b8d4d6078b529b15a765da0edcc17" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] name = "gix-mailmap" -version = "0.23.0" +version = "0.23.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28a62c86c08a65f99002013d58dd3312b2987705547436bdb90c507dcd9a41b1" +checksum = "7cb2da346958252cbc8656529f5479830a3bc6046f3d86405c9e77f71dfdf7b2" dependencies = [ "bstr", "gix-actor", @@ -3481,11 +3390,11 @@ dependencies = [ [[package]] name = "gix-negotiate" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54ba98f8c8c06870dfc167d192ca38a38261867b836cb89ac80bc9176dba975e" +checksum = "d57dec54544d155a495e01de947da024471e1825d7d3f2724301c07a310d6184" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "gix-commitgraph", "gix-date", "gix-hash", @@ -3497,9 +3406,9 @@ dependencies = [ [[package]] name = "gix-object" -version = "0.42.1" +version = "0.42.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d4f8efae72030df1c4a81d02dbe2348e748d9b9a11e108ed6efbd846326e051" +checksum = "25da2f46b4e7c2fa7b413ce4dffb87f69eaf89c2057e386491f4c55cadbfe386" dependencies = [ "bstr", "gix-actor", @@ -3511,14 +3420,14 @@ dependencies = [ "itoa", "smallvec", "thiserror", - "winnow 0.6.6", + "winnow 0.6.13", ] [[package]] name = "gix-odb" -version = "0.60.0" +version = "0.61.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8bbb43d2fefdc4701ffdf9224844d05b136ae1b9a73c2f90710c8dd27a93503" +checksum = "e92b9790e2c919166865d0825b26cc440a387c175bed1b43a2fa99c0e9d45e98" dependencies = [ "arc-swap", "gix-date", @@ -3536,9 +3445,9 @@ dependencies = [ [[package]] name = "gix-pack" -version = "0.50.0" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b58bad27c7677fa6b587aab3a1aca0b6c97373bd371a0a4290677c838c9bcaf1" +checksum = "7a8da51212dbff944713edb2141ed7e002eea326b8992070374ce13a6cb610b3" dependencies = [ "clru", "gix-chunk", @@ -3569,9 +3478,9 @@ dependencies = [ [[package]] name = "gix-path" -version = "0.10.7" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23623cf0f475691a6d943f898c4d0b89f5c1a2a64d0f92bce0e0322ee6528783" +checksum = "8d23d5bbda31344d8abc8de7c075b3cf26e5873feba7c4a15d916bce67382bd9" dependencies = [ "bstr", "gix-trace", @@ -3582,11 +3491,11 @@ dependencies = [ [[package]] name = "gix-pathspec" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea9f934a111e0efdf93ae06e3648427e60e783099fbebd6a53a7a2ffb10a1e65" +checksum = "a76cab098dc10ba2d89f634f66bf196dea4d7db4bf10b75c7a9c201c55a2ee19" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "bstr", "gix-attributes", "gix-config-value", @@ -3597,9 +3506,9 @@ dependencies = [ [[package]] name = "gix-prompt" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5325eb17ce7b5e5d25dec5c2315d642a09d55b9888b3bf46b7d72e1621a55d8" +checksum = "fddabbc7c51c241600ab3c4623b19fa53bde7c1a2f637f61043ed5fcadf000cc" dependencies = [ "gix-command", "gix-config-value", @@ -3621,9 +3530,9 @@ dependencies = [ [[package]] name = "gix-ref" -version = "0.43.0" +version = "0.44.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd4aba68b925101cb45d6df328979af0681364579db889098a0de75b36c77b65" +checksum = "3394a2997e5bc6b22ebc1e1a87b41eeefbcfcff3dbfa7c4bd73cb0ac8f1f3e2e" dependencies = [ "gix-actor", "gix-date", @@ -3638,7 +3547,7 @@ dependencies = [ "gix-validate", "memmap2", "thiserror", - "winnow 0.6.6", + "winnow 0.6.13", ] [[package]] @@ -3657,9 +3566,9 @@ dependencies = [ [[package]] name = "gix-revision" -version = "0.27.0" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e34196e1969bd5d36e2fbc4467d893999132219d503e23474a8ad2b221cb1e8" +checksum = "63e08f8107ed1f93a83bcfbb4c38084c7cb3f6cd849793f1d5eec235f9b13b2b" dependencies = [ "bstr", "gix-date", @@ -3673,9 +3582,9 @@ dependencies = [ [[package]] name = "gix-revwalk" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7d393ae814eeaae41a333c0ff684b243121cc61ccdc5bbe9897094588047d" +checksum = "4181db9cfcd6d1d0fd258e91569dbb61f94cb788b441b5294dd7f1167a3e788f" dependencies = [ "gix-commitgraph", "gix-date", @@ -3692,7 +3601,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fddc27984a643b20dd03e97790555804f98cf07404e0e552c0ad8133266a79a1" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "gix-path", "libc", "windows-sys 0.52.0", @@ -3700,9 +3609,9 @@ dependencies = [ [[package]] name = "gix-status" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50c413bfd2952e4ee92e48438dac3c696f3555e586a34d184a427f6bedd1e4f9" +checksum = "2f4373d989713809554d136f51bc7da565adf45c91aa4d86ef6a79801621bfc8" dependencies = [ "bstr", "filetime", @@ -3722,9 +3631,9 @@ dependencies = [ [[package]] name = "gix-submodule" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb7ea05666362472fecd44c1fc35fe48a5b9b841b431cc4f85b95e6f20c23ec" +checksum = "921cd49924ac14b6611b22e5fb7bbba74d8780dc7ad26153304b64d1272460ac" dependencies = [ "bstr", "gix-config", @@ -3737,9 +3646,9 @@ dependencies = [ [[package]] name = "gix-tempfile" -version = "13.1.1" +version = "14.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a761d76594f4443b675e85928e4902dec333273836bd386906f01e7e346a0d11" +checksum = "d3b0e276cd08eb2a22e9f286a4f13a222a01be2defafa8621367515375644b99" dependencies = [ "dashmap", "gix-fs", @@ -3759,11 +3668,11 @@ checksum = "f924267408915fddcd558e3f37295cc7d6a3e50f8bd8b606cee0808c3915157e" [[package]] name = "gix-traverse" -version = "0.39.0" +version = "0.39.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4029ec209b0cc480d209da3837a42c63801dd8548f09c1f4502c60accb62aeb" +checksum = "f20cb69b63eb3e4827939f42c05b7756e3488ef49c25c412a876691d568ee2a0" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "gix-commitgraph", "gix-date", "gix-hash", @@ -3795,15 +3704,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "35192df7fd0fa112263bad8021e2df7167df4cc2a6e6d15892e1e55621d3d4dc" dependencies = [ "bstr", - "fastrand 2.0.2", + "fastrand 2.1.0", "unicode-normalization", ] [[package]] name = "gix-validate" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e39fc6e06044985eac19dd34d474909e517307582e462b2eb4c8fa51b6241545" +checksum = "82c27dd34a49b1addf193c92070bcbf3beaf6e10f16a78544de6372e146a0acf" dependencies = [ "bstr", "thiserror", @@ -3811,9 +3720,9 @@ dependencies = [ [[package]] name = "gix-worktree" -version = "0.33.1" +version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f06ca5dd164678914fc9280ba9d1ffeb66499ccc16ab1278c513828beee88401" +checksum = "53f6b7de83839274022aff92157d7505f23debf739d257984a300a35972ca94e" dependencies = [ "bstr", "gix-attributes", @@ -3825,13 +3734,14 @@ dependencies = [ "gix-index", "gix-object", "gix-path", + "gix-validate", ] [[package]] name = "gix-worktree-state" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70b4bcac42d5b3197d38e3f15f6eb277c5e6d6a1669c7beabed8f666dba1c9b8" +checksum = "e64b2835892ce553b15aef7f6f7bb1e39e146fdf71eb99609b86710a7786cf34" dependencies = [ "bstr", "gix-features", @@ -3849,9 +3759,9 @@ dependencies = [ [[package]] name = "gix-worktree-stream" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e73f7f8c1354516339a244f61f0fe3080b4cf25ddcbcfefd2d56661d51e88d4" +checksum = "4c5a4d58fa1375cd40a24c9d1a501520fcba17eea109c58c7e208b309635b46a" dependencies = [ "gix-attributes", "gix-features", @@ -3880,8 +3790,8 @@ dependencies = [ "aho-corasick", "bstr", "log", - "regex-automata 0.4.6", - "regex-syntax 0.8.3", + "regex-automata 0.4.7", + "regex-syntax 0.8.4", ] [[package]] @@ -4014,6 +3924,12 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + [[package]] name = "hex" version = "0.4.3" @@ -4145,9 +4061,9 @@ dependencies = [ [[package]] name = "http-body" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", "http 1.1.0", @@ -4155,14 +4071,14 @@ dependencies = [ [[package]] name = "http-body-util" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" dependencies = [ "bytes", - "futures-core", + "futures-util", "http 1.1.0", - "http-body 1.0.0", + "http-body 1.0.1", "pin-project-lite", ] @@ -4174,9 +4090,9 @@ checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" [[package]] name = "httparse" -version = "1.8.0" +version = "1.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" [[package]] name = "httpdate" @@ -4198,9 +4114,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.28" +version = "0.14.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" dependencies = [ "bytes", "futures-channel", @@ -4222,15 +4138,15 @@ dependencies = [ [[package]] name = "hyper" -version = "1.3.1" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" +checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" dependencies = [ "bytes", "futures-channel", "futures-util", "http 1.1.0", - "http-body 1.0.0", + "http-body 1.0.1", "httparse", "itoa", "pin-project-lite", @@ -4249,7 +4165,7 @@ dependencies = [ "common-multipart-rfc7578", "futures-core", "http 0.2.12", - "hyper 0.14.28", + "hyper 0.14.30", ] [[package]] @@ -4259,7 +4175,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c" dependencies = [ "http 0.2.12", - "hyper 0.14.28", + "hyper 0.14.30", "log", "rustls 0.20.9", "rustls-native-certs", @@ -4275,27 +4191,28 @@ checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", "http 0.2.12", - "hyper 0.14.28", - "rustls 0.21.11", + "hyper 0.14.30", + "rustls 0.21.12", "tokio", "tokio-rustls 0.24.1", ] [[package]] name = "hyper-rustls" -version = "0.26.0" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0bea761b46ae2b24eb4aef630d8d1c398157b6fc29e6350ecf090a0b70c952c" +checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" dependencies = [ "futures-util", "http 1.1.0", - "hyper 1.3.1", + "hyper 1.4.1", "hyper-util", - "rustls 0.22.4", + "rustls 0.23.11", "rustls-pki-types", "tokio", - "tokio-rustls 0.25.0", + "tokio-rustls 0.26.0", "tower-service", + "webpki-roots 0.26.3", ] [[package]] @@ -4304,7 +4221,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" dependencies = [ - "hyper 0.14.28", + "hyper 0.14.30", "pin-project-lite", "tokio", "tokio-io-timeout", @@ -4317,7 +4234,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ "bytes", - "hyper 0.14.28", + "hyper 0.14.30", "native-tls", "tokio", "tokio-native-tls", @@ -4325,16 +4242,16 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56" +checksum = "3ab92f4f49ee4fb4f997c784b7a2e0fa70050211e0b6a287f898c3c9785ca956" dependencies = [ "bytes", "futures-channel", "futures-util", "http 1.1.0", - "http-body 1.0.0", - "hyper 1.3.1", + "http-body 1.0.1", + "hyper 1.4.1", "pin-project-lite", "socket2 0.5.7", "tokio", @@ -4414,7 +4331,7 @@ version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6b0422c86d7ce0e97169cc42e04ae643caf278874a7a3c87b8150a220dc7e1e" dependencies = [ - "async-io 2.3.2", + "async-io 2.3.3", "core-foundation", "fnv", "futures", @@ -4438,7 +4355,7 @@ dependencies = [ "bytes", "futures", "http 0.2.12", - "hyper 0.14.28", + "hyper 0.14.30", "log", "rand", "tokio", @@ -4456,7 +4373,7 @@ dependencies = [ "globset", "log", "memchr", - "regex-automata 0.4.6", + "regex-automata 0.4.7", "same-file", "walkdir", "winapi-util", @@ -4464,12 +4381,12 @@ dependencies = [ [[package]] name = "imara-diff" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e98c1d0ad70fc91b8b9654b1f33db55e59579d3b3de2bffdced0fdb810570cb8" +checksum = "af13c8ceb376860ff0c6a66d83a8cdd4ecd9e464da24621bbffcd02b49619434" dependencies = [ "ahash", - "hashbrown 0.12.3", + "hashbrown 0.14.5", ] [[package]] @@ -4512,18 +4429,18 @@ dependencies = [ [[package]] name = "include_dir" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18762faeff7122e89e0857b02f7ce6fcc0d101d5e9ad2ad7846cc01d61b7f19e" +checksum = "923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd" dependencies = [ "include_dir_macros", ] [[package]] name = "include_dir_macros" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b139284b5cf57ecfa712bcc66950bb635b31aff41c188e8a4cfc758eca374a3f" +checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75" dependencies = [ "proc-macro2", "quote", @@ -4666,7 +4583,7 @@ dependencies = [ "bytes", "futures", "http 0.2.12", - "hyper 0.14.28", + "hyper 0.14.30", "hyper-multipart-rfc7578", "hyper-rustls 0.23.2", "ipfs-api-prelude", @@ -4714,6 +4631,12 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "is_terminal_polyfill" +version = "1.70.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" + [[package]] name = "itertools" version = "0.10.5" @@ -4816,7 +4739,7 @@ dependencies = [ "petgraph", "pico-args", "regex", - "regex-syntax 0.8.3", + "regex-syntax 0.8.4", "string_cache", "term", "tiny-keccak", @@ -4830,7 +4753,7 @@ version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "507460a910eb7b32ee961886ff48539633b788a36b65692b95f225b844c82553" dependencies = [ - "regex-automata 0.4.6", + "regex-automata 0.4.7", ] [[package]] @@ -4857,11 +4780,11 @@ dependencies = [ [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" dependencies = [ - "spin 0.5.2", + "spin 0.9.8", ] [[package]] @@ -4872,12 +4795,12 @@ checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libloading" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" +checksum = "e310b3a6b5907f99202fcdb4960ff45b93735d7c7d96b760fcff8db2dc0e103d" dependencies = [ "cfg-if", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -4899,7 +4822,7 @@ dependencies = [ "instant", "libp2p-allow-block-list", "libp2p-connection-limits", - "libp2p-core 0.41.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", + "libp2p-core 0.41.2", "libp2p-dns", "libp2p-gossipsub 0.46.1 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", "libp2p-identify", @@ -4910,7 +4833,7 @@ dependencies = [ "libp2p-ping", "libp2p-quic", "libp2p-relay", - "libp2p-swarm 0.44.2", + "libp2p-swarm 0.44.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", "libp2p-tcp", "libp2p-upnp", "libp2p-yamux", @@ -4925,9 +4848,9 @@ name = "libp2p-allow-block-list" version = "0.3.0" source = "git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54#451bcb60bb472262f96071006b19e5d236b1dd54" dependencies = [ - "libp2p-core 0.41.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", + "libp2p-core 0.41.2", "libp2p-identity", - "libp2p-swarm 0.44.2", + "libp2p-swarm 0.44.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", "void", ] @@ -4936,17 +4859,16 @@ name = "libp2p-connection-limits" version = "0.3.1" source = "git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54#451bcb60bb472262f96071006b19e5d236b1dd54" dependencies = [ - "libp2p-core 0.41.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", + "libp2p-core 0.41.2", "libp2p-identity", - "libp2p-swarm 0.44.2", + "libp2p-swarm 0.44.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", "void", ] [[package]] name = "libp2p-core" version = "0.41.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8130a8269e65a2554d55131c770bdf4bcd94d2b8d4efb24ca23699be65066c05" +source = "git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54#451bcb60bb472262f96071006b19e5d236b1dd54" dependencies = [ "either", "fnv", @@ -4956,13 +4878,13 @@ dependencies = [ "libp2p-identity", "multiaddr 0.18.1", "multihash 0.19.1", - "multistream-select 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "multistream-select 0.13.0 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", "once_cell", "parking_lot 0.12.3", "pin-project", "quick-protobuf", "rand", - "rw-stream-sink 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rw-stream-sink 0.4.0 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", "smallvec", "thiserror", "tracing", @@ -4972,29 +4894,30 @@ dependencies = [ [[package]] name = "libp2p-core" -version = "0.41.2" -source = "git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54#451bcb60bb472262f96071006b19e5d236b1dd54" +version = "0.41.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5a8920cbd8540059a01950c1e5c96ea8d89eb50c51cd366fc18bdf540a6e48f" dependencies = [ "either", "fnv", "futures", "futures-timer", - "instant", "libp2p-identity", "multiaddr 0.18.1", "multihash 0.19.1", - "multistream-select 0.13.0 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", + "multistream-select 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "once_cell", "parking_lot 0.12.3", "pin-project", "quick-protobuf", "rand", - "rw-stream-sink 0.4.0 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", + "rw-stream-sink 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec", "thiserror", "tracing", "unsigned-varint 0.8.0", "void", + "web-time", ] [[package]] @@ -5005,7 +4928,7 @@ dependencies = [ "async-trait", "futures", "hickory-resolver", - "libp2p-core 0.41.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", + "libp2p-core 0.41.2", "libp2p-identity", "parking_lot 0.12.3", "smallvec", @@ -5029,9 +4952,9 @@ dependencies = [ "getrandom", "hex_fmt", "instant", - "libp2p-core 0.41.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-core 0.41.3", "libp2p-identity", - "libp2p-swarm 0.44.1", + "libp2p-swarm 0.44.2 (registry+https://github.com/rust-lang/crates.io-index)", "prometheus-client", "quick-protobuf", "quick-protobuf-codec 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -5059,9 +4982,9 @@ dependencies = [ "getrandom", "hex_fmt", "instant", - "libp2p-core 0.41.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", + "libp2p-core 0.41.2", "libp2p-identity", - "libp2p-swarm 0.44.2", + "libp2p-swarm 0.44.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", "prometheus-client", "quick-protobuf", "quick-protobuf-codec 0.3.1 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", @@ -5083,9 +5006,9 @@ dependencies = [ "futures", "futures-bounded", "futures-timer", - "libp2p-core 0.41.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", + "libp2p-core 0.41.2", "libp2p-identity", - "libp2p-swarm 0.44.2", + "libp2p-swarm 0.44.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", "lru", "quick-protobuf", "quick-protobuf-codec 0.3.1 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", @@ -5097,9 +5020,9 @@ dependencies = [ [[package]] name = "libp2p-identity" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "999ec70441b2fb35355076726a6bc466c932e9bdc66f6a11c6c0aa17c7ab9be0" +checksum = "55cca1eb2bc1fd29f099f3daaab7effd01e1a54b7c577d0ed082521034d912e8" dependencies = [ "bs58", "ed25519-dalek", @@ -5122,9 +5045,9 @@ dependencies = [ "futures", "hickory-proto", "if-watch", - "libp2p-core 0.41.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", + "libp2p-core 0.41.2", "libp2p-identity", - "libp2p-swarm 0.44.2", + "libp2p-swarm 0.44.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", "rand", "smallvec", "socket2 0.5.7", @@ -5140,13 +5063,13 @@ source = "git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f9607100 dependencies = [ "futures", "instant", - "libp2p-core 0.41.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", + "libp2p-core 0.41.2", "libp2p-gossipsub 0.46.1 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", "libp2p-identify", "libp2p-identity", "libp2p-ping", "libp2p-relay", - "libp2p-swarm 0.44.2", + "libp2p-swarm 0.44.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", "pin-project", "prometheus-client", ] @@ -5160,7 +5083,7 @@ dependencies = [ "bytes", "curve25519-dalek", "futures", - "libp2p-core 0.41.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", + "libp2p-core 0.41.2", "libp2p-identity", "multiaddr 0.18.1", "multihash 0.19.1", @@ -5185,9 +5108,9 @@ dependencies = [ "futures", "futures-timer", "instant", - "libp2p-core 0.41.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", + "libp2p-core 0.41.2", "libp2p-identity", - "libp2p-swarm 0.44.2", + "libp2p-swarm 0.44.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", "rand", "tracing", "void", @@ -5202,14 +5125,14 @@ dependencies = [ "futures", "futures-timer", "if-watch", - "libp2p-core 0.41.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", + "libp2p-core 0.41.2", "libp2p-identity", "libp2p-tls", "parking_lot 0.12.3", - "quinn", + "quinn 0.10.2", "rand", "ring 0.16.20", - "rustls 0.21.11", + "rustls 0.21.12", "socket2 0.5.7", "thiserror", "tokio", @@ -5227,9 +5150,9 @@ dependencies = [ "futures", "futures-bounded", "futures-timer", - "libp2p-core 0.41.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", + "libp2p-core 0.41.2", "libp2p-identity", - "libp2p-swarm 0.44.2", + "libp2p-swarm 0.44.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", "quick-protobuf", "quick-protobuf-codec 0.3.1 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", "rand", @@ -5242,17 +5165,18 @@ dependencies = [ [[package]] name = "libp2p-swarm" -version = "0.44.1" +version = "0.44.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e92532fc3c4fb292ae30c371815c9b10103718777726ea5497abc268a4761866" +checksum = "80cae6cb75f89dbca53862f9ebe0b9f463aa7b302762fcfaafb9e51dcc9b0f7e" dependencies = [ "either", "fnv", "futures", "futures-timer", "instant", - "libp2p-core 0.41.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-core 0.41.3", "libp2p-identity", + "lru", "multistream-select 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "once_cell", "rand", @@ -5272,7 +5196,7 @@ dependencies = [ "futures-timer", "getrandom", "instant", - "libp2p-core 0.41.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", + "libp2p-core 0.41.2", "libp2p-identity", "libp2p-swarm-derive", "lru", @@ -5294,7 +5218,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -5306,7 +5230,7 @@ dependencies = [ "futures-timer", "if-watch", "libc", - "libp2p-core 0.41.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", + "libp2p-core 0.41.2", "libp2p-identity", "socket2 0.5.7", "tokio", @@ -5320,11 +5244,11 @@ source = "git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f9607100 dependencies = [ "futures", "futures-rustls", - "libp2p-core 0.41.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", + "libp2p-core 0.41.2", "libp2p-identity", "rcgen", "ring 0.17.8", - "rustls 0.21.11", + "rustls 0.21.12", "rustls-webpki 0.101.7", "thiserror", "x509-parser 0.16.0", @@ -5339,8 +5263,8 @@ dependencies = [ "futures", "futures-timer", "igd-next", - "libp2p-core 0.41.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", - "libp2p-swarm 0.44.2", + "libp2p-core 0.41.2", + "libp2p-swarm 0.44.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", "tokio", "tracing", "void", @@ -5357,7 +5281,7 @@ dependencies = [ "futures-timer", "hex", "if-watch", - "libp2p-core 0.41.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", + "libp2p-core 0.41.2", "libp2p-identity", "libp2p-noise", "libp2p-webrtc-utils", @@ -5383,7 +5307,7 @@ dependencies = [ "bytes", "futures", "hex", - "libp2p-core 0.41.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", + "libp2p-core 0.41.2", "libp2p-identity", "libp2p-noise", "quick-protobuf", @@ -5406,7 +5330,7 @@ dependencies = [ "getrandom", "hex", "js-sys", - "libp2p-core 0.41.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", + "libp2p-core 0.41.2", "libp2p-identity", "libp2p-webrtc-utils", "send_wrapper 0.6.0", @@ -5424,11 +5348,11 @@ source = "git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f9607100 dependencies = [ "either", "futures", - "libp2p-core 0.41.2 (git+https://github.com/libp2p/rust-libp2p?rev=451bcb60bb472262f96071006b19e5d236b1dd54)", + "libp2p-core 0.41.2", "thiserror", "tracing", "yamux 0.12.1", - "yamux 0.13.1", + "yamux 0.13.3", ] [[package]] @@ -5437,7 +5361,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "libc", ] @@ -5460,22 +5384,22 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linkme" -version = "0.3.26" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "833222afbfe72868ac8f9770c91a33673f0d5fefc37c9dbe94aa3548b571623f" +checksum = "ccb76662d78edc9f9bf56360d6919bdacc8b7761227727e5082f128eeb90bbf5" dependencies = [ "linkme-impl", ] [[package]] name = "linkme-impl" -version = "0.3.26" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39f0dea92dbea3271557cc2e1848723967bba81f722f95026860974ec9283f08" +checksum = "f8dccda732e04fa3baf2e17cf835bfe2601c7c2edafd64417c627dabae3a8cda" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -5486,15 +5410,15 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "linux-raw-sys" -version = "0.4.13" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" [[package]] name = "lock_api" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", @@ -5502,9 +5426,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.21" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" dependencies = [ "value-bag", ] @@ -5569,9 +5493,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.2" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memmap2" @@ -5599,9 +5523,9 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "mime_guess" -version = "2.0.4" +version = "2.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" dependencies = [ "mime", "unicase", @@ -5625,9 +5549,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" dependencies = [ "adler", ] @@ -5774,11 +5698,10 @@ dependencies = [ [[package]] name = "native-tls" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" dependencies = [ - "lazy_static", "libc", "log", "openssl", @@ -5980,9 +5903,9 @@ dependencies = [ [[package]] name = "num-iter" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ "autocfg", "num-integer", @@ -6035,9 +5958,9 @@ checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" [[package]] name = "object" -version = "0.32.2" +version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +checksum = "081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce" dependencies = [ "memchr", ] @@ -6068,9 +5991,9 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "oorandom" -version = "11.1.3" +version = "11.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" +checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9" [[package]] name = "opaque-debug" @@ -6084,7 +6007,7 @@ version = "0.10.64" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "cfg-if", "foreign-types", "libc", @@ -6101,7 +6024,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -6139,9 +6062,9 @@ dependencies = [ [[package]] name = "os_pipe" -version = "1.1.5" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57119c3b893986491ec9aa85056780d3a0f3cf4da7cc09dd3650dbd6c6738fb9" +checksum = "29d73ba8daf8fac13b0501d1abeddcfe21ba7401ada61a819144b6c2a4f32209" dependencies = [ "libc", "windows-sys 0.52.0", @@ -6185,9 +6108,9 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.6.9" +version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "881331e34fa842a2fb61cc2db9643a8fedc615e47cfcc52597d1af0db9a7e8fe" +checksum = "306800abfa29c7f16596b5970a588435e3d5b3149683d00c12b699cc19f895ee" dependencies = [ "arrayvec", "bitvec", @@ -6199,11 +6122,11 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.6.9" +version = "3.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be30eaf4b0a9fba5336683b38de57bb86d179a35862ba6bfcf57625d006bde5b" +checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" dependencies = [ - "proc-macro-crate 2.0.0", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", "syn 1.0.109", @@ -6233,7 +6156,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", - "parking_lot_core 0.9.9", + "parking_lot_core 0.9.10", ] [[package]] @@ -6252,22 +6175,22 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.9" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.4.1", + "redox_syscall 0.5.3", "smallvec", - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] name = "paste" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "path-clean" @@ -6329,9 +6252,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "petgraph" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" +checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", "indexmap 2.2.6", @@ -6369,7 +6292,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -6386,12 +6309,12 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "piper" -version = "0.2.1" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" +checksum = "ae1d5c74c9876f070d3e8fd503d748c7d974c3e48da8f41350fa5222ef9b4391" dependencies = [ "atomic-waker", - "fastrand 2.0.2", + "fastrand 2.1.0", "futures-io", ] @@ -6422,12 +6345,6 @@ version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" -[[package]] -name = "platforms" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db23d408679286588f4d4644f965003d056e3dd5abcaaa938116871d7ce2fee7" - [[package]] name = "polling" version = "2.8.0" @@ -6446,13 +6363,13 @@ dependencies = [ [[package]] name = "polling" -version = "3.7.0" +version = "3.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645493cf344456ef24219d02a768cf1fb92ddf8c92161679ae3d91b91a637be3" +checksum = "a3ed00ed3fbf728b5816498ecd316d1716eecaced9c0c8d2c5a6740ca214985b" dependencies = [ "cfg-if", "concurrent-queue", - "hermit-abi 0.3.9", + "hermit-abi 0.4.0", "pin-project-lite", "rustix 0.38.34", "tracing", @@ -6528,12 +6445,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.19" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ac2cf0f2e4f42b49f5ffd07dae8d746508ef7526c13940e5f524012ae6c6550" +checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -6570,11 +6487,11 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "2.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" dependencies = [ - "toml_edit 0.20.7", + "toml_edit 0.21.1", ] [[package]] @@ -6603,9 +6520,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.84" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec96c6a92621310b51366f1e28d05ef11489516e93be030060e5fc12024a49d6" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" dependencies = [ "unicode-ident", ] @@ -6622,9 +6539,9 @@ dependencies = [ [[package]] name = "prometheus-client" -version = "0.22.2" +version = "0.22.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1ca959da22a332509f2a73ae9e5f23f9dcfc31fd3a54d71f159495bd5909baa" +checksum = "504ee9ff529add891127c4827eb481bd69dc0ebc72e9a682e187db4caa60c3ca" dependencies = [ "dtoa", "itoa", @@ -6640,7 +6557,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -6655,12 +6572,12 @@ dependencies = [ [[package]] name = "prost" -version = "0.12.4" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0f5d036824e4761737860779c906171497f6d55681139d8312388f8fe398922" +checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" dependencies = [ "bytes", - "prost-derive 0.12.4", + "prost-derive 0.12.6", ] [[package]] @@ -6687,9 +6604,9 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.12.4" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80b776a1b2dc779f5ee0641f8ade0125bc1298dd41a9a0c16d8bd57b42d222b1" +checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" dependencies = [ "bytes", "heck 0.5.0", @@ -6698,11 +6615,11 @@ dependencies = [ "multimap 0.10.0", "once_cell", "petgraph", - "prettyplease 0.2.19", - "prost 0.12.4", - "prost-types 0.12.4", + "prettyplease 0.2.20", + "prost 0.12.6", + "prost-types 0.12.6", "regex", - "syn 2.0.66", + "syn 2.0.71", "tempfile", ] @@ -6721,15 +6638,15 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.12.4" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19de2de2a00075bf566bee3bd4db014b11587e84184d3f7a791bc17f1a8e9e48" +checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" dependencies = [ "anyhow", "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -6743,11 +6660,11 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.12.4" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3235c33eb02c1f1e212abdbe34c78b264b038fb58ca612664343271e36e55ffe" +checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" dependencies = [ - "prost 0.12.4", + "prost 0.12.6", ] [[package]] @@ -6799,10 +6716,27 @@ dependencies = [ "bytes", "futures-io", "pin-project-lite", - "quinn-proto", - "quinn-udp", + "quinn-proto 0.10.6", + "quinn-udp 0.4.1", "rustc-hash", - "rustls 0.21.11", + "rustls 0.21.12", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "quinn" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4ceeeeabace7857413798eb1ffa1e9c905a9946a57d81fb69b4b71c4d8eb3ad" +dependencies = [ + "bytes", + "pin-project-lite", + "quinn-proto 0.11.3", + "quinn-udp 0.5.2", + "rustc-hash", + "rustls 0.23.11", "thiserror", "tokio", "tracing", @@ -6818,7 +6752,24 @@ dependencies = [ "rand", "ring 0.16.20", "rustc-hash", - "rustls 0.21.11", + "rustls 0.21.12", + "slab", + "thiserror", + "tinyvec", + "tracing", +] + +[[package]] +name = "quinn-proto" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddf517c03a109db8100448a4be38d498df8a210a99fe0e1b9eaf39e78c640efe" +dependencies = [ + "bytes", + "rand", + "ring 0.17.8", + "rustc-hash", + "rustls 0.23.11", "slab", "thiserror", "tinyvec", @@ -6838,6 +6789,19 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "quinn-udp" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9096629c45860fc7fb143e125eb826b5e721e10be3263160c7d60ca832cf8c46" +dependencies = [ + "libc", + "once_cell", + "socket2 0.5.7", + "tracing", + "windows-sys 0.52.0", +] + [[package]] name = "quote" version = "1.0.36" @@ -6847,6 +6811,16 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "ra_ap_toolchain" +version = "0.0.218" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53393fc4d85057bcca4dd2d7fa24929a094bb94712980814695f56cb9aa0b1e2" +dependencies = [ + "camino", + "home", +] + [[package]] name = "radium" version = "0.7.0" @@ -6924,9 +6898,9 @@ dependencies = [ [[package]] name = "redb" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed7508e692a49b6b2290b56540384ccae9b1fb4d77065640b165835b56ffe3bb" +checksum = "a6dd20d3cdeb9c7d2366a0b16b93b35b75aec15309fbeb7ce477138c9f68c8c0" dependencies = [ "libc", ] @@ -6949,6 +6923,15 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "redox_syscall" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" +dependencies = [ + "bitflags 2.6.0", +] + [[package]] name = "redox_users" version = "0.4.5" @@ -6962,14 +6945,14 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.4" +version = "1.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" +checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.6", - "regex-syntax 0.8.3", + "regex-automata 0.4.7", + "regex-syntax 0.8.4", ] [[package]] @@ -6983,13 +6966,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.3", + "regex-syntax 0.8.4", ] [[package]] @@ -7000,15 +6983,15 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "relative-path" -version = "1.9.2" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e898588f33fdd5b9420719948f9f2a32c922a246964576f71ba7f24f80610fbc" +checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" [[package]] name = "reqwest" @@ -7025,7 +7008,7 @@ dependencies = [ "h2", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.28", + "hyper 0.14.30", "hyper-rustls 0.24.2", "hyper-tls", "ipnet", @@ -7036,13 +7019,13 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.21.11", + "rustls 0.21.12", "rustls-native-certs", "rustls-pemfile 1.0.4", "serde", "serde_json", "serde_urlencoded", - "sync_wrapper", + "sync_wrapper 0.1.2", "system-configuration", "tokio", "tokio-native-tls", @@ -7060,9 +7043,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.4" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10" +checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" dependencies = [ "base64 0.22.1", "bytes", @@ -7070,10 +7053,10 @@ dependencies = [ "futures-core", "futures-util", "http 1.1.0", - "http-body 1.0.0", + "http-body 1.0.1", "http-body-util", - "hyper 1.3.1", - "hyper-rustls 0.26.0", + "hyper 1.4.1", + "hyper-rustls 0.27.2", "hyper-util", "ipnet", "js-sys", @@ -7082,21 +7065,22 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.22.4", + "quinn 0.11.2", + "rustls 0.23.11", "rustls-pemfile 2.1.2", "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", - "sync_wrapper", + "sync_wrapper 1.0.1", "tokio", - "tokio-rustls 0.25.0", + "tokio-rustls 0.26.0", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "webpki-roots 0.26.1", + "webpki-roots 0.26.3", "winreg 0.52.0", ] @@ -7255,9 +7239,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" @@ -7309,10 +7293,10 @@ version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "errno", "libc", - "linux-raw-sys 0.4.13", + "linux-raw-sys 0.4.14", "windows-sys 0.52.0", ] @@ -7330,9 +7314,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.11" +version = "0.21.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fecbfb7b1444f477b345853b1fce097a2c6fb637b2bfb87e6bc5db0f043fae4" +checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" dependencies = [ "log", "ring 0.17.8", @@ -7342,14 +7326,14 @@ dependencies = [ [[package]] name = "rustls" -version = "0.22.4" +version = "0.23.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" +checksum = "4828ea528154ae444e5a642dbb7d5623354030dc9822b83fd9bb79683c7399d0" dependencies = [ - "log", + "once_cell", "ring 0.17.8", "rustls-pki-types", - "rustls-webpki 0.102.4", + "rustls-webpki 0.102.5", "subtle", "zeroize", ] @@ -7403,9 +7387,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.102.4" +version = "0.102.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e" +checksum = "f9a6fccd794a42c2c105b513a2f62bc3fd8f3ba57a4593677ceb0bd035164d78" dependencies = [ "ring 0.17.8", "rustls-pki-types", @@ -7414,9 +7398,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.15" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" [[package]] name = "rw-stream-sink" @@ -7441,9 +7425,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "salsa" @@ -7494,8 +7478,8 @@ dependencies = [ [[package]] name = "scarb" -version = "2.6.3" -source = "git+https://github.com/software-mansion/scarb?rev=f1aa7b09507a84d209d83b2fa80472c82605cc43#f1aa7b09507a84d209d83b2fa80472c82605cc43" +version = "2.6.4" +source = "git+https://github.com/software-mansion/scarb?rev=4b75f435f68248a7c096ec0fa5939ecdd92e2d79#4b75f435f68248a7c096ec0fa5939ecdd92e2d79" dependencies = [ "anyhow", "async-trait", @@ -7506,6 +7490,7 @@ dependencies = [ "cairo-lang-formatter", "cairo-lang-macro", "cairo-lang-macro-stable", + "cairo-lang-parser", "cairo-lang-semantic", "cairo-lang-sierra", "cairo-lang-sierra-to-casm", @@ -7515,7 +7500,8 @@ dependencies = [ "cairo-lang-test-plugin", "cairo-lang-utils", "camino", - "clap 4.5.4", + "clap 4.5.9", + "convert_case", "create-output-dir", "data-encoding", "deno_task_shell", @@ -7526,6 +7512,7 @@ dependencies = [ "fs_extra", "futures", "gix", + "gix-path", "glob", "ignore", "include_dir", @@ -7535,6 +7522,7 @@ dependencies = [ "once_cell", "pathdiff", "petgraph", + "ra_ap_toolchain", "redb", "reqwest 0.11.27", "scarb-build-metadata", @@ -7553,8 +7541,8 @@ dependencies = [ "tar", "thiserror", "tokio", - "toml 0.8.12", - "toml_edit 0.22.12", + "toml 0.8.15", + "toml_edit 0.22.16", "tracing", "tracing-subscriber", "typed-builder", @@ -7568,8 +7556,8 @@ dependencies = [ [[package]] name = "scarb-build-metadata" -version = "2.6.3" -source = "git+https://github.com/software-mansion/scarb?rev=f1aa7b09507a84d209d83b2fa80472c82605cc43#f1aa7b09507a84d209d83b2fa80472c82605cc43" +version = "2.6.4" +source = "git+https://github.com/software-mansion/scarb?rev=4b75f435f68248a7c096ec0fa5939ecdd92e2d79#4b75f435f68248a7c096ec0fa5939ecdd92e2d79" dependencies = [ "cargo_metadata", ] @@ -7577,7 +7565,7 @@ dependencies = [ [[package]] name = "scarb-metadata" version = "1.12.0" -source = "git+https://github.com/software-mansion/scarb?rev=f1aa7b09507a84d209d83b2fa80472c82605cc43#f1aa7b09507a84d209d83b2fa80472c82605cc43" +source = "git+https://github.com/software-mansion/scarb?rev=4b75f435f68248a7c096ec0fa5939ecdd92e2d79#4b75f435f68248a7c096ec0fa5939ecdd92e2d79" dependencies = [ "camino", "derive_builder", @@ -7590,7 +7578,7 @@ dependencies = [ [[package]] name = "scarb-stable-hash" version = "1.0.0" -source = "git+https://github.com/software-mansion/scarb?rev=f1aa7b09507a84d209d83b2fa80472c82605cc43#f1aa7b09507a84d209d83b2fa80472c82605cc43" +source = "git+https://github.com/software-mansion/scarb?rev=4b75f435f68248a7c096ec0fa5939ecdd92e2d79#4b75f435f68248a7c096ec0fa5939ecdd92e2d79" dependencies = [ "data-encoding", "xxhash-rust", @@ -7599,11 +7587,11 @@ dependencies = [ [[package]] name = "scarb-ui" version = "0.1.5" -source = "git+https://github.com/software-mansion/scarb?rev=f1aa7b09507a84d209d83b2fa80472c82605cc43#f1aa7b09507a84d209d83b2fa80472c82605cc43" +source = "git+https://github.com/software-mansion/scarb?rev=4b75f435f68248a7c096ec0fa5939ecdd92e2d79#4b75f435f68248a7c096ec0fa5939ecdd92e2d79" dependencies = [ "anyhow", "camino", - "clap 4.5.4", + "clap 4.5.9", "console", "indicatif", "scarb-metadata", @@ -7643,7 +7631,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals 0.29.1", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -7682,9 +7670,9 @@ dependencies = [ [[package]] name = "sdp" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af90731e1f1150eb1740e35f9832958832a893965b632adc7ad27086077e24c7" +checksum = "13254db766b17451aced321e7397ebf0a446ef0c8d2942b6e67a95815421093f" dependencies = [ "rand", "substring", @@ -7708,11 +7696,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.10.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "core-foundation", "core-foundation-sys", "libc", @@ -7721,9 +7709,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.10.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef" +checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" dependencies = [ "core-foundation-sys", "libc", @@ -7731,9 +7719,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" dependencies = [ "serde", ] @@ -7755,21 +7743,22 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.203" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" +checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" dependencies = [ "serde_derive", ] [[package]] name = "serde-untagged" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a160535368dfc353348e7eaa299156bd508c60c45a9249725f5f6d370d82a66" +checksum = "2676ba99bd82f75cae5cbd2c8eda6fa0b8760f18978ea840e980dd5567b5c5b6" dependencies = [ "erased-serde", "serde", + "typeid", ] [[package]] @@ -7795,13 +7784,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.203" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" +checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -7812,7 +7801,7 @@ checksum = "e578a843d40b4189a4d66bba51d7684f57da5bd7c304c64e14bd63efbef49509" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -7823,14 +7812,14 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] name = "serde_json" -version = "1.0.116" +version = "1.0.120" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813" +checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" dependencies = [ "itoa", "ryu", @@ -7856,14 +7845,14 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] name = "serde_spanned" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" +checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" dependencies = [ "serde", ] @@ -7905,7 +7894,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -8023,9 +8012,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "smol_str" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6845563ada680337a52d43bb0b29f396f2d911616f6573012645b9e3d048a49" +checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead" dependencies = [ "serde", ] @@ -8069,8 +8058,8 @@ dependencies = [ [[package]] name = "sozo-ops" -version = "1.0.0-alpha.0" -source = "git+https://github.com/dojoengine/dojo?rev=2e04f54ceaa1c595e5d9ca369aaef640e189ac2a#2e04f54ceaa1c595e5d9ca369aaef640e189ac2a" +version = "1.0.0-alpha.1" +source = "git+https://github.com/dojoengine/dojo?rev=5d8b5f9d4f8bdbfc61ba39b3d8366e6284a4c9c6#5d8b5f9d4f8bdbfc61ba39b3d8366e6284a4c9c6" dependencies = [ "anyhow", "async-trait", @@ -8088,7 +8077,7 @@ dependencies = [ "cairo-lang-test-plugin", "cairo-lang-utils", "camino", - "clap 4.5.4", + "clap 4.5.9", "colored", "colored_json", "console", @@ -8111,7 +8100,7 @@ dependencies = [ "starknet-crypto 0.7.1", "thiserror", "tokio", - "toml 0.8.12", + "toml 0.8.15", "tracing", "url", ] @@ -8154,11 +8143,10 @@ dependencies = [ [[package]] name = "sqlformat" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce81b7bd7c4493975347ef60d8c7e8b742d4694f4c49f93e0a12ea263938176c" +checksum = "f895e3734318cc55f1fe66258926c9b910c124d47520339efecbb6c59cec7c1f" dependencies = [ - "itertools 0.12.1", "nom", "unicode_categories", ] @@ -8216,7 +8204,7 @@ dependencies = [ "tokio-stream", "tracing", "url", - "uuid 1.8.0", + "uuid 1.10.0", ] [[package]] @@ -8267,7 +8255,7 @@ checksum = "1ed31390216d20e538e447a7a9b959e06ed9fc51c37b514b46eb758016ecd418" dependencies = [ "atoi", "base64 0.21.7", - "bitflags 2.5.0", + "bitflags 2.6.0", "byteorder", "bytes", "chrono", @@ -8299,7 +8287,7 @@ dependencies = [ "stringprep", "thiserror", "tracing", - "uuid 1.8.0", + "uuid 1.10.0", "whoami", ] @@ -8311,7 +8299,7 @@ checksum = "7c824eb80b894f926f89a0b9da0c7f435d27cdd35b8c655b114e58223918577e" dependencies = [ "atoi", "base64 0.21.7", - "bitflags 2.5.0", + "bitflags 2.6.0", "byteorder", "chrono", "crc", @@ -8339,7 +8327,7 @@ dependencies = [ "stringprep", "thiserror", "tracing", - "uuid 1.8.0", + "uuid 1.10.0", "whoami", ] @@ -8366,7 +8354,7 @@ dependencies = [ "tracing", "url", "urlencoding", - "uuid 1.8.0", + "uuid 1.10.0", ] [[package]] @@ -8432,26 +8420,6 @@ dependencies = [ "starknet-types-core", ] -[[package]] -name = "starknet-crypto" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e2c30c01e8eb0fc913c4ee3cf676389fffc1d1182bfe5bb9670e4e72e968064" -dependencies = [ - "crypto-bigint", - "hex", - "hmac", - "num-bigint", - "num-integer", - "num-traits 0.2.19", - "rfc6979", - "sha2", - "starknet-crypto-codegen 0.3.3", - "starknet-curve 0.4.2", - "starknet-ff", - "zeroize", -] - [[package]] name = "starknet-crypto" version = "0.7.0" @@ -8491,17 +8459,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "starknet-crypto-codegen" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbc159a1934c7be9761c237333a57febe060ace2bc9e3b337a59a37af206d19f" -dependencies = [ - "starknet-curve 0.4.2", - "starknet-ff", - "syn 2.0.66", -] - [[package]] name = "starknet-crypto-codegen" version = "0.4.0" @@ -8510,7 +8467,7 @@ checksum = "2e179dedc3fa6da064e56811d3e05d446aa2f7459e4eb0e3e49378a337235437" dependencies = [ "starknet-curve 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "starknet-types-core", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -8520,16 +8477,7 @@ source = "git+https://github.com/kariy/starknet-rs?branch=dojo-patch#a8ed9226902 dependencies = [ "starknet-curve 0.5.0 (git+https://github.com/kariy/starknet-rs?branch=dojo-patch)", "starknet-types-core", - "syn 2.0.66", -] - -[[package]] -name = "starknet-curve" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1c383518bb312751e4be80f53e8644034aa99a0afb29d7ac41b89a997db875b" -dependencies = [ - "starknet-ff", + "syn 2.0.71", ] [[package]] @@ -8549,18 +8497,6 @@ dependencies = [ "starknet-types-core", ] -[[package]] -name = "starknet-ff" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7abf1b44ec5b18d87c1ae5f54590ca9d0699ef4dd5b2ffa66fc97f24613ec585" -dependencies = [ - "ark-ff", - "crypto-bigint", - "getrandom", - "hex", -] - [[package]] name = "starknet-macros" version = "0.2.0" @@ -8568,7 +8504,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f4fe4f8d615329410578cbedcdbaa4a36c7f28f68c3f3ac56006cfbdaeaa2b41" dependencies = [ "starknet-core", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -8655,13 +8591,13 @@ dependencies = [ [[package]] name = "stringprep" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb41d74e231a107a1b4ee36bd1214b11285b77768d2e3824aedafa988fd36ee6" +checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" dependencies = [ - "finl_unicode", "unicode-bidi", "unicode-normalization", + "unicode-properties", ] [[package]] @@ -8692,7 +8628,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -8725,9 +8661,9 @@ dependencies = [ [[package]] name = "subtle" -version = "2.5.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" @@ -8742,9 +8678,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.66" +version = "2.0.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" +checksum = "b146dcf730474b4bcd16c311627b31ede9ab149045db4d6088b3becaea046462" dependencies = [ "proc-macro2", "quote", @@ -8757,6 +8693,12 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +[[package]] +name = "sync_wrapper" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" + [[package]] name = "synstructure" version = "0.12.6" @@ -8777,7 +8719,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -8809,9 +8751,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tar" -version = "0.4.40" +version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" +checksum = "cb797dad5fb5b76fcf519e702f4a589483b5ef06567f160c392832c1f5e44909" dependencies = [ "filetime", "libc", @@ -8825,7 +8767,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" dependencies = [ "cfg-if", - "fastrand 2.0.2", + "fastrand 2.1.0", "rustix 0.38.34", "windows-sys 0.52.0", ] @@ -8858,22 +8800,22 @@ checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" [[package]] name = "thiserror" -version = "1.0.61" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.61" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -8940,9 +8882,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.6.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" dependencies = [ "tinyvec_macros", ] @@ -8955,9 +8897,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.37.0" +version = "1.38.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" +checksum = "eb2caba9f80616f438e09748d5acda951967e1ea58508ef53d9c6402485a46df" dependencies = [ "backtrace", "bytes", @@ -8984,13 +8926,13 @@ dependencies = [ [[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", + "syn 2.0.71", ] [[package]] @@ -9020,17 +8962,17 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.21.11", + "rustls 0.21.12", "tokio", ] [[package]] name = "tokio-rustls" -version = "0.25.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" +checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" dependencies = [ - "rustls 0.22.4", + "rustls 0.23.11", "rustls-pki-types", "tokio", ] @@ -9048,9 +8990,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" dependencies = [ "bytes", "futures-core", @@ -9058,7 +9000,6 @@ dependencies = [ "futures-sink", "pin-project-lite", "tokio", - "tracing", ] [[package]] @@ -9072,30 +9013,30 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.12" +version = "0.8.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3" +checksum = "ac2caab0bf757388c6c0ae23b3293fdb463fee59434529014f85e3263b995c28" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.12", + "toml_edit 0.22.16", ] [[package]] name = "toml_datetime" -version = "0.6.5" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" dependencies = [ "serde", ] [[package]] name = "toml_edit" -version = "0.20.7" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ "indexmap 2.2.6", "toml_datetime", @@ -9104,15 +9045,15 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.12" +version = "0.22.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3328d4f68a705b2a4498da1d580585d39a6510f98318a2cec3018a7ec61ddef" +checksum = "278f3d518e152219c994ce877758516bca5e118eaed6996192a774fb9fbf0788" dependencies = [ "indexmap 2.2.6", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.6", + "winnow 0.6.13", ] [[package]] @@ -9152,11 +9093,11 @@ dependencies = [ "h2", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.28", + "hyper 0.14.30", "hyper-timeout", "percent-encoding", "pin-project", - "prost 0.12.4", + "prost 0.12.6", "tokio", "tokio-stream", "tower", @@ -9184,11 +9125,11 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d021fc044c18582b9a2408cd0dd05b1596e3ecdb5c4df822bb0183545683889" dependencies = [ - "prettyplease 0.2.19", + "prettyplease 0.2.20", "proc-macro2", - "prost-build 0.12.4", + "prost-build 0.12.6", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -9197,8 +9138,8 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fa37c513df1339d197f4ba21d28c918b9ef1ac1768265f11ecb6b7f1cba1b76" dependencies = [ - "prost 0.12.4", - "prost-types 0.12.4", + "prost 0.12.6", + "prost-types 0.12.6", "tokio", "tokio-stream", "tonic 0.10.2", @@ -9214,7 +9155,7 @@ dependencies = [ "bytes", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.28", + "hyper 0.14.30", "pin-project", "tokio-stream", "tonic 0.10.2", @@ -9256,8 +9197,8 @@ checksum = "ea68304e134ecd095ac6c3574494fc62b909f416c4fca77e440530221e549d3d" [[package]] name = "torii-client" -version = "1.0.0-alpha.0" -source = "git+https://github.com/dojoengine/dojo?rev=2e04f54ceaa1c595e5d9ca369aaef640e189ac2a#2e04f54ceaa1c595e5d9ca369aaef640e189ac2a" +version = "1.0.0-alpha.1" +source = "git+https://github.com/dojoengine/dojo?rev=5d8b5f9d4f8bdbfc61ba39b3d8366e6284a4c9c6#5d8b5f9d4f8bdbfc61ba39b3d8366e6284a4c9c6" dependencies = [ "async-trait", "crypto-bigint", @@ -9269,7 +9210,7 @@ dependencies = [ "num-traits 0.2.19", "parking_lot 0.12.3", "prost 0.11.9", - "prost 0.12.4", + "prost 0.12.6", "serde", "serde_json", "starknet", @@ -9285,8 +9226,8 @@ dependencies = [ [[package]] name = "torii-core" -version = "1.0.0-alpha.0" -source = "git+https://github.com/dojoengine/dojo?rev=2e04f54ceaa1c595e5d9ca369aaef640e189ac2a#2e04f54ceaa1c595e5d9ca369aaef640e189ac2a" +version = "1.0.0-alpha.1" +source = "git+https://github.com/dojoengine/dojo?rev=5d8b5f9d4f8bdbfc61ba39b3d8366e6284a4c9c6#5d8b5f9d4f8bdbfc61ba39b3d8366e6284a4c9c6" dependencies = [ "anyhow", "async-trait", @@ -9303,7 +9244,7 @@ dependencies = [ "log", "num-traits 0.2.19", "once_cell", - "reqwest 0.12.4", + "reqwest 0.12.5", "scarb-ui", "serde", "serde_json", @@ -9321,8 +9262,8 @@ dependencies = [ [[package]] name = "torii-grpc" -version = "1.0.0-alpha.0" -source = "git+https://github.com/dojoengine/dojo?rev=2e04f54ceaa1c595e5d9ca369aaef640e189ac2a#2e04f54ceaa1c595e5d9ca369aaef640e189ac2a" +version = "1.0.0-alpha.1" +source = "git+https://github.com/dojoengine/dojo?rev=5d8b5f9d4f8bdbfc61ba39b3d8366e6284a4c9c6#5d8b5f9d4f8bdbfc61ba39b3d8366e6284a4c9c6" dependencies = [ "bytes", "crypto-bigint", @@ -9331,11 +9272,11 @@ dependencies = [ "futures", "futures-util", "hex", - "hyper 0.14.28", + "hyper 0.14.30", "num-traits 0.2.19", "parking_lot 0.12.3", "prost 0.11.9", - "prost 0.12.4", + "prost 0.12.6", "rand", "rayon", "serde", @@ -9362,8 +9303,8 @@ dependencies = [ [[package]] name = "torii-relay" -version = "1.0.0-alpha.0" -source = "git+https://github.com/dojoengine/dojo?rev=2e04f54ceaa1c595e5d9ca369aaef640e189ac2a#2e04f54ceaa1c595e5d9ca369aaef640e189ac2a" +version = "1.0.0-alpha.1" +source = "git+https://github.com/dojoengine/dojo?rev=5d8b5f9d4f8bdbfc61ba39b3d8366e6284a4c9c6#5d8b5f9d4f8bdbfc61ba39b3d8366e6284a4c9c6" dependencies = [ "anyhow", "async-trait", @@ -9421,7 +9362,7 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "bytes", "futures-core", "futures-util", @@ -9465,7 +9406,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -9559,7 +9500,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals 0.28.0", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -9584,24 +9525,30 @@ dependencies = [ [[package]] name = "typed-builder" -version = "0.18.2" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77739c880e00693faef3d65ea3aad725f196da38b22fdc7ea6ded6e1ce4d3add" +checksum = "a06fbd5b8de54c5f7c91f6fe4cebb949be2125d7758e630bb58b1d831dbce600" dependencies = [ "typed-builder-macro", ] [[package]] name = "typed-builder-macro" -version = "0.18.2" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f718dfaf347dcb5b983bfc87608144b0bad87970aebcbea5ce44d2a30c08e63" +checksum = "f9534daa9fd3ed0bd911d462a37f172228077e7abf18c18a5f67199d959205f8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] +[[package]] +name = "typeid" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "059d83cc991e7a42fc37bd50941885db0888e34209f8cfd9aab07ddec03bc9cf" + [[package]] name = "typenum" version = "1.17.0" @@ -9631,9 +9578,9 @@ dependencies = [ [[package]] name = "unescaper" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0adf6ad32eb5b3cadff915f7b770faaac8f7ff0476633aa29eb0d9584d889d34" +checksum = "c878a167baa8afd137494101a688ef8c67125089ff2249284bd2b5f9bfedb815" dependencies = [ "thiserror", ] @@ -9674,6 +9621,12 @@ dependencies = [ "tinyvec", ] +[[package]] +name = "unicode-properties" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4259d9d4425d9f0661581b804cb85fe66a4c631cadd8f490d1c13a35d5d9291" + [[package]] name = "unicode-segmentation" version = "1.11.0" @@ -9682,9 +9635,9 @@ checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" [[package]] name = "unicode-width" -version = "0.1.11" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" [[package]] name = "unicode-xid" @@ -9734,9 +9687,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.0" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", "idna 0.5.0", @@ -9752,9 +9705,9 @@ checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" [[package]] name = "utf8parse" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" @@ -9768,9 +9721,9 @@ dependencies = [ [[package]] name = "uuid" -version = "1.8.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" +checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" dependencies = [ "getrandom", ] @@ -9783,9 +9736,9 @@ checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" [[package]] name = "value-bag" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74797339c3b98616c009c7c3eb53a0ce41e85c8ec66bd3db96ed132d20cfdee8" +checksum = "5a84c137d37ab0142f0f2ddfe332651fdbf252e7b7dbb4e67b6c1f1b2e925101" [[package]] name = "vcpkg" @@ -9816,9 +9769,9 @@ dependencies = [ [[package]] name = "waker-fn" -version = "1.1.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" +checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" [[package]] name = "walkdir" @@ -9872,7 +9825,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", "wasm-bindgen-shared", ] @@ -9906,7 +9859,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -9939,7 +9892,7 @@ checksum = "b7f89739351a2e03cb94beb799d47fb2cac01759b40ec441f7de39b00cbf7ef0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -10021,9 +9974,9 @@ checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "webpki-roots" -version = "0.26.1" +version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009" +checksum = "bd7c23921eeb1713a4e851530e9b9756e4fb0e89978582942612524cf09f01cd" dependencies = [ "rustls-pki-types", ] @@ -10049,7 +10002,7 @@ dependencies = [ "ring 0.16.20", "rtcp", "rtp 0.9.0", - "rustls 0.21.11", + "rustls 0.21.12", "sdp", "serde", "serde_json", @@ -10110,7 +10063,7 @@ dependencies = [ "rand_core", "rcgen", "ring 0.16.20", - "rustls 0.21.11", + "rustls 0.21.12", "sec1", "serde", "sha1", @@ -10141,7 +10094,7 @@ dependencies = [ "tokio", "turn", "url", - "uuid 1.8.0", + "uuid 1.10.0", "waitgroup", "webrtc-mdns", "webrtc-util", @@ -10292,9 +10245,9 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134306a13c5647ad6453e8deaec55d3a44d6021970129e6188735e74bf546697" +checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" dependencies = [ "windows-sys 0.52.0", ] @@ -10330,7 +10283,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -10348,7 +10301,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -10368,18 +10321,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", "windows_i686_gnullvm", - "windows_i686_msvc 0.52.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] [[package]] @@ -10390,9 +10343,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" @@ -10402,9 +10355,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" @@ -10414,15 +10367,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" @@ -10432,9 +10385,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" @@ -10444,9 +10397,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" @@ -10456,9 +10409,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" @@ -10468,9 +10421,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" @@ -10483,9 +10436,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.6" +version = "0.6.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0c976aaaa0e1f90dbb21e9587cdaf1d9679a1cde8875c0d6bd83ab96a208352" +checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" dependencies = [ "memchr", ] @@ -10573,7 +10526,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" dependencies = [ "libc", - "linux-raw-sys 0.4.13", + "linux-raw-sys 0.4.14", "rustix 0.38.34", ] @@ -10609,9 +10562,9 @@ checksum = "9d422e8e38ec76e2f06ee439ccc765e9c6a9638b9e7c9f2e8255e4d41e8bd852" [[package]] name = "xxhash-rust" -version = "0.8.10" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927da81e25be1e1a2901d59b81b37dd2efd1fc9c9345a55007f09bf5a2d3ee03" +checksum = "63658493314859b4dfdf3fb8c1defd61587839def09582db50b8a4e93afca6bb" [[package]] name = "yamux" @@ -10630,18 +10583,18 @@ dependencies = [ [[package]] name = "yamux" -version = "0.13.1" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad1d0148b89300047e72994bee99ecdabd15a9166a7b70c8b8c37c314dcc9002" +checksum = "a31b5e376a8b012bee9c423acdbb835fc34d45001cfa3106236a624e4b738028" dependencies = [ "futures", - "instant", "log", "nohash-hasher", "parking_lot 0.12.3", "pin-project", "rand", "static_assertions", + "web-time", ] [[package]] @@ -10661,29 +10614,29 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.32" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.32" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] name = "zeroize" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" dependencies = [ "zeroize_derive", ] @@ -10696,7 +10649,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.71", ] [[package]] @@ -10713,27 +10666,27 @@ dependencies = [ [[package]] name = "zstd" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d789b1514203a1120ad2429eae43a7bd32b90976a7bb8a05f7ec02fa88cc23a" +checksum = "fcf2b778a664581e31e389454a7072dab1647606d44f7feea22cd5abb9c9f3f9" dependencies = [ "zstd-safe", ] [[package]] name = "zstd-safe" -version = "7.1.0" +version = "7.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd99b45c6bc03a018c8b8a86025678c87e55526064e38f9df301989dce7ec0a" +checksum = "fa556e971e7b568dc775c136fc9de8c779b1c2fc3a63defaafadffdbd3181afa" dependencies = [ "zstd-sys", ] [[package]] name = "zstd-sys" -version = "2.0.10+zstd.1.5.6" +version = "2.0.12+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa" +checksum = "0a4e40c320c3cb459d9a9ff6de98cff88f4751ee9275d140e2be94a2b74e4c13" dependencies = [ "cc", "pkg-config", diff --git a/Cargo.toml b/Cargo.toml index da76221..85d6f63 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,17 +7,18 @@ version = "1.0.0-alpha.0" crate-type = ["cdylib", "rlib", "staticlib"] [dependencies] -dojo-types = { git = "https://github.com/dojoengine/dojo", rev = "2e04f54ceaa1c595e5d9ca369aaef640e189ac2a" } -torii-client = { git = "https://github.com/dojoengine/dojo", rev = "2e04f54ceaa1c595e5d9ca369aaef640e189ac2a" } +dojo-types = { git = "https://github.com/dojoengine/dojo", rev = "5d8b5f9d4f8bdbfc61ba39b3d8366e6284a4c9c6" } +torii-client = { git = "https://github.com/dojoengine/dojo", rev = "5d8b5f9d4f8bdbfc61ba39b3d8366e6284a4c9c6" } torii-grpc = { git = "https://github.com/dojoengine/dojo", features = [ "client", -], rev = "2e04f54ceaa1c595e5d9ca369aaef640e189ac2a" } -torii-relay = { git = "https://github.com/dojoengine/dojo", rev = "2e04f54ceaa1c595e5d9ca369aaef640e189ac2a" } +], rev = "5d8b5f9d4f8bdbfc61ba39b3d8366e6284a4c9c6" } +torii-relay = { git = "https://github.com/dojoengine/dojo", rev = "5d8b5f9d4f8bdbfc61ba39b3d8366e6284a4c9c6" } + -parking_lot = "0.12.1" starknet = "0.11.0" starknet-crypto = "0.7.0" +parking_lot = "0.12.1" tokio = { version = "1.32.0", default-features = false, features = ["rt"] } url = "2.5.0" anyhow = "1.0.76" @@ -30,6 +31,7 @@ wasm-bindgen = "0.2.92" stream-cancel = "0.8.2" cainome = { git = "https://github.com/cartridge-gg/cainome", tag = "v0.3.0" } + # WASM [target.'cfg(target_arch = "wasm32")'.dependencies] serde-wasm-bindgen = "0.6.3" diff --git a/build.rs b/build.rs index 93abf15..4d1630d 100644 --- a/build.rs +++ b/build.rs @@ -1,4 +1,5 @@ -use std::{collections::HashMap, env}; +use std::collections::HashMap; +use std::env; fn main() { let crate_dir = env::var("CARGO_MANIFEST_DIR").unwrap(); @@ -11,24 +12,20 @@ fn main() { config.braces = cbindgen::Braces::SameLine; config.cpp_compat = true; config.style = cbindgen::Style::Both; - config.layout = cbindgen::LayoutConfig { - ..Default::default() - }; + config.layout = cbindgen::LayoutConfig { ..Default::default() }; config.enumeration = cbindgen::EnumConfig { derive_helper_methods: true, // prefix_with_name: true, ..Default::default() }; config.export = cbindgen::ExportConfig { - mangle: cbindgen::MangleConfig { - remove_underscores: true, - ..Default::default() - }, + mangle: cbindgen::MangleConfig { remove_underscores: true, ..Default::default() }, ..Default::default() }; config.defines = HashMap::new(); - // config.defines.insert("target_arch = wasm32".to_string(), "TARGET_WASM32".to_string()); + // config.defines.insert("target_arch = wasm32".to_string(), + // "TARGET_WASM32".to_string()); config.defines.insert( "target_pointer_width = 32".to_string(), "TARGET_POINTER_WIDTH_32".to_string(), @@ -48,19 +45,14 @@ fn main() { config.language = cbindgen::Language::Cxx; config.braces = cbindgen::Braces::SameLine; config.style = cbindgen::Style::Both; - config.layout = cbindgen::LayoutConfig { - ..Default::default() - }; + config.layout = cbindgen::LayoutConfig { ..Default::default() }; config.enumeration = cbindgen::EnumConfig { derive_helper_methods: true, // prefix_with_name: true, ..Default::default() }; config.export = cbindgen::ExportConfig { - mangle: cbindgen::MangleConfig { - remove_underscores: true, - ..Default::default() - }, + mangle: cbindgen::MangleConfig { remove_underscores: true, ..Default::default() }, ..Default::default() }; diff --git a/dojo.h b/dojo.h index 6f0e7bc..07288f9 100644 --- a/dojo.h +++ b/dojo.h @@ -94,6 +94,11 @@ typedef struct Signature { } Signature; typedef enum Primitive_Tag { + I8, + I16, + I32, + I64, + I128, U8, U16, U32, @@ -115,6 +120,21 @@ typedef enum Primitive_Tag { typedef struct Primitive { Primitive_Tag tag; union { + struct { + int8_t i8; + }; + struct { + int16_t i16; + }; + struct { + int32_t i32; + }; + struct { + int64_t i64; + }; + struct { + uint8_t i128[16]; + }; struct { uint8_t u8; }; @@ -659,15 +679,27 @@ struct ResultSubscription client_on_sync_model_update(struct ToriiClient *client void (*callback)(void)); struct ResultSubscription client_on_entity_state_update(struct ToriiClient *client, - const struct EntityKeysClause *clause, + const struct EntityKeysClause *clauses, + uintptr_t clauses_len, void (*callback)(struct FieldElement, struct CArrayStruct)); +struct Resultbool client_update_entity_subscription(struct ToriiClient *client, + struct Subscription *subscription, + const struct EntityKeysClause *clauses, + uintptr_t clauses_len); + struct ResultSubscription client_on_event_message_update(struct ToriiClient *client, - const struct EntityKeysClause *clause, + const struct EntityKeysClause *clauses, + uintptr_t clauses_len, void (*callback)(struct FieldElement, struct CArrayStruct)); +struct Resultbool client_update_event_message_subscription(struct ToriiClient *client, + struct Subscription *subscription, + const struct EntityKeysClause *clauses, + uintptr_t clauses_len); + struct Resultbool client_remove_models_to_sync(struct ToriiClient *client, const struct ModelKeysClause *models, uintptr_t models_len); diff --git a/dojo.hpp b/dojo.hpp index 5ad9b45..ec64884 100644 --- a/dojo.hpp +++ b/dojo.hpp @@ -105,6 +105,11 @@ struct Signature { struct Primitive { enum class Tag { + I8, + I16, + I32, + I64, + I128, U8, U16, U32, @@ -123,6 +128,26 @@ struct Primitive { ContractAddress, }; + struct I8_Body { + int8_t _0; + }; + + struct I16_Body { + int16_t _0; + }; + + struct I32_Body { + int32_t _0; + }; + + struct I64_Body { + int64_t _0; + }; + + struct I128_Body { + uint8_t _0[16]; + }; + struct U8_Body { uint8_t _0; }; @@ -177,6 +202,11 @@ struct Primitive { Tag tag; union { + I8_Body i8; + I16_Body i16; + I32_Body i32; + I64_Body i64; + I128_Body i128; U8_Body u8; U16_Body u16; U32_Body u32; @@ -195,6 +225,63 @@ struct Primitive { ContractAddress_Body contract_address; }; + static Primitive I8(const int8_t &_0) { + Primitive result; + ::new (&result.i8._0) (int8_t)(_0); + result.tag = Tag::I8; + return result; + } + + bool IsI8() const { + return tag == Tag::I8; + } + + static Primitive I16(const int16_t &_0) { + Primitive result; + ::new (&result.i16._0) (int16_t)(_0); + result.tag = Tag::I16; + return result; + } + + bool IsI16() const { + return tag == Tag::I16; + } + + static Primitive I32(const int32_t &_0) { + Primitive result; + ::new (&result.i32._0) (int32_t)(_0); + result.tag = Tag::I32; + return result; + } + + bool IsI32() const { + return tag == Tag::I32; + } + + static Primitive I64(const int64_t &_0) { + Primitive result; + ::new (&result.i64._0) (int64_t)(_0); + result.tag = Tag::I64; + return result; + } + + bool IsI64() const { + return tag == Tag::I64; + } + + static Primitive I128(const uint8_t (&_0)[16]) { + Primitive result; + for (int i = 0; i < 16; i++) { + ::new (&result.i128._0[i]) (uint8_t)(_0[i]); + } + result.tag = Tag::I128; + return result; + } + + bool IsI128() const { + return tag == Tag::I128; + } + static Primitive U8(const uint8_t &_0) { Primitive result; ::new (&result.u8._0) (uint8_t)(_0); @@ -867,13 +954,25 @@ Result client_on_sync_model_update(ToriiClient *client, void (*callback)()); Result client_on_entity_state_update(ToriiClient *client, - const EntityKeysClause *clause, + const EntityKeysClause *clauses, + uintptr_t clauses_len, void (*callback)(FieldElement, CArray)); +Result client_update_entity_subscription(ToriiClient *client, + Subscription *subscription, + const EntityKeysClause *clauses, + uintptr_t clauses_len); + Result client_on_event_message_update(ToriiClient *client, - const EntityKeysClause *clause, + const EntityKeysClause *clauses, + uintptr_t clauses_len, void (*callback)(FieldElement, CArray)); +Result client_update_event_message_subscription(ToriiClient *client, + Subscription *subscription, + const EntityKeysClause *clauses, + uintptr_t clauses_len); + Result client_remove_models_to_sync(ToriiClient *client, const ModelKeysClause *models, uintptr_t models_len); diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 624eb0e..628740b 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,2 +1,2 @@ [toolchain] -channel = "1.76.0" +channel = "1.79.0" diff --git a/rustfmt.toml b/rustfmt.toml new file mode 100644 index 0000000..91d797a --- /dev/null +++ b/rustfmt.toml @@ -0,0 +1,28 @@ +edition = "2021" +max_width = 100 +newline_style = "Unix" +use_field_init_shorthand = true +use_small_heuristics = "Max" +use_try_shorthand = true + +# Unstable features below +comment_width = 100 +format_code_in_doc_comments = true +format_macro_bodies = true +format_macro_matchers = true +format_strings = true +group_imports = "StdExternalCrate" +imports_granularity = "Module" +normalize_comments = true +normalize_doc_attributes = true +unstable_features = true +version = "Two" +wrap_comments = true + +# To use these settings in vscode, add the following line to your settings.json file: +# +# "rust-analyzer.rustfmt.extraArgs": [ +# "+nightly" +# ], +# +# and run "rustup toolchain install nightly". \ No newline at end of file diff --git a/src/c/mod.rs b/src/c/mod.rs index 5041aaf..76d44d5 100644 --- a/src/c/mod.rs +++ b/src/c/mod.rs @@ -1,11 +1,10 @@ mod types; -use self::types::{ - BlockId, CArray, Call, Entity, Error, Query, Result, Signature, ToriiClient, Ty, WorldMetadata, -}; -use crate::constants; -use crate::types::{Account, Provider, Subscription}; -use crate::utils::watch_tx; +use std::ffi::{c_void, CStr, CString}; +use std::ops::Deref; +use std::os::raw::c_char; +use std::sync::Arc; + use cainome::cairo_serde::{self, ByteArray, CairoSerde}; use starknet::accounts::{Account as StarknetAccount, ExecutionEncoding, SingleOwnerAccount}; use starknet::core::types::FunctionCall; @@ -16,10 +15,6 @@ use starknet::providers::jsonrpc::HttpTransport; use starknet::providers::{JsonRpcClient, Provider as _}; use starknet::signers::{LocalWallet, SigningKey, VerifyingKey}; use starknet_crypto::{poseidon_hash_many, Felt}; -use std::ffi::{c_void, CStr, CString}; -use std::ops::Deref; -use std::os::raw::c_char; -use std::sync::Arc; use stream_cancel::{StreamExt as _, Tripwire}; use tokio_stream::StreamExt; use torii_client::client::Client as TClient; @@ -27,6 +22,13 @@ use torii_relay::typed_data::TypedData; use torii_relay::types::Message; use types::{EntityKeysClause, ModelKeysClause, Struct}; +use self::types::{ + BlockId, CArray, Call, Entity, Error, Query, Result, Signature, ToriiClient, Ty, WorldMetadata, +}; +use crate::constants; +use crate::types::{Account, Provider, Subscription}; +use crate::utils::watch_tx; + #[no_mangle] #[allow(clippy::missing_safety_doc)] pub unsafe extern "C" fn client_new( @@ -37,11 +39,8 @@ pub unsafe extern "C" fn client_new( ) -> Result<*mut ToriiClient> { let torii_url = unsafe { CStr::from_ptr(torii_url).to_string_lossy().into_owned() }; let rpc_url = unsafe { CStr::from_ptr(rpc_url).to_string_lossy().into_owned() }; - let libp2p_relay_url = unsafe { - CStr::from_ptr(libp2p_relay_url) - .to_string_lossy() - .into_owned() - }; + let libp2p_relay_url = + unsafe { CStr::from_ptr(libp2p_relay_url).to_string_lossy().into_owned() }; let client_future = TClient::new(torii_url, rpc_url, libp2p_relay_url, (&world).into()); @@ -65,11 +64,7 @@ pub unsafe extern "C" fn client_new( Err(e) => return Result::Err(e.into()), } - Result::Ok(Box::into_raw(Box::new(ToriiClient { - inner: client, - runtime, - logger: None, - }))) + Result::Ok(Box::into_raw(Box::new(ToriiClient { inner: client, runtime, logger: None }))) } #[no_mangle] @@ -175,10 +170,7 @@ pub unsafe extern "C" fn client_subscribed_models( client: *mut ToriiClient, ) -> CArray { let entities = unsafe { (*client).inner.subscribed_models().clone() }; - let entities = entities - .into_iter() - .map(|e| (&e).into()) - .collect::>(); + let entities = entities.into_iter().map(|e| (&e).into()).collect::>(); entities.into() } @@ -198,11 +190,8 @@ pub unsafe extern "C" fn client_add_models_to_sync( ) -> Result { let models = unsafe { std::slice::from_raw_parts(models, models_len).to_vec() }; - let client_future = unsafe { - (*client) - .inner - .add_models_to_sync(models.iter().map(|e| e.into()).collect()) - }; + let client_future = + unsafe { (*client).inner.add_models_to_sync(models.iter().map(|e| e.into()).collect()) }; match (*client).runtime.block_on(client_future) { Ok(_) => Result::Ok(true), @@ -237,65 +226,127 @@ pub unsafe extern "C" fn client_on_sync_model_update( } }); - Result::Ok(Box::into_raw(Box::new(Subscription(trigger)))) + Result::Ok(Box::into_raw(Box::new(Subscription { id: 0, trigger }))) } #[no_mangle] #[allow(clippy::missing_safety_doc)] pub unsafe extern "C" fn client_on_entity_state_update( client: *mut ToriiClient, - clause: Option<&EntityKeysClause>, + clauses: *const EntityKeysClause, + clauses_len: usize, callback: unsafe extern "C" fn(types::FieldElement, CArray), ) -> Result<*mut Subscription> { - let clause = clause.map(|c| c.into()); + let clauses = unsafe { std::slice::from_raw_parts(clauses, clauses_len) }; + let clauses = clauses.iter().map(|c| c.into()).collect::>(); - let entity_stream = unsafe { (*client).inner.on_entity_updated(clause) }; - let rcv = match (*client).runtime.block_on(entity_stream) { + let entity_stream = unsafe { (*client).inner.on_entity_updated(clauses) }; + let mut rcv = match (*client).runtime.block_on(entity_stream) { Ok(rcv) => rcv, Err(e) => return Result::Err(e.into()), }; + let subscription_id = match (*client).runtime.block_on(rcv.next()) { + Some(Ok((subscription_id, _))) => subscription_id, + _ => { + return Result::Err(Error { + message: CString::new("failed to get subscription id").unwrap().into_raw(), + }); + } + }; + let (trigger, tripwire) = Tripwire::new(); (*client).runtime.spawn(async move { let mut rcv = rcv.take_until_if(tripwire); - while let Some(Ok(entity)) = rcv.next().await { + while let Some(Ok((_, entity))) = rcv.next().await { let key: types::FieldElement = (&entity.hashed_keys).into(); let models: Vec = entity.models.into_iter().map(|e| (&e).into()).collect(); callback(key, models.into()); } }); - Result::Ok(Box::into_raw(Box::new(Subscription(trigger)))) + Result::Ok(Box::into_raw(Box::new(Subscription { id: subscription_id, trigger }))) +} + +#[no_mangle] +#[allow(clippy::missing_safety_doc)] +pub unsafe extern "C" fn client_update_entity_subscription( + client: *mut ToriiClient, + subscription: *mut Subscription, + clauses: *const EntityKeysClause, + clauses_len: usize, +) -> Result { + let clauses = unsafe { std::slice::from_raw_parts(clauses, clauses_len) }; + let clauses = clauses.iter().map(|c| c.into()).collect::>(); + + match (*client) + .runtime + .block_on((*client).inner.update_entity_subscription((*subscription).id, clauses)) + { + Ok(_) => Result::Ok(true), + Err(e) => Result::Err(e.into()), + } } #[no_mangle] #[allow(clippy::missing_safety_doc)] pub unsafe extern "C" fn client_on_event_message_update( client: *mut ToriiClient, - clause: Option<&EntityKeysClause>, + clauses: *const EntityKeysClause, + clauses_len: usize, callback: unsafe extern "C" fn(types::FieldElement, CArray), ) -> Result<*mut Subscription> { - let clause = clause.map(|c| c.into()); + let clauses = unsafe { std::slice::from_raw_parts(clauses, clauses_len) }; + let clauses = clauses.iter().map(|c| c.into()).collect::>(); - let entity_stream = unsafe { (*client).inner.on_event_message_updated(clause) }; - let rcv = match (*client).runtime.block_on(entity_stream) { + let entity_stream = unsafe { (*client).inner.on_event_message_updated(clauses) }; + let mut rcv = match (*client).runtime.block_on(entity_stream) { Ok(rcv) => rcv, Err(e) => return Result::Err(e.into()), }; + let subscription_id = match (*client).runtime.block_on(rcv.next()) { + Some(Ok((subscription_id, _))) => subscription_id, + _ => { + return Result::Err(Error { + message: CString::new("faild to get subscription id").unwrap().into_raw(), + }); + } + }; + let (trigger, tripwire) = Tripwire::new(); (*client).runtime.spawn(async move { let mut rcv = rcv.take_until_if(tripwire); - while let Some(Ok(entity)) = rcv.next().await { + while let Some(Ok((_, entity))) = rcv.next().await { let key: types::FieldElement = (&entity.hashed_keys).into(); let models: Vec = entity.models.into_iter().map(|e| (&e).into()).collect(); callback(key, models.into()); } }); - Result::Ok(Box::into_raw(Box::new(Subscription(trigger)))) + Result::Ok(Box::into_raw(Box::new(Subscription { id: subscription_id, trigger }))) +} + +#[no_mangle] +#[allow(clippy::missing_safety_doc)] +pub unsafe extern "C" fn client_update_event_message_subscription( + client: *mut ToriiClient, + subscription: *mut Subscription, + clauses: *const EntityKeysClause, + clauses_len: usize, +) -> Result { + let clauses = unsafe { std::slice::from_raw_parts(clauses, clauses_len) }; + let clauses = clauses.iter().map(|c| c.into()).collect::>(); + + match (*client) + .runtime + .block_on((*client).inner.update_event_message_subscription((*subscription).id, clauses)) + { + Ok(_) => Result::Ok(true), + Err(e) => Result::Err(e.into()), + } } #[no_mangle] @@ -307,11 +358,8 @@ pub unsafe extern "C" fn client_remove_models_to_sync( ) -> Result { let models = unsafe { std::slice::from_raw_parts(models, models_len).to_vec() }; - let client_future = unsafe { - (*client) - .inner - .remove_models_to_sync(models.iter().map(|e| e.into()).collect()) - }; + let client_future = + unsafe { (*client).inner.remove_models_to_sync(models.iter().map(|e| e.into()).collect()) }; match (*client).runtime.block_on(client_future) { Ok(_) => Result::Ok(true), @@ -331,10 +379,7 @@ pub unsafe extern "C" fn bytearray_serialize( }; let felts = cairo_serde::ByteArray::cairo_serialize(&bytearray); - let felts = felts - .iter() - .map(|f| f.into()) - .collect::>(); + let felts = felts.iter().map(|f| f.into()).collect::>(); Result::Ok(felts.into()) } @@ -345,10 +390,7 @@ pub unsafe extern "C" fn bytearray_deserialize( felts_len: usize, ) -> Result<*const c_char> { let felts = unsafe { std::slice::from_raw_parts(felts, felts_len) }; - let felts = felts - .iter() - .map(|f| (&f.clone()).into()) - .collect::>(); + let felts = felts.iter().map(|f| (&f.clone()).into()).collect::>(); let bytearray = match cairo_serde::ByteArray::cairo_deserialize(&felts, 0) { Ok(bytearray) => bytearray, Err(e) => return Result::Err(e.into()), @@ -369,10 +411,7 @@ pub unsafe extern "C" fn poseidon_hash( felts_len: usize, ) -> types::FieldElement { let felts = unsafe { std::slice::from_raw_parts(felts, felts_len) }; - let felts = felts - .iter() - .map(|f| (&f.clone()).into()) - .collect::>(); + let felts = felts.iter().map(|f| (&f.clone()).into()).collect::>(); (&poseidon_hash_many(&felts)).into() } @@ -388,10 +427,8 @@ pub unsafe extern "C" fn typed_data_encode( Ok(typed_data) => typed_data, Err(err) => { return Result::Err(Error { - message: CString::new(format!("Invalid typed data: {}", err)) - .unwrap() - .into_raw(), - }) + message: CString::new(format!("Invalid typed data: {}", err)).unwrap().into_raw(), + }); } }; @@ -511,12 +548,10 @@ pub unsafe extern "C" fn starknet_call( ) -> Result> { let res = match tokio::runtime::Runtime::new() { Ok(runtime) => match runtime.block_on( - (*provider) - .0 - .call::( - (&call).into(), - (&block_id).into(), - ), + (*provider).0.call::( + (&call).into(), + (&block_id).into(), + ), ) { Ok(res) => res, Err(e) => return Result::Err(e.into()), @@ -556,19 +591,17 @@ pub unsafe extern "C" fn account_deploy_burner( ); // deploy the burner - let exec = (*master_account) - .0 - .execute_v3(vec![starknet::accounts::Call { - to: constants::UDC_ADDRESS, - calldata: vec![ - constants::KATANA_ACCOUNT_CLASS_HASH, // class_hash - verifying_key.scalar(), // salt - Felt::ZERO, // deployer_address - Felt::ONE, // constructor calldata length (1) - verifying_key.scalar(), // constructor calldata - ], - selector: get_selector_from_name("deployContract").unwrap(), - }]); + let exec = (*master_account).0.execute_v3(vec![starknet::accounts::Call { + to: constants::UDC_ADDRESS, + calldata: vec![ + constants::KATANA_ACCOUNT_CLASS_HASH, // class_hash + verifying_key.scalar(), // salt + Felt::ZERO, // deployer_address + Felt::ONE, // constructor calldata length (1) + verifying_key.scalar(), // constructor calldata + ], + selector: get_selector_from_name("deployContract").unwrap(), + }]); let runtime = match tokio::runtime::Runtime::new() { Ok(runtime) => runtime, @@ -582,9 +615,7 @@ pub unsafe extern "C" fn account_deploy_burner( match runtime.block_on(watch_tx(&(*provider).0, result.transaction_hash)) { Ok(_) => Result::Ok(Box::into_raw(Box::new(Account(account)))), - Err(e) => Result::Err(Error { - message: CString::new(e.to_string()).unwrap().into_raw(), - }), + Err(e) => Result::Err(Error { message: CString::new(e.to_string()).unwrap().into_raw() }), } } @@ -615,10 +646,8 @@ pub unsafe extern "C" fn account_execute_raw( calldata_len: usize, ) -> Result { let calldata = unsafe { std::slice::from_raw_parts(calldata, calldata_len).to_vec() }; - let calldata = calldata - .into_iter() - .map(|c| (&c).into()) - .collect::>(); + let calldata = + calldata.into_iter().map(|c| (&c).into()).collect::>(); let call = (*account).0.execute_v3(calldata); match tokio::runtime::Runtime::new() { @@ -640,9 +669,9 @@ pub unsafe extern "C" fn wait_for_transaction( match tokio::runtime::Runtime::new() { Ok(runtime) => match runtime.block_on(watch_tx(&(*rpc).0, txn_hash)) { Ok(_) => Result::Ok(true), - Err(e) => Result::Err(Error { - message: CString::new(e.to_string()).unwrap().into_raw(), - }), + Err(e) => { + Result::Err(Error { message: CString::new(e.to_string()).unwrap().into_raw() }) + } }, Err(e) => Result::Err(e.into()), } @@ -662,10 +691,8 @@ pub unsafe extern "C" fn hash_get_contract_address( let constructor_calldata = unsafe { std::slice::from_raw_parts(constructor_calldata, constructor_calldata_len).to_vec() }; - let constructor_calldata = constructor_calldata - .iter() - .map(|f| (&f.clone()).into()) - .collect::>(); + let constructor_calldata = + constructor_calldata.iter().map(|f| (&f.clone()).into()).collect::>(); let deployer_address = (&deployer_address).into(); let address = get_contract_address(salt, class_hash, &constructor_calldata, deployer_address); @@ -679,7 +706,7 @@ pub unsafe extern "C" fn subscription_cancel(subscription: *mut Subscription) { if !subscription.is_null() { unsafe { let subscription = Box::from_raw(subscription); - subscription.0.cancel(); + subscription.trigger.cancel(); } } } diff --git a/src/c/types.rs b/src/c/types.rs index a1b9736..d818776 100644 --- a/src/c/types.rs +++ b/src/c/types.rs @@ -1,11 +1,13 @@ -use starknet::core::utils::get_selector_from_name; use std::ffi::{c_char, CStr, CString}; + +use starknet::core::utils::get_selector_from_name; use torii_client::client::Client; #[derive(Debug, Clone)] #[repr(C)] pub enum Result { Ok(T), + #[allow(dead_code)] Err(Error), } #[derive(Debug, Clone)] @@ -60,19 +62,13 @@ pub struct Signature { impl From<&Signature> for starknet::core::crypto::Signature { fn from(val: &Signature) -> Self { - Self { - r: (&val.r).into(), - s: (&val.s).into(), - } + Self { r: (&val.r).into(), s: (&val.s).into() } } } impl From<&starknet::core::crypto::Signature> for Signature { fn from(val: &starknet::core::crypto::Signature) -> Self { - Signature { - r: (&val.r).into(), - s: (&val.s).into(), - } + Signature { r: (&val.r).into(), s: (&val.s).into() } } } @@ -169,10 +165,7 @@ impl From> for CArray { let mut val = std::mem::ManuallyDrop::new(val); val.shrink_to_fit(); - CArray { - data: val.as_mut_ptr(), - data_len: val.len(), - } + CArray { data: val.as_mut_ptr(), data_len: val.len() } } } @@ -201,9 +194,7 @@ where T: std::error::Error, { fn from(val: T) -> Self { - Error { - message: CString::new(val.to_string()).unwrap().into_raw(), - } + Error { message: CString::new(val.to_string()).unwrap().into_raw() } } } @@ -221,9 +212,7 @@ impl From<&FieldElement> for starknet::core::types::Felt { impl From<&starknet::core::types::Felt> for FieldElement { fn from(val: &starknet::core::types::Felt) -> Self { - FieldElement { - data: val.to_bytes_be(), - } + FieldElement { data: val.to_bytes_be() } } } @@ -335,25 +324,15 @@ impl From<&Entity> for torii_grpc::types::schema::Entity { let models: Vec = (&val.models).into(); let models = models.iter().map(|m| (&m.clone()).into()).collect(); - torii_grpc::types::schema::Entity { - hashed_keys: (&val.hashed_keys.clone()).into(), - models, - } + torii_grpc::types::schema::Entity { hashed_keys: (&val.hashed_keys.clone()).into(), models } } } impl From<&torii_grpc::types::schema::Entity> for Entity { fn from(val: &torii_grpc::types::schema::Entity) -> Self { - let models = val - .models - .iter() - .map(|m| (&m.clone()).into()) - .collect::>(); + let models = val.models.iter().map(|m| (&m.clone()).into()).collect::>(); - Entity { - hashed_keys: (&val.hashed_keys.clone()).into(), - models: models.into(), - } + Entity { hashed_keys: (&val.hashed_keys.clone()).into(), models: models.into() } } } @@ -416,18 +395,12 @@ impl From<&dojo_types::schema::Ty> for Ty { dojo_types::schema::Ty::Struct(struct_) => Ty::Struct_((&struct_.clone()).into()), dojo_types::schema::Ty::Enum(enum_) => Ty::Enum_((&enum_.clone()).into()), dojo_types::schema::Ty::Tuple(tuple) => { - let children = tuple - .iter() - .map(|c| (&c.clone()).into()) - .collect::>(); + let children = tuple.iter().map(|c| (&c.clone()).into()).collect::>(); Ty::Tuple_(children.into()) } dojo_types::schema::Ty::Array(array) => { - let children = array - .iter() - .map(|c| (&c.clone()).into()) - .collect::>(); + let children = array.iter().map(|c| (&c.clone()).into()).collect::>(); Ty::Array_(children.into()) } @@ -491,11 +464,7 @@ impl From<&Enum> for dojo_types::schema::Enum { let options = options.iter().map(|o| (&o.clone()).into()).collect(); dojo_types::schema::Enum { - name: unsafe { - CString::from_raw(value.name as *mut c_char) - .into_string() - .unwrap() - }, + name: unsafe { CString::from_raw(value.name as *mut c_char).into_string().unwrap() }, option: Some(value.option), options, } @@ -504,11 +473,8 @@ impl From<&Enum> for dojo_types::schema::Enum { impl From<&dojo_types::schema::Enum> for Enum { fn from(value: &dojo_types::schema::Enum) -> Self { - let options = value - .options - .iter() - .map(|o| (&o.clone()).into()) - .collect::>(); + let options = + value.options.iter().map(|o| (&o.clone()).into()).collect::>(); Enum { name: CString::new(value.name.clone()).unwrap().into_raw(), @@ -528,11 +494,7 @@ pub struct EnumOption { impl From<&EnumOption> for dojo_types::schema::EnumOption { fn from(value: &EnumOption) -> Self { dojo_types::schema::EnumOption { - name: unsafe { - CString::from_raw(value.name as *mut c_char) - .into_string() - .unwrap() - }, + name: unsafe { CString::from_raw(value.name as *mut c_char).into_string().unwrap() }, ty: unsafe { (&*Box::::from_raw(value.ty)).into() }, } } @@ -560,11 +522,7 @@ impl From<&Struct> for dojo_types::schema::Struct { let children = children.iter().map(|c| (&c.clone()).into()).collect(); dojo_types::schema::Struct { - name: unsafe { - CString::from_raw(value.name as *mut c_char) - .into_string() - .unwrap() - }, + name: unsafe { CString::from_raw(value.name as *mut c_char).into_string().unwrap() }, children, } } @@ -572,11 +530,7 @@ impl From<&Struct> for dojo_types::schema::Struct { impl From<&dojo_types::schema::Struct> for Struct { fn from(value: &dojo_types::schema::Struct) -> Self { - let children = value - .children - .iter() - .map(|c| (&c.clone()).into()) - .collect::>(); + let children = value.children.iter().map(|c| (&c.clone()).into()).collect::>(); Struct { name: CString::new(value.name.clone()).unwrap().into_raw(), @@ -596,11 +550,7 @@ pub struct Member { impl From<&Member> for dojo_types::schema::Member { fn from(value: &Member) -> Self { dojo_types::schema::Member { - name: unsafe { - CString::from_raw(value.name as *mut c_char) - .into_string() - .unwrap() - }, + name: unsafe { CString::from_raw(value.name as *mut c_char).into_string().unwrap() }, ty: unsafe { (&*Box::::from_raw(value.ty)).into() }, key: value.key, } @@ -620,6 +570,12 @@ impl From<&dojo_types::schema::Member> for Member { #[derive(Clone, Debug)] #[repr(C)] pub enum Primitive { + I8(i8), + I16(i16), + I32(i32), + I64(i64), + // TODO: better way? + I128([u8; 16]), U8(u8), U16(u16), U32(u32), @@ -640,6 +596,13 @@ pub enum Primitive { impl From<&Primitive> for dojo_types::primitive::Primitive { fn from(value: &Primitive) -> Self { match value { + Primitive::I8(v) => dojo_types::primitive::Primitive::I8(Some(*v)), + Primitive::I16(v) => dojo_types::primitive::Primitive::I16(Some(*v)), + Primitive::I32(v) => dojo_types::primitive::Primitive::I32(Some(*v)), + Primitive::I64(v) => dojo_types::primitive::Primitive::I64(Some(*v)), + Primitive::I128(v) => { + dojo_types::primitive::Primitive::I128(Some(i128::from_be_bytes(*v))) + } Primitive::U8(v) => dojo_types::primitive::Primitive::U8(Some(*v)), Primitive::U16(v) => dojo_types::primitive::Primitive::U16(Some(*v)), Primitive::U32(v) => dojo_types::primitive::Primitive::U32(Some(*v)), @@ -666,6 +629,17 @@ impl From<&Primitive> for dojo_types::primitive::Primitive { impl From<&dojo_types::primitive::Primitive> for Primitive { fn from(value: &dojo_types::primitive::Primitive) -> Self { match value { + dojo_types::primitive::Primitive::I8(v) => Primitive::I8(v.unwrap_or(0)), + dojo_types::primitive::Primitive::I16(v) => Primitive::I16(v.unwrap_or(0)), + dojo_types::primitive::Primitive::I32(v) => Primitive::I32(v.unwrap_or(0)), + dojo_types::primitive::Primitive::I64(v) => Primitive::I64(v.unwrap_or(0)), + dojo_types::primitive::Primitive::I128(v) => { + if let Some(v) = v { + Primitive::I128(v.to_be_bytes()) + } else { + Primitive::I128([0; 16]) + } + } dojo_types::primitive::Primitive::U8(v) => Primitive::U8(v.unwrap_or(0)), dojo_types::primitive::Primitive::U16(v) => Primitive::U16(v.unwrap_or(0)), dojo_types::primitive::Primitive::U32(v) => Primitive::U32(v.unwrap_or(0)), @@ -739,17 +713,9 @@ impl From<&torii_grpc::types::Query> for Query { match &val.clause { Option::Some(clause) => { let clause = (&clause.clone()).into(); - Query { - limit: val.limit, - offset: val.offset, - clause: COption::Some(clause), - } + Query { limit: val.limit, offset: val.offset, clause: COption::Some(clause) } } - Option::None => Query { - limit: val.limit, - offset: val.offset, - clause: COption::None, - }, + Option::None => Query { limit: val.limit, offset: val.offset, clause: COption::None }, } } } @@ -885,11 +851,7 @@ impl From<&ModelKeysClause> for torii_grpc::types::ModelKeysClause { impl From<&torii_grpc::types::ModelKeysClause> for ModelKeysClause { fn from(val: &torii_grpc::types::ModelKeysClause) -> Self { - let keys = val - .keys - .iter() - .map(|k| k.into()) - .collect::>(); + let keys = val.keys.iter().map(|k| k.into()).collect::>(); ModelKeysClause { model: CString::new(val.model.clone()).unwrap().into_raw(), @@ -901,16 +863,8 @@ impl From<&torii_grpc::types::ModelKeysClause> for ModelKeysClause { impl From<&MemberClause> for torii_grpc::types::MemberClause { fn from(val: &MemberClause) -> Self { torii_grpc::types::MemberClause { - member: unsafe { - CString::from_raw(val.member as *mut c_char) - .into_string() - .unwrap() - }, - model: unsafe { - CString::from_raw(val.model as *mut c_char) - .into_string() - .unwrap() - }, + member: unsafe { CString::from_raw(val.member as *mut c_char).into_string().unwrap() }, + model: unsafe { CString::from_raw(val.model as *mut c_char).into_string().unwrap() }, operator: (&val.operator.clone()).into(), value: (&val.value.clone()).into(), } @@ -945,16 +899,9 @@ impl From<&CompositeClause> for torii_grpc::types::CompositeClause { impl From<&torii_grpc::types::CompositeClause> for CompositeClause { fn from(val: &torii_grpc::types::CompositeClause) -> Self { let operator = &val.operator.clone(); - let clauses = val - .clauses - .iter() - .map(|c| (&c.clone()).into()) - .collect::>(); + let clauses = val.clauses.iter().map(|c| (&c.clone()).into()).collect::>(); - CompositeClause { - operator: operator.into(), - clauses: clauses.into(), - } + CompositeClause { operator: operator.into(), clauses: clauses.into() } } } @@ -1013,50 +960,10 @@ impl From<&Value> for torii_grpc::types::Value { impl From<&torii_grpc::types::Value> for Value { fn from(val: &torii_grpc::types::Value) -> Self { - Value { - primitive_type: (&val.primitive_type).into(), - value_type: (&val.value_type).into(), - } + Value { primitive_type: (&val.primitive_type).into(), value_type: (&val.value_type).into() } } } -pub type EntityKeys = CArray; -pub type StorageKey = FieldElement; -pub type StorageValue = FieldElement; - -#[derive(Clone, Debug)] -#[repr(C)] -pub struct ModelIndex { - model: FieldElement, - keys: CArray, -} - -#[derive(Clone, Debug)] -#[repr(C)] -pub struct ModelStorage { - metadata: WorldMetadata, - storage: CArray>, - // a map of model name to a set of entity keys. - model_index: CArray>>, - // listener for storage updates. - // senders: Mutex>>, - // listeners: Mutex>>, -} - -// impl From<&torii_client::client::storage::ModelStorage> for ModelStorage { -// fn from(value: &torii_client::client::storage::ModelStorage) -> Self { -// let metadata = value.metadata; -// let storage = value.storage.clone(); -// let model_index = value.model_index.clone(); - -// Self { -// metadata: (&metadata).into(), -// storage: (&storage).into(), -// model_index: (&model_index).into(), -// } -// } -// } - #[derive(Clone, Debug)] #[repr(C)] pub struct WorldMetadata { @@ -1070,10 +977,7 @@ impl From<&dojo_types::WorldMetadata> for WorldMetadata { let models = value .models .iter() - .map(|(k, v)| CHashItem { - key: k.into(), - value: v.into(), - }) + .map(|(k, v)| CHashItem { key: k.into(), value: v.into() }) .collect::>>(); WorldMetadata { @@ -1120,11 +1024,8 @@ pub struct ModelMetadata { impl From<&dojo_types::schema::ModelMetadata> for ModelMetadata { fn from(value: &dojo_types::schema::ModelMetadata) -> Self { - let layout = value - .layout - .iter() - .map(|v| (&v.clone()).into()) - .collect::>(); + let layout = + value.layout.iter().map(|v| (&v.clone()).into()).collect::>(); ModelMetadata { schema: (&value.schema.clone()).into(), @@ -1149,15 +1050,9 @@ impl From<&ModelMetadata> for dojo_types::schema::ModelMetadata { dojo_types::schema::ModelMetadata { schema: (&value.schema).into(), namespace: unsafe { - CString::from_raw(value.namespace as *mut c_char) - .into_string() - .unwrap() - }, - name: unsafe { - CString::from_raw(value.name as *mut c_char) - .into_string() - .unwrap() + CString::from_raw(value.namespace as *mut c_char).into_string().unwrap() }, + name: unsafe { CString::from_raw(value.name as *mut c_char).into_string().unwrap() }, packed_size: value.packed_size, unpacked_size: value.unpacked_size, class_hash: (&value.class_hash).into(), diff --git a/src/types.rs b/src/types.rs index 113edc9..21cc33e 100644 --- a/src/types.rs +++ b/src/types.rs @@ -1,10 +1,9 @@ use std::sync::Arc; -use starknet::{ - accounts::SingleOwnerAccount, - providers::{jsonrpc::HttpTransport, JsonRpcClient}, - signers::LocalWallet, -}; +use starknet::accounts::SingleOwnerAccount; +use starknet::providers::jsonrpc::HttpTransport; +use starknet::providers::JsonRpcClient; +use starknet::signers::LocalWallet; use stream_cancel::Trigger; use wasm_bindgen::prelude::*; @@ -13,4 +12,7 @@ pub struct Provider(pub(crate) Arc>); #[wasm_bindgen] pub struct Account(pub(crate) SingleOwnerAccount>, LocalWallet>); #[wasm_bindgen] -pub struct Subscription(pub(crate) Trigger); +pub struct Subscription { + pub(crate) id: u64, + pub(crate) trigger: Trigger, +} diff --git a/src/utils.rs b/src/utils.rs index 45d9bde..ac34ed8 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -1,9 +1,6 @@ use anyhow::Result; - -use starknet::{ - core::types::StarknetError, - providers::{Provider, ProviderError}, -}; +use starknet::core::types::StarknetError; +use starknet::providers::{Provider, ProviderError}; use starknet_crypto::Felt; pub async fn watch_tx

(provider: P, transaction_hash: Felt) -> Result<()> diff --git a/src/wasm/mod.rs b/src/wasm/mod.rs index 6dc6e78..7d696c0 100644 --- a/src/wasm/mod.rs +++ b/src/wasm/mod.rs @@ -5,7 +5,7 @@ use std::sync::Arc; use cainome::cairo_serde::{self, ByteArray, CairoSerde}; use crypto_bigint::U256; -use futures::StreamExt; +use futures::{StreamExt, TryFutureExt}; use js_sys::Array; use serde::{Deserialize, Serialize}; use starknet::accounts::{ @@ -67,10 +67,7 @@ pub struct JsSignature { impl From<&Signature> for JsSignature { fn from(value: &Signature) -> Self { - Self { - r: format!("{:#x}", value.r), - s: format!("{:#x}", value.s), - } + Self { r: format!("{:#x}", value.r), s: format!("{:#x}", value.s) } } } @@ -99,11 +96,7 @@ impl From<&Call> for starknet::accounts::Call { Self { to: Felt::from_str(value.to.as_str()).unwrap(), selector: get_selector_from_name(value.selector.as_str()).unwrap(), - calldata: value - .calldata - .iter() - .map(|c| Felt::from_str(c.as_str()).unwrap()) - .collect(), + calldata: value.calldata.iter().map(|c| Felt::from_str(c.as_str()).unwrap()).collect(), } } } @@ -113,11 +106,7 @@ impl From<&Call> for FunctionCall { Self { contract_address: Felt::from_str(value.to.as_str()).unwrap(), entry_point_selector: get_selector_from_name(value.selector.as_str()).unwrap(), - calldata: value - .calldata - .iter() - .map(|c| Felt::from_str(c.as_str()).unwrap()) - .collect(), + calldata: value.calldata.iter().map(|c| Felt::from_str(c.as_str()).unwrap()).collect(), } } } @@ -186,7 +175,11 @@ pub enum Clause { #[derive(Tsify, Serialize, Deserialize, Debug)] #[tsify(into_wasm_abi, from_wasm_abi)] -pub struct KeysClauses(pub Vec); +pub struct KeysClauses(pub Vec); + +#[derive(Tsify, Serialize, Deserialize, Debug)] +#[tsify(into_wasm_abi, from_wasm_abi)] +pub struct ModelKeysClauses(pub Vec); #[derive(Tsify, Serialize, Deserialize, Debug)] #[tsify(into_wasm_abi, from_wasm_abi)] @@ -221,11 +214,9 @@ pub enum EntityKeysClause { impl From<&EntityKeysClause> for torii_grpc::types::EntityKeysClause { fn from(value: &EntityKeysClause) -> Self { match value { - EntityKeysClause::HashedKeys(keys) => Self::HashedKeys( - keys.iter() - .map(|k| Felt::from_str(k.as_str()).unwrap()) - .collect(), - ), + EntityKeysClause::HashedKeys(keys) => { + Self::HashedKeys(keys.iter().map(|k| Felt::from_str(k.as_str()).unwrap()).collect()) + } EntityKeysClause::Keys(keys) => Self::Keys(keys.into()), } } @@ -259,11 +250,7 @@ impl From<&ModelKeysClause> for torii_grpc::types::ModelKeysClause { fn from(value: &ModelKeysClause) -> Self { Self { model: value.model.to_string(), - keys: value - .keys - .iter() - .map(|k| Felt::from_str(k.as_str()).unwrap()) - .collect(), + keys: value.keys.iter().map(|k| Felt::from_str(k.as_str()).unwrap()).collect(), } } } @@ -393,6 +380,11 @@ impl From<&ValueType> for torii_grpc::types::ValueType { #[derive(Tsify, Serialize, Deserialize, Debug)] #[tsify(into_wasm_abi, from_wasm_abi)] pub enum Primitive { + I8(Option), + I16(Option), + I32(Option), + I64(Option), + I128(Option), U8(Option), U16(Option), U32(Option), @@ -409,6 +401,11 @@ pub enum Primitive { impl From<&Primitive> for dojo_types::primitive::Primitive { fn from(value: &Primitive) -> Self { match value { + Primitive::I8(Some(value)) => Self::I8(Some(*value)), + Primitive::I16(Some(value)) => Self::I16(Some(*value)), + Primitive::I32(Some(value)) => Self::I32(Some(*value)), + Primitive::I64(Some(value)) => Self::I64(Some(*value)), + Primitive::I128(Some(value)) => Self::I128(Some(i128::from_str(value).unwrap())), Primitive::U8(Some(value)) => Self::U8(Some(*value)), Primitive::U16(Some(value)) => Self::U16(Some(*value)), Primitive::U32(Some(value)) => Self::U32(Some(*value)), @@ -576,10 +573,7 @@ impl Provider { .await; match result { - Ok(res) => Ok(res - .iter() - .map(|f| JsValue::from(format!("{:#x}", f))) - .collect()), + Ok(res) => Ok(res.iter().map(|f| JsValue::from(format!("{:#x}", f))).collect()), Err(e) => Err(JsValue::from_str(&e.to_string())), } } @@ -615,8 +609,7 @@ impl Account { pub unsafe fn set_block_id(&mut self, block_id: String) -> Result<(), JsValue> { let block_id = Felt::from_str(&block_id) .map_err(|err| JsValue::from(format!("failed to parse block id: {err}")))?; - self.0 - .set_block_id(starknet::core::types::BlockId::Hash(block_id)); + self.0.set_block_id(starknet::core::types::BlockId::Hash(block_id)); Ok(()) } @@ -735,11 +728,7 @@ pub fn bytearray_deserialize(felts: Vec) -> Result { let bytearray = match cairo_serde::ByteArray::cairo_deserialize(&felts, 0) { Ok(bytearray) => bytearray, - Err(e) => { - return Err(JsValue::from(format!( - "failed to deserialize bytearray: {e}" - ))) - } + Err(e) => return Err(JsValue::from(format!("failed to deserialize bytearray: {e}"))), }; match bytearray.to_string() { @@ -769,9 +758,9 @@ impl Client { let results = self.inner.entities((&query).into()).await; match results { - Ok(entities) => Ok(js_sys::JSON::parse( - &parse_entities_as_json_str(entities).to_string(), - )?), + Ok(entities) => { + Ok(js_sys::JSON::parse(&parse_entities_as_json_str(entities).to_string())?) + } Err(err) => Err(JsValue::from(format!("failed to get entities: {err}"))), } } @@ -781,19 +770,13 @@ impl Client { #[cfg(feature = "console-error-panic")] console_error_panic_hook::set_once(); - let results = self - .inner - .entities(torii_grpc::types::Query { - limit, - offset, - clause: None, - }) - .await; + let results = + self.inner.entities(torii_grpc::types::Query { limit, offset, clause: None }).await; match results { - Ok(entities) => Ok(js_sys::JSON::parse( - &parse_entities_as_json_str(entities).to_string(), - )?), + Ok(entities) => { + Ok(js_sys::JSON::parse(&parse_entities_as_json_str(entities).to_string())?) + } Err(err) => Err(JsValue::from(format!("failed to get entities: {err}"))), } } @@ -806,16 +789,15 @@ impl Client { let results = self.inner.event_messages((&query).into()).await; match results { - Ok(event_messages) => Ok(js_sys::JSON::parse( - &parse_entities_as_json_str(event_messages).to_string(), - )?), - Err(err) => Err(JsValue::from(format!( - "failed to get event_messages: {err}" - ))), + Ok(event_messages) => { + Ok(js_sys::JSON::parse(&parse_entities_as_json_str(event_messages).to_string())?) + } + Err(err) => Err(JsValue::from(format!("failed to get event_messages: {err}"))), } } - /// Retrieves the model value of an entity. Will fetch from remote if the requested entity is not one of the entities that are being synced. + /// Retrieves the model value of an entity. Will fetch from remote if the requested entity is + /// not one of the entities that are being synced. #[wasm_bindgen(js_name = getModelValue)] pub async fn get_model_value( &self, @@ -833,15 +815,10 @@ impl Client { match self .inner - .model(&torii_grpc::types::ModelKeysClause { - model: model.to_string(), - keys, - }) + .model(&torii_grpc::types::ModelKeysClause { model: model.to_string(), keys }) .await { - Ok(Some(ty)) => Ok(js_sys::JSON::parse( - &parse_ty_as_json_str(&ty, false).to_string(), - )?), + Ok(Some(ty)) => Ok(js_sys::JSON::parse(&parse_ty_as_json_str(&ty, false).to_string())?), Ok(None) => Ok(JsValue::NULL), Err(err) => Err(JsValue::from(format!("failed to get entity: {err}"))), @@ -850,7 +827,7 @@ impl Client { /// Register new entities to be synced. #[wasm_bindgen(js_name = addModelsToSync)] - pub async unsafe fn add_models_to_sync(&self, models: KeysClauses) -> Result<(), JsValue> { + pub async unsafe fn add_models_to_sync(&self, models: ModelKeysClauses) -> Result<(), JsValue> { log("adding models to sync..."); #[cfg(feature = "console-error-panic")] @@ -858,15 +835,15 @@ impl Client { let models = models.0.iter().map(|e| e.into()).collect(); - self.inner - .add_models_to_sync(models) - .await - .map_err(|err| JsValue::from(err.to_string())) + self.inner.add_models_to_sync(models).await.map_err(|err| JsValue::from(err.to_string())) } /// Remove the entities from being synced. #[wasm_bindgen(js_name = removeModelsToSync)] - pub async unsafe fn remove_models_to_sync(&self, models: KeysClauses) -> Result<(), JsValue> { + pub async unsafe fn remove_models_to_sync( + &self, + models: ModelKeysClauses, + ) -> Result<(), JsValue> { log("removing models to sync..."); #[cfg(feature = "console-error-panic")] @@ -874,10 +851,7 @@ impl Client { let models = models.0.iter().map(|e| e.into()).collect(); - self.inner - .remove_models_to_sync(models) - .await - .map_err(|err| JsValue::from(err.to_string())) + self.inner.remove_models_to_sync(models).await.map_err(|err| JsValue::from(err.to_string())) } /// Register a callback to be called every time the specified synced entity's value changes. @@ -914,31 +888,31 @@ impl Client { } }); - Ok(Subscription(trigger)) + Ok(Subscription { id: 0, trigger }) } #[wasm_bindgen(js_name = onEntityUpdated)] pub async fn on_entity_updated( &self, - clause: Option, + clauses: KeysClauses, callback: js_sys::Function, ) -> Result { #[cfg(feature = "console-error-panic")] console_error_panic_hook::set_once(); - let clause = clause.map(|c| (&c).into()); - let stream = self.inner.on_entity_updated(clause).await.unwrap(); + let clauses = clauses.0.iter().map(|c| c.into()).collect(); + let mut stream = self.inner.on_entity_updated(clauses).await.unwrap(); + + let subscription_id = match stream.next().await { + Some(Ok((subscription_id, _))) => subscription_id, + _ => return Err(JsValue::from("failed to get subscription id")), + }; let (trigger, tripwire) = Tripwire::new(); wasm_bindgen_futures::spawn_local(async move { let mut stream = stream.take_until_if(tripwire); - while let Some(update) = stream.next().await { - let entity = update.expect("no updated entity"); - if entity.hashed_keys == Felt::ZERO { - continue; - } - + while let Some(Ok((_, entity))) = stream.next().await { let json_str = parse_entities_as_json_str(vec![entity]).to_string(); let _ = callback.call1( &JsValue::null(), @@ -947,31 +921,44 @@ impl Client { } }); - Ok(Subscription(trigger)) + Ok(Subscription { id: subscription_id, trigger }) + } + + #[wasm_bindgen(js_name = updateEntitySubscription)] + pub async fn update_entity_subscription( + &self, + subscription: &Subscription, + clauses: KeysClauses, + ) -> Result<(), JsValue> { + let clauses = clauses.0.iter().map(|c| c.into()).collect(); + self.inner + .update_entity_subscription(subscription.id, clauses) + .await + .map_err(|err| JsValue::from(format!("failed to update subscription: {err}"))) } #[wasm_bindgen(js_name = onEventMessageUpdated)] pub async fn on_event_message_updated( &self, - clause: Option, + clauses: KeysClauses, callback: js_sys::Function, ) -> Result { #[cfg(feature = "console-error-panic")] console_error_panic_hook::set_once(); - let clause = clause.map(|c| (&c).into()); - let stream = self.inner.on_event_message_updated(clause).await.unwrap(); + let clauses = clauses.0.iter().map(|c| c.into()).collect(); + let mut stream = self.inner.on_event_message_updated(clauses).await.unwrap(); + + let subscription_id = match stream.next().await { + Some(Ok((subscription_id, _))) => subscription_id, + _ => return Err(JsValue::from("failed to get subscription id")), + }; let (trigger, tripwire) = Tripwire::new(); wasm_bindgen_futures::spawn_local(async move { let mut stream = stream.take_until_if(tripwire); - while let Some(update) = stream.next().await { - let entity = update.expect("no updated entity"); - if entity.hashed_keys == Felt::ZERO { - continue; - } - + while let Some(Ok((_, entity))) = stream.next().await { let json_str = parse_entities_as_json_str(vec![entity]).to_string(); let _ = callback.call1( &JsValue::null(), @@ -980,7 +967,20 @@ impl Client { } }); - Ok(Subscription(trigger)) + Ok(Subscription { id: subscription_id, trigger }) + } + + #[wasm_bindgen(js_name = updateEventMessageSubscription)] + pub async fn update_event_message_subscription( + &self, + subscription: &Subscription, + clauses: KeysClauses, + ) -> Result<(), JsValue> { + let clauses = clauses.0.iter().map(|c| c.into()).collect(); + self.inner + .update_event_message_subscription(subscription.id, clauses) + .await + .map_err(|err| JsValue::from(format!("failed to update subscription: {err}"))) } #[wasm_bindgen(js_name = publishMessage)] @@ -1014,7 +1014,7 @@ impl Client { #[wasm_bindgen] impl Subscription { pub fn cancel(self) { - self.0.cancel(); + self.trigger.cancel(); } } @@ -1025,12 +1025,7 @@ pub async fn create_client(config: ClientConfig) -> Result { #[cfg(feature = "console-error-panic")] console_error_panic_hook::set_once(); - let ClientConfig { - rpc_url, - torii_url, - relay_url, - world_address, - } = config; + let ClientConfig { rpc_url, torii_url, relay_url, world_address } = config; let world_address = Felt::from_str(&world_address) .map_err(|err| JsValue::from(format!("failed to parse world address: {err}")))?; @@ -1040,9 +1035,7 @@ pub async fn create_client(config: ClientConfig) -> Result { .map_err(|err| JsValue::from(format!("failed to build client: {err}")))?; wasm_bindgen_futures::spawn_local(client.start_subscription().await.map_err(|err| { - JsValue::from(format!( - "failed to start torii client subscription service: {err}" - )) + JsValue::from(format!("failed to start torii client subscription service: {err}")) })?); let relay_runner = client.relay_runner(); diff --git a/src/wasm/utils.rs b/src/wasm/utils.rs index b89487b..636a06c 100644 --- a/src/wasm/utils.rs +++ b/src/wasm/utils.rs @@ -1,4 +1,5 @@ -use dojo_types::{primitive::Primitive, schema::Ty}; +use dojo_types::primitive::Primitive; +use dojo_types::schema::Ty; use serde_json::Value; use torii_grpc::types::schema::Entity; @@ -15,10 +16,7 @@ pub fn parse_entities_as_json_str(entities: Vec) -> Value { .children .iter() .map(|member| { - ( - member.name.to_owned(), - parse_ty_as_json_str(&member.ty, member.key), - ) + (member.name.to_owned(), parse_ty_as_json_str(&member.ty, member.key)) }) .collect::>();