diff --git a/Cargo.lock b/Cargo.lock index efb7acb..6cde8b8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -782,12 +782,11 @@ dependencies = [ [[package]] name = "cairo-lang-casm" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07a30d11844a5376f4d785508f83da4ac9db71fb757da598916ff7c58c856610" +checksum = "1df0761b47b4ea5c751bf10f60492de71f3bc621ee79a07961a9f43a7102a675" dependencies = [ "cairo-lang-utils", - "hashbrown 0.14.3", "indoc", "num-bigint", "num-traits 0.2.17", @@ -797,9 +796,9 @@ dependencies = [ [[package]] name = "cairo-lang-compiler" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c13fe3c368ef1d652099bc74713e8fbea1c09fb10f2ae5bb0445e0ce04df1c9" +checksum = "c9feb3f3cf0d33b378f0bd4e82d4a50cba34540db6289affa6087b0adc06fbbc" dependencies = [ "anyhow", "cairo-lang-defs", @@ -819,18 +818,18 @@ dependencies = [ [[package]] name = "cairo-lang-debug" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6bd81d0031a4044db8816294cec4145ca7c5620b949e25d350874d56f57154f" +checksum = "7eb98b41b24d3a728fd5208c255aaba8cb6a25ef82ab4f9435172d24e8751fc8" dependencies = [ "cairo-lang-utils", ] [[package]] name = "cairo-lang-defs" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4f8ac0354159eaaff013bed20d9cf28d351d17a9b9b18ecf300bdbb4b24e04b" +checksum = "151e56ff8778d39e5ffdedfcc662046a786150c20607c4e92d08dba838b01de4" dependencies = [ "cairo-lang-debug", "cairo-lang-diagnostics", @@ -845,9 +844,9 @@ dependencies = [ [[package]] name = "cairo-lang-diagnostics" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e400b77e35a4de62562a1c4307f2dac3a9b99de55f9e2cc0759104842c0b0e98" +checksum = "c0e816b8d3de158fc10089527ee1378d0255eb4b5c7399b5782a560ef773591d" dependencies = [ "cairo-lang-debug", "cairo-lang-filesystem", @@ -857,9 +856,9 @@ dependencies = [ [[package]] name = "cairo-lang-eq-solver" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8506294b7e1b6dc7f6236ce8506b0879f49b27cfe2b61489aba83d80a42f81a9" +checksum = "772ebef45d8b8cff38dc95932964f4d30f935f59dc26253bf0083b02fb165ee2" dependencies = [ "cairo-lang-utils", "good_lp", @@ -867,9 +866,9 @@ dependencies = [ [[package]] name = "cairo-lang-filesystem" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f96a8a04c10006821fbe3eab969cd35829414bae81c09901c448a60e2c21e828" +checksum = "d73e943d35064339f6d510db5676ec8a8daf6f6928bc61011e32578b927990d8" dependencies = [ "cairo-lang-debug", "cairo-lang-utils", @@ -881,9 +880,9 @@ dependencies = [ [[package]] name = "cairo-lang-lowering" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a436006d9a729386bd7eba30bf7ab00747b25e474f671eb2d69766488e00333" +checksum = "233a089cd8e5d6265028cee22fde2f12e33b43fbc4d7ccfe85ae91ea26304ecb" dependencies = [ "cairo-lang-debug", "cairo-lang-defs", @@ -906,9 +905,9 @@ dependencies = [ [[package]] name = "cairo-lang-parser" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6550788dece0a5cad2b01959a16c6802a7006db1f0e27f5081fd68010b3c7a37" +checksum = "2f2f88e31ec1ae04debec6e4194fe35d5ce206fcfe82be35b30425c3878fcda5" dependencies = [ "cairo-lang-diagnostics", "cairo-lang-filesystem", @@ -926,9 +925,9 @@ dependencies = [ [[package]] name = "cairo-lang-plugins" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e751f2861fea91f3a9180a1a89c1fc6c92e036c7dc7112409857dd0e601d88aa" +checksum = "423c11c98154fa34e07188766b650fc0d178a4f1a78397567ecaef3f1abdfd10" dependencies = [ "cairo-lang-defs", "cairo-lang-diagnostics", @@ -945,9 +944,9 @@ dependencies = [ [[package]] name = "cairo-lang-proc-macros" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52c5ccd1aaa6a3bcec87315fd28f0bc2b62427ae45d03db46d9aeac8fc1ae2f" +checksum = "5dd4871888efbbaffb0dbb2047defda549f7b266797976bec71f47e049450681" dependencies = [ "cairo-lang-debug", "quote", @@ -956,23 +955,23 @@ dependencies = [ [[package]] name = "cairo-lang-project" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808d117ffeb652acff54b3ceaa53e17e871f1fc4035ec3689d44da8db287dac8" +checksum = "67c9ed186bdf149cf85c3e3b85a9ea91c3b1156f0136d93f701064d37f4dde05" dependencies = [ "cairo-lang-filesystem", "cairo-lang-utils", "serde", "smol_str", "thiserror", - "toml 0.8.8", + "toml 0.8.9", ] [[package]] name = "cairo-lang-semantic" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7103052d7b7dc83a90658b7b51a7bcebb9faf7f22e54081cb6cdce900ed70da9" +checksum = "88a8d186faa0073c9d85fbc976461c551964bcc7052ab082df96ba5b4d53d5c2" dependencies = [ "cairo-lang-debug", "cairo-lang-defs", @@ -995,9 +994,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c55276cb67cc547e72ab4cee555770f486bab1c8f19aff2455cc9495dd28115f" +checksum = "990ad219cfd9cc9545565afb1b72d5470a97764f0e720435bd9ad8c73d280844" dependencies = [ "anyhow", "cairo-felt", @@ -1021,9 +1020,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-ap-change" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39970d91c3fc20cd350c8a76d82f528e80e531bb5ad98a330dfb02a09128cda3" +checksum = "8bc06c2cbb5a08338e34123232ac641a357adf33cce3fc643c4e509968722be2" dependencies = [ "cairo-lang-eq-solver", "cairo-lang-sierra", @@ -1036,9 +1035,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-gas" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06844f90a83cb1fa922f6f88d7db6ae93ec0e4e82f04bf246172c1590de79231" +checksum = "f6c3a8e1ee5ce8e08a381e14015b3eb0baab4cff92be38f9e1ab24634cea776f" dependencies = [ "cairo-lang-eq-solver", "cairo-lang-sierra", @@ -1051,9 +1050,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-generator" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6694b763489ea0d796d5cc22c787b315b6fe03190734a8b24f65d7506129f1e" +checksum = "280974799a977321b93c91fc84582943a5ceb4369a6cc3b3373e53fb7397756b" dependencies = [ "cairo-lang-debug", "cairo-lang-defs", @@ -1074,9 +1073,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-to-casm" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8591a3131e62f7bb744cc6f27165acb739e71b94739919fbfcd1886f62fa0bf" +checksum = "87e5c72f60e256b2e881628bf706fb8d2b6b840a04fcb14b35529d394c11249d" dependencies = [ "assert_matches", "cairo-felt", @@ -1095,9 +1094,9 @@ dependencies = [ [[package]] name = "cairo-lang-sierra-type-size" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "154bf40391f856f86e028422fedd073d17a1510903aeb479bfda4d04f9d4089c" +checksum = "dc3de052b54fd3be3f53fdb9615f7076148193893bc879e00fb8727a3a68622f" dependencies = [ "cairo-lang-sierra", "cairo-lang-utils", @@ -1105,9 +1104,9 @@ dependencies = [ [[package]] name = "cairo-lang-starknet" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4e8f9903899c2f1344e6ac5ee71f5c2f3846311d25dbe2e2bd5b566a278dd3" +checksum = "53afef2edd4846824ac26ad686739149cbfccb93270f8e7577307d111e14dfc5" dependencies = [ "anyhow", "cairo-felt", @@ -1143,9 +1142,9 @@ dependencies = [ [[package]] name = "cairo-lang-syntax" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eafc3a24ddb3449119cc172c1a5f35ac910f2125a156899041f40163e3164752" +checksum = "f8eb0e905f39a41c1ccfab54f7d3c602f8643c0fbe13a84e1c03c8e5aae3a493" dependencies = [ "cairo-lang-debug", "cairo-lang-filesystem", @@ -1159,9 +1158,9 @@ dependencies = [ [[package]] name = "cairo-lang-syntax-codegen" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f87394080ae908a035805b009759e505e98181d8b01d5203516dae64afcbe47" +checksum = "aa61f9dcdf3d508085bc36aef3f1ea536358042513109a8b6966c1fb8ffeaa75" dependencies = [ "genco", "xshell", @@ -1169,9 +1168,9 @@ dependencies = [ [[package]] name = "cairo-lang-utils" -version = "2.5.1" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3fff10b24d068c6378904a5d926e0ef3e2150881ea75ca513122dbeb2183bc4" +checksum = "496e6db8c9d1eec058326944cff0140a72e838c96812551383ce7d8b3902d5a7" dependencies = [ "hashbrown 0.14.3", "indexmap 2.2.1", @@ -1549,9 +1548,9 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.4" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da01daa5f6d41c91358398e8db4dde38e292378da1f28300b59ef4732b879454" +checksum = "fc5d6b04b3fd0ba9926f945895de7d806260a2d7431ba82e7edaecb043c4c6b8" dependencies = [ "darling_core", "darling_macro", @@ -1559,9 +1558,9 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.4" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f44f6238b948a3c6c3073cdf53bb0c2d5e024ee27e0f35bfe9d556a12395808a" +checksum = "04e48a959bcd5c761246f5d090ebc2fbf7b9cd527a492b07a67510c108f1e7e3" dependencies = [ "fnv", "ident_case", @@ -1573,9 +1572,9 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.4" +version = "0.20.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d2d88bd93979b1feb760a6b5c531ac5ba06bd63e74894c377af02faee07b9cd" +checksum = "1d1545d67a2149e1d93b7e5c7752dce5a7426eb5d1357ddcfd89336b94444f77" dependencies = [ "darling_core", "quote", @@ -1733,8 +1732,8 @@ dependencies = [ [[package]] name = "dojo-types" -version = "0.5.1-alpha.1" -source = "git+https://github.com/Larkooo/dojo?branch=fix-borrow#32ff50b2647dc863cb2719c2ef12fa04223daf46" +version = "0.5.1-alpha.2" +source = "git+https://github.com/dojoengine/dojo#d9ef75507b9f960aa385bc122482ceaf725eb558" dependencies = [ "crypto-bigint", "hex", @@ -1749,8 +1748,8 @@ dependencies = [ [[package]] name = "dojo-world" -version = "0.5.1-alpha.1" -source = "git+https://github.com/Larkooo/dojo?branch=fix-borrow#32ff50b2647dc863cb2719c2ef12fa04223daf46" +version = "0.5.1-alpha.2" +source = "git+https://github.com/dojoengine/dojo#d9ef75507b9f960aa385bc122482ceaf725eb558" dependencies = [ "anyhow", "async-trait", @@ -2108,7 +2107,7 @@ dependencies = [ [[package]] name = "futures-bounded" version = "0.2.3" -source = "git+https://github.com/libp2p/rust-libp2p#fe29beee77d09f727b3e901798e9162dece50532" +source = "git+https://github.com/libp2p/rust-libp2p#0d9ad329f16f863818ef469f3f37b7a37a9319da" dependencies = [ "futures-timer", "futures-util", @@ -3003,7 +3002,7 @@ checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" [[package]] name = "libp2p" version = "0.53.2" -source = "git+https://github.com/libp2p/rust-libp2p#fe29beee77d09f727b3e901798e9162dece50532" +source = "git+https://github.com/libp2p/rust-libp2p#0d9ad329f16f863818ef469f3f37b7a37a9319da" dependencies = [ "bytes", "either", @@ -3037,7 +3036,7 @@ dependencies = [ [[package]] name = "libp2p-allow-block-list" version = "0.3.0" -source = "git+https://github.com/libp2p/rust-libp2p#fe29beee77d09f727b3e901798e9162dece50532" +source = "git+https://github.com/libp2p/rust-libp2p#0d9ad329f16f863818ef469f3f37b7a37a9319da" dependencies = [ "libp2p-core 0.41.2 (git+https://github.com/libp2p/rust-libp2p)", "libp2p-identity", @@ -3048,7 +3047,7 @@ dependencies = [ [[package]] name = "libp2p-connection-limits" version = "0.3.1" -source = "git+https://github.com/libp2p/rust-libp2p#fe29beee77d09f727b3e901798e9162dece50532" +source = "git+https://github.com/libp2p/rust-libp2p#0d9ad329f16f863818ef469f3f37b7a37a9319da" dependencies = [ "libp2p-core 0.41.2 (git+https://github.com/libp2p/rust-libp2p)", "libp2p-identity", @@ -3087,7 +3086,7 @@ dependencies = [ [[package]] name = "libp2p-core" version = "0.41.2" -source = "git+https://github.com/libp2p/rust-libp2p#fe29beee77d09f727b3e901798e9162dece50532" +source = "git+https://github.com/libp2p/rust-libp2p#0d9ad329f16f863818ef469f3f37b7a37a9319da" dependencies = [ "either", "fnv", @@ -3114,7 +3113,7 @@ dependencies = [ [[package]] name = "libp2p-dns" version = "0.41.1" -source = "git+https://github.com/libp2p/rust-libp2p#fe29beee77d09f727b3e901798e9162dece50532" +source = "git+https://github.com/libp2p/rust-libp2p#0d9ad329f16f863818ef469f3f37b7a37a9319da" dependencies = [ "async-trait", "futures", @@ -3160,7 +3159,7 @@ dependencies = [ [[package]] name = "libp2p-gossipsub" version = "0.46.1" -source = "git+https://github.com/libp2p/rust-libp2p#fe29beee77d09f727b3e901798e9162dece50532" +source = "git+https://github.com/libp2p/rust-libp2p#0d9ad329f16f863818ef469f3f37b7a37a9319da" dependencies = [ "asynchronous-codec", "base64 0.21.7", @@ -3190,7 +3189,7 @@ dependencies = [ [[package]] name = "libp2p-identify" version = "0.44.2" -source = "git+https://github.com/libp2p/rust-libp2p#fe29beee77d09f727b3e901798e9162dece50532" +source = "git+https://github.com/libp2p/rust-libp2p#0d9ad329f16f863818ef469f3f37b7a37a9319da" dependencies = [ "asynchronous-codec", "either", @@ -3230,7 +3229,7 @@ dependencies = [ [[package]] name = "libp2p-mdns" version = "0.45.1" -source = "git+https://github.com/libp2p/rust-libp2p#fe29beee77d09f727b3e901798e9162dece50532" +source = "git+https://github.com/libp2p/rust-libp2p#0d9ad329f16f863818ef469f3f37b7a37a9319da" dependencies = [ "data-encoding", "futures", @@ -3250,7 +3249,7 @@ dependencies = [ [[package]] name = "libp2p-metrics" version = "0.14.1" -source = "git+https://github.com/libp2p/rust-libp2p#fe29beee77d09f727b3e901798e9162dece50532" +source = "git+https://github.com/libp2p/rust-libp2p#0d9ad329f16f863818ef469f3f37b7a37a9319da" dependencies = [ "futures", "instant", @@ -3268,7 +3267,7 @@ dependencies = [ [[package]] name = "libp2p-noise" version = "0.44.0" -source = "git+https://github.com/libp2p/rust-libp2p#fe29beee77d09f727b3e901798e9162dece50532" +source = "git+https://github.com/libp2p/rust-libp2p#0d9ad329f16f863818ef469f3f37b7a37a9319da" dependencies = [ "asynchronous-codec", "bytes", @@ -3293,7 +3292,7 @@ dependencies = [ [[package]] name = "libp2p-ping" version = "0.44.0" -source = "git+https://github.com/libp2p/rust-libp2p#fe29beee77d09f727b3e901798e9162dece50532" +source = "git+https://github.com/libp2p/rust-libp2p#0d9ad329f16f863818ef469f3f37b7a37a9319da" dependencies = [ "either", "futures", @@ -3310,7 +3309,7 @@ dependencies = [ [[package]] name = "libp2p-quic" version = "0.10.2" -source = "git+https://github.com/libp2p/rust-libp2p#fe29beee77d09f727b3e901798e9162dece50532" +source = "git+https://github.com/libp2p/rust-libp2p#0d9ad329f16f863818ef469f3f37b7a37a9319da" dependencies = [ "bytes", "futures", @@ -3333,7 +3332,7 @@ dependencies = [ [[package]] name = "libp2p-relay" version = "0.17.1" -source = "git+https://github.com/libp2p/rust-libp2p#fe29beee77d09f727b3e901798e9162dece50532" +source = "git+https://github.com/libp2p/rust-libp2p#0d9ad329f16f863818ef469f3f37b7a37a9319da" dependencies = [ "asynchronous-codec", "bytes", @@ -3378,7 +3377,7 @@ dependencies = [ [[package]] name = "libp2p-swarm" version = "0.44.2" -source = "git+https://github.com/libp2p/rust-libp2p#fe29beee77d09f727b3e901798e9162dece50532" +source = "git+https://github.com/libp2p/rust-libp2p#0d9ad329f16f863818ef469f3f37b7a37a9319da" dependencies = [ "either", "fnv", @@ -3403,7 +3402,7 @@ dependencies = [ [[package]] name = "libp2p-swarm-derive" version = "0.34.3" -source = "git+https://github.com/libp2p/rust-libp2p#fe29beee77d09f727b3e901798e9162dece50532" +source = "git+https://github.com/libp2p/rust-libp2p#0d9ad329f16f863818ef469f3f37b7a37a9319da" dependencies = [ "heck 0.4.1", "proc-macro2", @@ -3414,7 +3413,7 @@ dependencies = [ [[package]] name = "libp2p-tcp" version = "0.41.0" -source = "git+https://github.com/libp2p/rust-libp2p#fe29beee77d09f727b3e901798e9162dece50532" +source = "git+https://github.com/libp2p/rust-libp2p#0d9ad329f16f863818ef469f3f37b7a37a9319da" dependencies = [ "futures", "futures-timer", @@ -3430,7 +3429,7 @@ dependencies = [ [[package]] name = "libp2p-tls" version = "0.3.0" -source = "git+https://github.com/libp2p/rust-libp2p#fe29beee77d09f727b3e901798e9162dece50532" +source = "git+https://github.com/libp2p/rust-libp2p#0d9ad329f16f863818ef469f3f37b7a37a9319da" dependencies = [ "futures", "futures-rustls", @@ -3448,7 +3447,7 @@ dependencies = [ [[package]] name = "libp2p-upnp" version = "0.2.1" -source = "git+https://github.com/libp2p/rust-libp2p#fe29beee77d09f727b3e901798e9162dece50532" +source = "git+https://github.com/libp2p/rust-libp2p#0d9ad329f16f863818ef469f3f37b7a37a9319da" dependencies = [ "futures", "futures-timer", @@ -3463,7 +3462,7 @@ dependencies = [ [[package]] name = "libp2p-webrtc" version = "0.7.1-alpha" -source = "git+https://github.com/libp2p/rust-libp2p#fe29beee77d09f727b3e901798e9162dece50532" +source = "git+https://github.com/libp2p/rust-libp2p#0d9ad329f16f863818ef469f3f37b7a37a9319da" dependencies = [ "async-trait", "bytes", @@ -3491,7 +3490,7 @@ dependencies = [ [[package]] name = "libp2p-webrtc-utils" version = "0.2.0" -source = "git+https://github.com/libp2p/rust-libp2p#fe29beee77d09f727b3e901798e9162dece50532" +source = "git+https://github.com/libp2p/rust-libp2p#0d9ad329f16f863818ef469f3f37b7a37a9319da" dependencies = [ "asynchronous-codec", "bytes", @@ -3513,7 +3512,7 @@ dependencies = [ [[package]] name = "libp2p-webrtc-websys" version = "0.3.0-alpha" -source = "git+https://github.com/libp2p/rust-libp2p#fe29beee77d09f727b3e901798e9162dece50532" +source = "git+https://github.com/libp2p/rust-libp2p#0d9ad329f16f863818ef469f3f37b7a37a9319da" dependencies = [ "bytes", "futures", @@ -3534,7 +3533,7 @@ dependencies = [ [[package]] name = "libp2p-yamux" version = "0.45.1" -source = "git+https://github.com/libp2p/rust-libp2p#fe29beee77d09f727b3e901798e9162dece50532" +source = "git+https://github.com/libp2p/rust-libp2p#0d9ad329f16f863818ef469f3f37b7a37a9319da" dependencies = [ "either", "futures", @@ -3782,7 +3781,7 @@ dependencies = [ [[package]] name = "multistream-select" version = "0.13.0" -source = "git+https://github.com/libp2p/rust-libp2p#fe29beee77d09f727b3e901798e9162dece50532" +source = "git+https://github.com/libp2p/rust-libp2p#0d9ad329f16f863818ef469f3f37b7a37a9319da" dependencies = [ "bytes", "futures", @@ -4459,9 +4458,9 @@ dependencies = [ [[package]] name = "prometheus-client" -version = "0.22.0" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "510c4f1c9d81d556458f94c98f857748130ea9737bbd6053da497503b26ea63c" +checksum = "6f87c10af16e0af74010d2a123d202e8363c04db5acfa91d8747f64a8524da3a" dependencies = [ "dtoa", "itoa", @@ -4619,7 +4618,7 @@ dependencies = [ [[package]] name = "quick-protobuf-codec" version = "0.3.1" -source = "git+https://github.com/libp2p/rust-libp2p#fe29beee77d09f727b3e901798e9162dece50532" +source = "git+https://github.com/libp2p/rust-libp2p#0d9ad329f16f863818ef469f3f37b7a37a9319da" dependencies = [ "asynchronous-codec", "bytes", @@ -4847,9 +4846,9 @@ checksum = "e898588f33fdd5b9420719948f9f2a32c922a246964576f71ba7f24f80610fbc" [[package]] name = "reqwest" -version = "0.11.23" +version = "0.11.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37b1ae8d9ac08420c66222fb9096fc5de435c3c48542bc5336c51892cffafb41" +checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251" dependencies = [ "base64 0.21.7", "bytes", @@ -4873,6 +4872,7 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", + "sync_wrapper", "system-configuration", "tokio", "tokio-rustls", @@ -5117,7 +5117,7 @@ dependencies = [ [[package]] name = "rw-stream-sink" version = "0.4.0" -source = "git+https://github.com/libp2p/rust-libp2p#fe29beee77d09f727b3e901798e9162dece50532" +source = "git+https://github.com/libp2p/rust-libp2p#0d9ad329f16f863818ef469f3f37b7a37a9319da" dependencies = [ "futures", "pin-project", @@ -6348,14 +6348,14 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35" +checksum = "c6a4b9e8023eb94392d3dca65d717c53abc5dad49c07cb65bb8fcd87115fa325" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.21.0", + "toml_edit 0.21.1", ] [[package]] @@ -6380,9 +6380,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.21.0" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ "indexmap 2.2.1", "serde", @@ -6526,8 +6526,8 @@ dependencies = [ [[package]] name = "torii-client" -version = "0.5.1-alpha.1" -source = "git+https://github.com/Larkooo/dojo?branch=fix-borrow#32ff50b2647dc863cb2719c2ef12fa04223daf46" +version = "0.5.1-alpha.2" +source = "git+https://github.com/dojoengine/dojo#d9ef75507b9f960aa385bc122482ceaf725eb558" dependencies = [ "async-trait", "crypto-bigint", @@ -6554,8 +6554,8 @@ dependencies = [ [[package]] name = "torii-grpc" -version = "0.5.1-alpha.1" -source = "git+https://github.com/Larkooo/dojo?branch=fix-borrow#32ff50b2647dc863cb2719c2ef12fa04223daf46" +version = "0.5.1-alpha.2" +source = "git+https://github.com/dojoengine/dojo#d9ef75507b9f960aa385bc122482ceaf725eb558" dependencies = [ "bytes", "crypto-bigint", @@ -6593,8 +6593,8 @@ dependencies = [ [[package]] name = "torii-relay" -version = "0.5.1-alpha.1" -source = "git+https://github.com/Larkooo/dojo?branch=fix-borrow#32ff50b2647dc863cb2719c2ef12fa04223daf46" +version = "0.5.1-alpha.2" +source = "git+https://github.com/dojoengine/dojo#d9ef75507b9f960aa385bc122482ceaf725eb558" dependencies = [ "anyhow", "async-trait", @@ -6933,9 +6933,9 @@ checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" [[package]] name = "value-bag" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cdbaf5e132e593e9fc1de6a15bbec912395b11fb9719e061cf64f804524c503" +checksum = "126e423afe2dd9ac52142e7e9d5ce4135d7e13776c529d27fd6bc49f19e3280b" [[package]] name = "vcpkg" diff --git a/Cargo.toml b/Cargo.toml index 59c9b5c..e47c33d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,15 +7,15 @@ version = "0.1.1" crate-type = ["cdylib", "rlib", "staticlib"] [dependencies] -dojo-types = { git = "https://github.com/Larkooo/dojo", branch = "fix-borrow" } -torii-client = { git = "https://github.com/Larkooo/dojo", branch = "fix-borrow" } -torii-grpc = { git = "https://github.com/Larkooo/dojo", branch = "fix-borrow", features = [ +dojo-types = { git = "https://github.com/dojoengine/dojo" } +torii-client = { git = "https://github.com/dojoengine/dojo" } +torii-grpc = { git = "https://github.com/dojoengine/dojo", features = [ "client", ] } parking_lot = "0.12.1" starknet = "0.8.0" -starknet-crypto = "0.6.0" +starknet-crypto = "0.6.1" tokio = { version = "1.32.0", default-features = false, features = ["rt"] } url = "2.5.0" anyhow = "1.0.76" diff --git a/example/main.c b/example/main.c index 8aaef46..85f067e 100644 --- a/example/main.c +++ b/example/main.c @@ -1,6 +1,7 @@ #include "../dojo.h" #include #include +#include void on_entity_state_update(FieldElement key, CArrayModel models) { @@ -46,6 +47,17 @@ void hex_to_bytes(const char *hex, FieldElement* felt) hex += 2; } + // handle hex less than 64 characters - pad with 0 + size_t len = strlen(hex); + if (len < 64) + { + char *padded = malloc(65); + memset(padded, '0', 64 - len); + padded[64 - len] = '\0'; + strcat(padded, hex); + hex = padded; + } + for (size_t i = 0; i < 32; i++) { sscanf(hex + 2 * i, "%2hhx", &(*felt).data[i]); @@ -57,8 +69,9 @@ int main() const char *torii_url = "http://localhost:8080"; const char *rpc_url = "http://localhost:5050"; - const char *playerKey = "0x028cd7ee02d7f6ec9810e75b930e8e607793b302445abbdee0ac88143f18da20"; - const char *playerAddress = "0x0517ececd29116499f4a1b64b094da79ba08dfd54a3edaa316134c41f8160973"; + const char *player_key = "0x028cd7ee02d7f6ec9810e75b930e8e607793b302445abbdee0ac88143f18da20"; + const char *player_address = "0x06162896d1d7ab204c7ccac6dd5f8e9e7c25ecd5ae4fcb4ad32e57786bb46e03"; + const char *player_signing_key = "0x1800000000300000180000000000030000000000003006001800006600"; const char *world = "0x028f5999ae62fec17c09c52a800e244961dba05251f5aaf923afabd9c9804d1a"; const char *actions = "0x0297bde19ca499fd8a39dd9bedbcd881a47f7b8f66c19478ce97d7de89e6112e"; // Initialize world.data here... @@ -68,7 +81,7 @@ int main() entities[0].model = "Position"; entities[0].keys.data = malloc(sizeof(char *)); entities[0].keys.data_len = 1; - entities[0].keys.data[0] = playerKey; + entities[0].keys.data[0] = player_key; ResultToriiClient resClient = client_new(torii_url, rpc_url, "/ip4/127.0.0.1/tcp/9090", world, entities, 1); if (resClient.tag == ErrAccount) @@ -80,7 +93,7 @@ int main() // signing key FieldElement signing_key = {}; - hex_to_bytes(playerKey, &signing_key); + hex_to_bytes(player_signing_key, &signing_key); // provider ResultCJsonRpcClient resProvider = jsonrpc_client_new(rpc_url); @@ -92,7 +105,7 @@ int main() CJsonRpcClient *provider = resProvider.ok; // run libp2p - client_run_libp2p(client); + client_run_relay(client); // subscribe to topic Resultbool resSub = client_subscribe_topic(client, "mimi"); @@ -123,8 +136,8 @@ int main() message_data.data[2] = 0x03; message_data.data[3] = 0x04; - Resultbool resPub = client_publish_message(client, "mimi", message_data); - if (resPub.tag == Errbool) + ResultCArrayu8 resPub = client_publish_message(client, "mimi", message_data); + if (resPub.tag == ErrCArrayu8) { printf("Failed to publish message: %s\n", resPub.err.message); return 1; @@ -132,7 +145,7 @@ int main() // account - ResultAccount resAccount = account_new(provider, signing_key, playerAddress); + ResultAccount resAccount = account_new(provider, signing_key, player_address); if (resAccount.tag == ErrAccount) { printf("Failed to create account: %s\n", resAccount.err.message); @@ -148,14 +161,14 @@ int main() } printf("\n"); - // ResultAccount resBurner = account_deploy_burner(provider, master_account); - // if (resBurner.tag == ErrAccount) - // { - // printf("Failed to create burner: %s\n", resBurner.err.message); - // return 1; - // } + ResultAccount resBurner = account_deploy_burner(provider, master_account); + if (resBurner.tag == ErrAccount) + { + printf("Failed to create burner: %s\n", resBurner.err.message); + return 1; + } - // Account *burner = resBurner.ok; + Account *burner = resBurner.ok; FieldElement address = account_address(master_account); printf("New account: 0x"); @@ -192,7 +205,7 @@ int main() query.clause.some.tag = Keys; query.clause.some.keys.keys.data = malloc(sizeof(char *)); query.clause.some.keys.keys.data_len = 1; - query.clause.some.keys.keys.data[0] = playerAddress; + query.clause.some.keys.keys.data[0] = player_address; query.clause.some.keys.model = "Moves"; ResultCArrayEntity resEntities = client_entities(client, &query); if (resEntities.tag == ErrCArrayEntity) @@ -243,7 +256,7 @@ int main() } FieldElement keys[1] = {}; - hex_to_bytes(playerKey, &keys[0]); + hex_to_bytes(player_key, &keys[0]); Resultbool resEntityUpdate = client_on_entity_state_update(client, keys, 0, &on_entity_state_update); if (resEntityUpdate.tag == Errbool) { @@ -283,6 +296,22 @@ int main() } wait_for_transaction(provider, resMove.ok); + resSpawn = account_execute_raw(burner, &spawn, 1); + if (resSpawn.tag == Errbool) + { + printf("Failed to execute call: %s\n", resSpawn.err.message); + return 1; + } + wait_for_transaction(provider, resSpawn.ok); + + resMove = account_execute_raw(burner, &move, 1); + if (resMove.tag == Errbool) + { + printf("Failed to execute call: %s\n", resMove.err.message); + return 1; + } + wait_for_transaction(provider, resMove.ok); + // while (1) // { diff --git a/src/constants.rs b/src/constants.rs index e1bece4..4d94041 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -2,6 +2,6 @@ use starknet::macros::felt; use starknet_crypto::FieldElement; pub const KATANA_ACCOUNT_CLASS_HASH: FieldElement = - felt!("0x04d07e40e93398ed3c76981e72dd1fd22557a78ce36c0515f679e27f0bb5bc5f"); + felt!("0x05400e90f7e0ae78bd02c77cd75527280470e2fe19c54970dd79dc37a9d3645c"); pub const UDC_ADDRESS: FieldElement = felt!("0x41a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf"); diff --git a/src/libc.rs b/src/libc.rs index 8c49ec1..378cab5 100644 --- a/src/libc.rs +++ b/src/libc.rs @@ -468,13 +468,10 @@ pub unsafe extern "C" fn account_new( let signer = LocalWallet::from_signing_key(SigningKey::from_secret_scalar((&private_key).into())); - let account = SingleOwnerAccount::new( - &(*rpc).0, - signer, - address, - chain_id, - ExecutionEncoding::Legacy, - ); + let account = + SingleOwnerAccount::new(&(*rpc).0, signer, address, chain_id, ExecutionEncoding::New); + + // account.set_block_id(starknet::core::types::BlockId::Tag(starknet::core::types::BlockTag::Pending)); Result::Ok(Box::into_raw(Box::new(Account(account)))) } @@ -502,7 +499,7 @@ pub unsafe extern "C" fn account_deploy_burner( signer, address, chain_id, - ExecutionEncoding::Legacy, + ExecutionEncoding::New, ); // deploy the burner