diff --git a/Cargo.lock b/Cargo.lock index 4b46409..8e5aaec 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -43,9 +43,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] @@ -209,7 +209,7 @@ checksum = "1a047897373be4bbb0224c1afdabca92648dc57a9c9ef6e7b0be3aff7a859c83" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -265,11 +265,11 @@ dependencies = [ "const-hex", "dunce", "heck", - "indexmap 2.2.5", + "indexmap 2.2.6", "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", "syn-solidity", "tiny-keccak", ] @@ -390,9 +390,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.80" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1" +checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247" [[package]] name = "ark-ff" @@ -543,22 +543,22 @@ checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3" dependencies = [ "concurrent-queue", "event-listener 5.2.0", - "event-listener-strategy 0.5.0", + "event-listener-strategy 0.5.1", "futures-core", "pin-project-lite", ] [[package]] name = "async-executor" -version = "1.8.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c" +checksum = "10b3e585719c2358d2660232671ca8ca4ddb4be4ce8a1842d6c2dc8685303316" dependencies = [ "async-lock 3.3.0", "async-task", "concurrent-queue", - "fastrand 2.0.1", - "futures-lite 2.2.0", + "fastrand 2.0.2", + "futures-lite 2.3.0", "slab", ] @@ -570,10 +570,10 @@ checksum = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c" dependencies = [ "async-channel 2.2.0", "async-executor", - "async-io 2.3.1", + "async-io 2.3.2", "async-lock 3.3.0", "blocking", - "futures-lite 2.2.0", + "futures-lite 2.3.0", "once_cell", ] @@ -610,18 +610,18 @@ dependencies = [ [[package]] name = "async-io" -version = "2.3.1" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f97ab0c5b00a7cdbe5a371b9a782ee7be1316095885c8a4ea1daf490eb0ef65" +checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884" dependencies = [ "async-lock 3.3.0", "cfg-if", "concurrent-queue", "futures-io", - "futures-lite 2.2.0", + "futures-lite 2.3.0", "parking", - "polling 3.5.0", - "rustix 0.38.31", + "polling 3.6.0", + "rustix 0.38.32", "slab", "tracing", "windows-sys 0.52.0", @@ -678,7 +678,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -689,13 +689,13 @@ checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799" [[package]] name = "async-trait" -version = "0.1.77" +version = "0.1.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" +checksum = "a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -712,20 +712,20 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] name = "autocfg" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" [[package]] name = "aws-config" -version = "1.1.7" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b96342ea8948ab9bef3e6234ea97fc32e2d8a88d8fb6a084e52267317f94b6b" +checksum = "297b64446175a73987cedc3c438d79b2a654d0fff96f65ff530fbe039347644c" dependencies = [ "aws-credential-types", "aws-runtime", @@ -740,7 +740,7 @@ dependencies = [ "aws-smithy-types", "aws-types", "bytes", - "fastrand 2.0.1", + "fastrand 2.0.2", "hex", "http 0.2.12", "hyper 0.14.28", @@ -748,14 +748,15 @@ dependencies = [ "time", "tokio", "tracing", + "url", "zeroize", ] [[package]] name = "aws-credential-types" -version = "1.1.7" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "273fa47dafc9ef14c2c074ddddbea4561ff01b7f68d5091c0e9737ced605c01d" +checksum = "fa8587ae17c8e967e4b05a62d495be2fb7701bec52a97f7acfe8a29f938384c8" dependencies = [ "aws-smithy-async", "aws-smithy-runtime-api", @@ -765,9 +766,9 @@ dependencies = [ [[package]] name = "aws-runtime" -version = "1.1.7" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e38bab716c8bf07da24be07ecc02e0f5656ce8f30a891322ecdcb202f943b85" +checksum = "b13dc54b4b49f8288532334bba8f87386a40571c47c37b1304979b556dc613c8" dependencies = [ "aws-credential-types", "aws-sigv4", @@ -777,20 +778,20 @@ dependencies = [ "aws-smithy-types", "aws-types", "bytes", - "fastrand 2.0.1", + "fastrand 2.0.2", "http 0.2.12", "http-body 0.4.6", "percent-encoding", "pin-project-lite", "tracing", - "uuid 1.7.0", + "uuid 1.8.0", ] [[package]] name = "aws-sdk-sqs" -version = "1.15.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5aef8bff2d0020c6423eeb529ca0af9463ea21f09a031929b3b2a6ad0058678" +checksum = "eaacad4846908c0ff49edf57136ab10b58b177739897a502fe007db7a2025af2" dependencies = [ "aws-credential-types", "aws-runtime", @@ -810,9 +811,9 @@ dependencies = [ [[package]] name = "aws-sdk-sso" -version = "1.15.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d84bd3925a17c9adbf6ec65d52104a44a09629d8f70290542beeee69a95aee7f" +checksum = "019a07902c43b03167ea5df0182f0cb63fae89f9a9682c44d18cf2e4a042cb34" dependencies = [ "aws-credential-types", "aws-runtime", @@ -832,9 +833,9 @@ dependencies = [ [[package]] name = "aws-sdk-ssooidc" -version = "1.15.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c2dae39e997f58bc4d6292e6244b26ba630c01ab671b6f9f44309de3eb80ab8" +checksum = "04c46ee08a48a7f4eaa4ad201dcc1dd537b49c50859d14d4510e00ad9d3f9af2" dependencies = [ "aws-credential-types", "aws-runtime", @@ -854,9 +855,9 @@ dependencies = [ [[package]] name = "aws-sdk-sts" -version = "1.15.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17fd9a53869fee17cea77e352084e1aa71e2c5e323d974c13a9c2bcfd9544c7f" +checksum = "f752ac730125ca6017f72f9db5ec1772c9ecc664f87aa7507a7d81b023c23713" dependencies = [ "aws-credential-types", "aws-runtime", @@ -877,9 +878,9 @@ dependencies = [ [[package]] name = "aws-sigv4" -version = "1.1.7" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ada00a4645d7d89f296fe0ddbc3fe3554f03035937c849a05d37ddffc1f29a1" +checksum = "11d6f29688a4be9895c0ba8bef861ad0c0dac5c15e9618b9b7a6c233990fc263" dependencies = [ "aws-credential-types", "aws-smithy-http", @@ -900,9 +901,9 @@ dependencies = [ [[package]] name = "aws-smithy-async" -version = "1.1.7" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcf7f09a27286d84315dfb9346208abb3b0973a692454ae6d0bc8d803fcce3b4" +checksum = "62220bc6e97f946ddd51b5f1361f78996e704677afc518a4ff66b7a72ea1378c" dependencies = [ "futures-util", "pin-project-lite", @@ -911,9 +912,9 @@ dependencies = [ [[package]] name = "aws-smithy-http" -version = "0.60.6" +version = "0.60.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6ca214a6a26f1b7ebd63aa8d4f5e2194095643023f9608edf99a58247b9d80d" +checksum = "3f10fa66956f01540051b0aa7ad54574640f748f9839e843442d99b970d3aff9" dependencies = [ "aws-smithy-runtime-api", "aws-smithy-types", @@ -931,18 +932,18 @@ dependencies = [ [[package]] name = "aws-smithy-json" -version = "0.60.6" +version = "0.60.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1af80ecf3057fb25fe38d1687e94c4601a7817c6a1e87c1b0635f7ecb644ace5" +checksum = "4683df9469ef09468dad3473d129960119a0d3593617542b7d52086c8486f2d6" dependencies = [ "aws-smithy-types", ] [[package]] name = "aws-smithy-query" -version = "0.60.6" +version = "0.60.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb27084f72ea5fc20033efe180618677ff4a2f474b53d84695cfe310a6526cbc" +checksum = "f2fbd61ceb3fe8a1cb7352e42689cec5335833cd9f94103a61e98f9bb61c64bb" dependencies = [ "aws-smithy-types", "urlencoding", @@ -950,19 +951,20 @@ dependencies = [ [[package]] name = "aws-smithy-runtime" -version = "1.1.7" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbb5fca54a532a36ff927fbd7407a7c8eb9c3b4faf72792ba2965ea2cad8ed55" +checksum = "c53572b4cd934ee5e8461ad53caa36e9d246aaef42166e3ac539e206a925d330" dependencies = [ "aws-smithy-async", "aws-smithy-http", "aws-smithy-runtime-api", "aws-smithy-types", "bytes", - "fastrand 2.0.1", - "h2 0.3.24", + "fastrand 2.0.2", + "h2", "http 0.2.12", "http-body 0.4.6", + "http-body 1.0.0", "hyper 0.14.28", "hyper-rustls", "once_cell", @@ -975,9 +977,9 @@ dependencies = [ [[package]] name = "aws-smithy-runtime-api" -version = "1.1.7" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22389cb6f7cac64f266fb9f137745a9349ced7b47e0d2ba503e9e40ede4f7060" +checksum = "ccb2b3a7030dc9a3c9a08ce0b25decea5130e9db19619d4dffbbff34f75fe850" dependencies = [ "aws-smithy-async", "aws-smithy-types", @@ -992,16 +994,19 @@ dependencies = [ [[package]] name = "aws-smithy-types" -version = "1.1.7" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f081da5481210523d44ffd83d9f0740320050054006c719eae0232d411f024d3" +checksum = "abe14dceea1e70101d38fbf2a99e6a34159477c0fb95e68e05c66bd7ae4c3729" dependencies = [ "base64-simd", "bytes", "bytes-utils", "futures-core", "http 0.2.12", + "http 1.1.0", "http-body 0.4.6", + "http-body 1.0.0", + "http-body-util", "itoa", "num-integer", "pin-project-lite", @@ -1015,18 +1020,18 @@ dependencies = [ [[package]] name = "aws-smithy-xml" -version = "0.60.6" +version = "0.60.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fccd8f595d0ca839f9f2548e66b99514a85f92feb4c01cf2868d93eb4888a42" +checksum = "872c68cf019c0e4afc5de7753c4f7288ce4b71663212771bf5e4542eb9346ca9" dependencies = [ "xmlparser", ] [[package]] name = "aws-types" -version = "1.1.7" +version = "1.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d07c63521aa1ea9a9f92a701f1a08ce3fd20b46c6efc0d5c8947c1fd879e3df1" +checksum = "0dbf2f3da841a8930f159163175cf6a3d16ddde517c1b0fba7aa776822800f40" dependencies = [ "aws-credential-types", "aws-smithy-async", @@ -1059,7 +1064,7 @@ dependencies = [ "pin-project-lite", "rustversion", "serde", - "sync_wrapper", + "sync_wrapper 0.1.2", "tower", "tower-layer", "tower-service", @@ -1067,9 +1072,9 @@ dependencies = [ [[package]] name = "axum" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1236b4b292f6c4d6dc34604bb5120d85c3fe1d1aa596bd5cc52ca054d13e7b9e" +checksum = "3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf" dependencies = [ "async-trait", "axum-core 0.4.3", @@ -1092,7 +1097,7 @@ dependencies = [ "serde_json", "serde_path_to_error", "serde_urlencoded", - "sync_wrapper", + "sync_wrapper 1.0.0", "tokio", "tower", "tower-layer", @@ -1132,7 +1137,7 @@ dependencies = [ "mime", "pin-project-lite", "rustversion", - "sync_wrapper", + "sync_wrapper 0.1.2", "tower-layer", "tower-service", "tracing", @@ -1147,14 +1152,14 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] name = "backtrace" -version = "0.3.69" +version = "0.3.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" dependencies = [ "addr2line", "cc", @@ -1264,9 +1269,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.2" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" [[package]] name = "bitvec" @@ -1307,24 +1312,24 @@ dependencies = [ "async-channel 2.2.0", "async-lock 3.3.0", "async-task", - "fastrand 2.0.1", + "fastrand 2.0.2", "futures-io", - "futures-lite 2.2.0", + "futures-lite 2.3.0", "piper", "tracing", ] [[package]] name = "bson" -version = "2.9.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce21468c1c9c154a85696bb25c20582511438edb6ad67f846ba1378ffdd80222" +checksum = "4d43b38e074cc0de2957f10947e376a1d88b9c4dbab340b590800cc1b2e066b2" dependencies = [ "ahash", "base64 0.13.1", "bitvec", "hex", - "indexmap 2.2.5", + "indexmap 2.2.6", "js-sys", "once_cell", "rand", @@ -1332,14 +1337,14 @@ dependencies = [ "serde_bytes", "serde_json", "time", - "uuid 1.7.0", + "uuid 1.8.0", ] [[package]] name = "bumpalo" -version = "3.15.3" +version = "3.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea184aa71bb362a1157c896979544cc23974e08fd265f29ea96b59f0b4a555b" +checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa" [[package]] name = "byte-slice-cast" @@ -1355,9 +1360,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" dependencies = [ "serde", ] @@ -1383,9 +1388,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.89" +version = "1.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0ba8f7aaa012f30d5b2861462f6708eccd49c3c39863fe083a308035f63d723" +checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5" [[package]] name = "cfg-if" @@ -1395,9 +1400,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.34" +version = "0.4.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b" +checksum = "8a0d04d43504c61aa6c7531f1871dd0d418d91130162063b789da00fd7057a5e" dependencies = [ "android-tzdata", "iana-time-zone", @@ -1418,9 +1423,9 @@ dependencies = [ [[package]] name = "color-eyre" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a667583cca8c4f8436db8de46ea8233c42a7d9ae424a82d338f2e4675229204" +checksum = "55146f5e46f237f7423d74111267d4597b59b0dad0ffaf7303bce9945d843ad5" dependencies = [ "backtrace", "color-spantrace", @@ -1468,9 +1473,9 @@ dependencies = [ [[package]] name = "const-hex" -version = "1.11.1" +version = "1.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efbd12d49ab0eaf8193ba9175e45f56bbc2e4b27d57b8cfe62aa47942a46b9a9" +checksum = "5ba00838774b4ab0233e355d26710fbfc8327a05c017f6dc4873f876d1f79f78" dependencies = [ "cfg-if", "cpufeatures", @@ -1493,9 +1498,12 @@ checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" [[package]] name = "cookie-factory" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "396de984970346b0d9e93d1415082923c679e5ae5c3ee3dcbd104f5610af126b" +checksum = "9885fa71e26b8ab7855e2ec7cae6e9b380edff76cd052e07c683a0319d51b3a2" +dependencies = [ + "futures", +] [[package]] name = "core-foundation" @@ -1580,6 +1588,16 @@ dependencies = [ "cipher", ] +[[package]] +name = "da-client-interface" +version = "0.1.0" +dependencies = [ + "async-trait", + "axum 0.7.5", + "color-eyre", + "starknet", +] + [[package]] name = "darling" version = "0.13.4" @@ -1625,7 +1643,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -1647,7 +1665,7 @@ checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" dependencies = [ "darling_core 0.20.8", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -1658,9 +1676,9 @@ checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" [[package]] name = "der" -version = "0.7.8" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" dependencies = [ "const-oid", "zeroize", @@ -1859,6 +1877,20 @@ dependencies = [ "tiny-keccak", ] +[[package]] +name = "ethereum-da-client" +version = "0.1.0" +dependencies = [ + "alloy", + "async-trait", + "color-eyre", + "da-client-interface", + "reqwest", + "starknet", + "url", + "utils", +] + [[package]] name = "ethereum-types" version = "0.14.1" @@ -1913,9 +1945,9 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291" +checksum = "332f51cb23d20b0de8458b86580878211da09bcd4503cb579c225b3d124cabb3" dependencies = [ "event-listener 5.2.0", "pin-project-lite", @@ -1951,9 +1983,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.0.1" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" [[package]] name = "fastrlp" @@ -2126,11 +2158,11 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba" +checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" dependencies = [ - "fastrand 2.0.1", + "fastrand 2.0.2", "futures-core", "futures-io", "parking", @@ -2145,7 +2177,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -2222,9 +2254,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "google-cloud-auth" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3798ce9d99d548f28a7f942dcd546befae21c9a1310a7b54e920a7ee241aca3" +checksum = "3bf7cb7864f08a92e77c26bb230d021ea57691788fb5dd51793f96965d19e7f9" dependencies = [ "async-trait", "base64 0.21.7", @@ -2321,9 +2353,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.24" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9" +checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" dependencies = [ "bytes", "fnv", @@ -2331,26 +2363,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.2.5", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "h2" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31d030e59af851932b72ceebadf4a2b5986dba4c3b99dd2493f8273a0f151943" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http 1.1.0", - "indexmap 2.2.5", + "indexmap 2.2.6", "slab", "tokio", "tokio-util", @@ -2474,12 +2487,12 @@ dependencies = [ [[package]] name = "http-body-util" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41cb79eb393015dadd30fc252023adb0b2400a0caee0fa2a077e6e21a551e840" +checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d" dependencies = [ "bytes", - "futures-util", + "futures-core", "http 1.1.0", "http-body 1.0.0", "pin-project-lite", @@ -2507,7 +2520,7 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2 0.3.24", + "h2", "http 0.2.12", "http-body 0.4.6", "httparse", @@ -2530,7 +2543,6 @@ dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.2", "http 1.1.0", "http-body 1.0.0", "httparse", @@ -2705,9 +2717,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.5" +version = "2.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", "hashbrown 0.14.3", @@ -2781,9 +2793,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "js-sys" @@ -2796,9 +2808,9 @@ dependencies = [ [[package]] name = "jsonwebtoken" -version = "9.2.0" +version = "9.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c7ea04a7c5c055c175f189b6dc6ba036fd62306b58c66c9f6389036c503a3f4" +checksum = "b9ae10193d25051e74945f1ea2d0b42e03cc3b890f7e4cc5faa44997d808193f" dependencies = [ "base64 0.21.7", "js-sys", @@ -2934,32 +2946,6 @@ dependencies = [ "linked-hash-map", ] -[[package]] -name = "madara-orchestrator" -version = "0.1.0" -dependencies = [ - "alloy", - "async-trait", - "axum 0.7.4", - "axum-macros", - "color-eyre", - "dotenvy", - "futures", - "mongodb", - "omniqueue", - "reqwest", - "rstest", - "serde", - "serde_json", - "starknet", - "thiserror", - "tokio", - "tracing", - "tracing-subscriber", - "url", - "uuid 1.7.0", -] - [[package]] name = "match_cfg" version = "0.1.0" @@ -2999,9 +2985,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.1" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" [[package]] name = "mime" @@ -3037,9 +3023,9 @@ dependencies = [ [[package]] name = "mongodb" -version = "2.8.1" +version = "2.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de59562e5c71656c098d8e966641b31da87b89dc3dcb6e761d3b37dcdfa0cb72" +checksum = "ef206acb1b72389b49bc9985efe7eb1f8a9bb18e5680d262fac26c07f44025f1" dependencies = [ "async-trait", "base64 0.13.1", @@ -3078,7 +3064,7 @@ dependencies = [ "trust-dns-proto", "trust-dns-resolver", "typed-builder", - "uuid 1.7.0", + "uuid 1.8.0", "webpki-roots", ] @@ -3211,7 +3197,7 @@ version = "0.10.64" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "cfg-if", "foreign-types", "libc", @@ -3228,7 +3214,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -3239,9 +3225,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.101" +version = "0.9.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dda2b0f344e78efc2facf7d195d098df0dd72151b26ab98da807afc26c198dff" +checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" dependencies = [ "cc", "libc", @@ -3249,6 +3235,32 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "orchestrator" +version = "0.1.0" +dependencies = [ + "async-trait", + "axum 0.7.5", + "axum-macros", + "color-eyre", + "da-client-interface", + "dotenvy", + "ethereum-da-client", + "futures", + "mongodb", + "omniqueue", + "rstest", + "serde", + "serde_json", + "starknet", + "thiserror", + "tokio", + "tracing", + "tracing-subscriber", + "url", + "uuid 1.8.0", +] + [[package]] name = "outref" version = "0.5.1" @@ -3372,9 +3384,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.8" +version = "2.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f8023d0fb78c8e03784ea1c7f3fa36e68a723138990b8d5a47d916b651e7a8" +checksum = "311fb059dee1a7b802f036316d790138c613a4e8b180c822e3925a662e9f0c95" dependencies = [ "memchr", "thiserror", @@ -3383,29 +3395,29 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.4" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.4" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] name = "pin-project-lite" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" [[package]] name = "pin-utils" @@ -3432,7 +3444,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" dependencies = [ "atomic-waker", - "fastrand 2.0.1", + "fastrand 2.0.2", "futures-io", ] @@ -3470,14 +3482,15 @@ dependencies = [ [[package]] name = "polling" -version = "3.5.0" +version = "3.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24f040dee2588b4963afb4e420540439d126f73fdacf4a9c486a96d840bac3c9" +checksum = "e0c976a60b2d7e99d6f229e414670a9b85d13ac305cc6d1e9c134de58c5aaaf6" dependencies = [ "cfg-if", "concurrent-queue", + "hermit-abi", "pin-project-lite", - "rustix 0.38.31", + "rustix 0.38.32", "tracing", "windows-sys 0.52.0", ] @@ -3543,9 +3556,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.78" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" dependencies = [ "unicode-ident", ] @@ -3558,13 +3571,13 @@ checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf" dependencies = [ "bit-set", "bit-vec", - "bitflags 2.4.2", + "bitflags 2.5.0", "lazy_static", "num-traits", "rand", "rand_chacha", "rand_xorshift", - "regex-syntax 0.8.2", + "regex-syntax 0.8.3", "rusty-fork", "tempfile", "unarray", @@ -3590,7 +3603,7 @@ dependencies = [ "itertools 0.10.5", "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -3720,14 +3733,14 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.3" +version = "1.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" +checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" dependencies = [ "aho-corasick", "memchr", "regex-automata 0.4.6", - "regex-syntax 0.8.2", + "regex-syntax 0.8.3", ] [[package]] @@ -3747,7 +3760,7 @@ checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.2", + "regex-syntax 0.8.3", ] [[package]] @@ -3764,9 +3777,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" [[package]] name = "relative-path" @@ -3776,16 +3789,16 @@ checksum = "e898588f33fdd5b9420719948f9f2a32c922a246964576f71ba7f24f80610fbc" [[package]] name = "reqwest" -version = "0.11.24" +version = "0.11.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251" +checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" dependencies = [ "base64 0.21.7", "bytes", "encoding_rs", "futures-core", "futures-util", - "h2 0.3.24", + "h2", "http 0.2.12", "http-body 0.4.6", "hyper 0.14.28", @@ -3804,7 +3817,7 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", - "sync_wrapper", + "sync_wrapper 0.1.2", "system-configuration", "tokio", "tokio-native-tls", @@ -3888,15 +3901,15 @@ dependencies = [ "regex", "relative-path", "rustc_version 0.4.0", - "syn 2.0.52", + "syn 2.0.58", "unicode-ident", ] [[package]] name = "ruint" -version = "1.12.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49b1d9521f889713d1221270fdd63370feca7e5c71a18745343402fa86e4f04f" +checksum = "8f308135fef9fc398342da5472ce7c484529df23743fb7c734e0f3d472971e62" dependencies = [ "alloy-rlp", "ark-ff 0.3.0", @@ -3987,11 +4000,11 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.31" +version = "0.38.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" +checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.5.0", "errno", "libc", "linux-raw-sys 0.4.13", @@ -4139,9 +4152,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.9.2" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6" dependencies = [ "bitflags 1.3.2", "core-foundation", @@ -4152,9 +4165,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.9.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef" dependencies = [ "core-foundation-sys", "libc", @@ -4225,16 +4238,16 @@ checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] name = "serde_json" -version = "1.0.114" +version = "1.0.115" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" +checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd" dependencies = [ - "indexmap 2.2.5", + "indexmap 2.2.6", "itoa", "ryu", "serde", @@ -4253,9 +4266,9 @@ dependencies = [ [[package]] name = "serde_path_to_error" -version = "0.1.15" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebd154a240de39fdebcf5775d2675c204d7c13cf39a4c697be6493c8e734337c" +checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" dependencies = [ "itoa", "serde", @@ -4320,7 +4333,7 @@ dependencies = [ "darling 0.20.8", "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -4433,9 +4446,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.1" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "socket2" @@ -4484,7 +4497,7 @@ checksum = "36f8002bf3d750dd2c0434aca8b5e88e2438cd6c452f4c18f34d0a8a9f42cb1a" dependencies = [ "starknet-accounts", "starknet-contract", - "starknet-core", + "starknet-core 0.9.0", "starknet-crypto", "starknet-ff", "starknet-macros", @@ -4500,7 +4513,7 @@ checksum = "e8e39a5807a735343493781dd5e640c4af838de470b0a73f420bed642fdc2ff1" dependencies = [ "async-trait", "auto_impl", - "starknet-core", + "starknet-core 0.9.0", "starknet-providers", "starknet-signers", "thiserror", @@ -4516,7 +4529,7 @@ dependencies = [ "serde_json", "serde_with 2.3.3", "starknet-accounts", - "starknet-core", + "starknet-core 0.9.0", "starknet-providers", "thiserror", ] @@ -4539,11 +4552,29 @@ dependencies = [ "starknet-ff", ] +[[package]] +name = "starknet-core" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ed286d637e34fb8ae1cd2f9615120ec8ff38d1cffd311ed7fdd497cdd2bd01f" +dependencies = [ + "base64 0.21.7", + "flate2", + "hex", + "serde", + "serde_json", + "serde_json_pythonic", + "serde_with 2.3.3", + "sha3", + "starknet-crypto", + "starknet-ff", +] + [[package]] name = "starknet-crypto" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33c03f5ac70f9b067f48db7d2d70bdf18ee0f731e8192b6cfa679136becfcdb0" +checksum = "2e2c30c01e8eb0fc913c4ee3cf676389fffc1d1182bfe5bb9670e4e72e968064" dependencies = [ "crypto-bigint", "hex", @@ -4561,29 +4592,29 @@ dependencies = [ [[package]] name = "starknet-crypto-codegen" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af6527b845423542c8a16e060ea1bc43f67229848e7cd4c4d80be994a84220ce" +checksum = "bbc159a1934c7be9761c237333a57febe060ace2bc9e3b337a59a37af206d19f" dependencies = [ "starknet-curve", "starknet-ff", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] name = "starknet-curve" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63c454fecadfb3fe56ee82c405439d663c8a037667cc9d8e4acb1fb17e15b1af" +checksum = "d1c383518bb312751e4be80f53e8644034aa99a0afb29d7ac41b89a997db875b" dependencies = [ "starknet-ff", ] [[package]] name = "starknet-ff" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "067419451efdea1ee968df8438369960c167e0e905c05b84afd074f50e1d6f3d" +checksum = "7abf1b44ec5b18d87c1ae5f54590ca9d0699ef4dd5b2ffa66fc97f24613ec585" dependencies = [ "ark-ff 0.4.2", "bigdecimal", @@ -4596,12 +4627,12 @@ dependencies = [ [[package]] name = "starknet-macros" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c5d2964612f0ccd0a700279e33cfc98d6db04f64645ff834f3b7ec422142d7a" +checksum = "95d549d3078bdbe775d0deaa8ddb57a19942989ce7c1f2dfd60beeb322bb4945" dependencies = [ - "starknet-core", - "syn 2.0.52", + "starknet-core 0.10.0", + "syn 2.0.58", ] [[package]] @@ -4619,7 +4650,7 @@ dependencies = [ "serde", "serde_json", "serde_with 2.3.3", - "starknet-core", + "starknet-core 0.9.0", "thiserror", "url", ] @@ -4635,7 +4666,7 @@ dependencies = [ "crypto-bigint", "eth-keystore", "rand", - "starknet-core", + "starknet-core 0.9.0", "starknet-crypto", "thiserror", ] @@ -4694,9 +4725,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.52" +version = "2.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07" +checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687" dependencies = [ "proc-macro2", "quote", @@ -4712,7 +4743,7 @@ dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -4721,6 +4752,12 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +[[package]] +name = "sync_wrapper" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "384595c11a4e2969895cad5a8c4029115f5ab956a9e5ef4de79d11a426e5f20c" + [[package]] name = "system-configuration" version = "0.5.1" @@ -4773,29 +4810,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" dependencies = [ "cfg-if", - "fastrand 2.0.1", - "rustix 0.38.31", + "fastrand 2.0.2", + "rustix 0.38.32", "windows-sys 0.52.0", ] [[package]] name = "thiserror" -version = "1.0.57" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" +checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.57" +version = "1.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" +checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -4865,9 +4902,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.36.0" +version = "1.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" +checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" dependencies = [ "backtrace", "bytes", @@ -4900,7 +4937,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -4936,9 +4973,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.14" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" +checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" dependencies = [ "futures-core", "pin-project-lite", @@ -4973,7 +5010,7 @@ version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" dependencies = [ - "indexmap 2.2.5", + "indexmap 2.2.6", "toml_datetime", "winnow 0.5.40", ] @@ -4990,7 +5027,7 @@ dependencies = [ "base64 0.21.7", "bytes", "flate2", - "h2 0.3.24", + "h2", "http 0.2.12", "http-body 0.4.6", "hyper 0.14.28", @@ -5062,7 +5099,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -5250,6 +5287,13 @@ version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" +[[package]] +name = "utils" +version = "0.1.0" +dependencies = [ + "color-eyre", +] + [[package]] name = "uuid" version = "0.8.2" @@ -5262,9 +5306,9 @@ dependencies = [ [[package]] name = "uuid" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a" +checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" dependencies = [ "getrandom", "serde", @@ -5345,7 +5389,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", "wasm-bindgen-shared", ] @@ -5379,7 +5423,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5641,7 +5685,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] [[package]] @@ -5661,5 +5705,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.52", + "syn 2.0.58", ] diff --git a/Cargo.toml b/Cargo.toml index b63d871..81fb806 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,39 +1,38 @@ -[package] -name = "madara-orchestrator" +[workspace] +resolver = "2" +members = [ + "crates/orchestrator", + "crates/da_clients/da-client-interface", + "crates/da_clients/ethereum", + "crates/utils", +] + +[workspace.package] version = "0.1.0" edition = "2021" authors = ["Apoorv Sadana <@apoorvsadana>"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html -[dependencies] -alloy = { git = "https://github.com/alloy-rs/alloy", rev = "86027c9bb984f3a12a30ffd2a3c5f2f06595f1d6", features = [ - "providers", - "rpc-client", - "transport-http", -], optional = true } -async-trait = "0.1.77" -axum = { version = "0.7.4", features = ["macros"] } -axum-macros = "0.4.1" -color-eyre = "0.6.2" -dotenvy = "0.15.7" -futures = "0.3.30" -mongodb = { version = "2.8.1", features = ["bson-uuid-1"], optional = true } -omniqueue = { version = "0.2.0", optional = true } -reqwest = { version = "0.11.24", optional = true } -rstest = "0.18.2" +[workspace.dependencies] +async-trait = { version = "0.1.77" } +axum = { version = "0.7.4" } +axum-macros = { version = "0.4.1" } +color-eyre = { version = "0.6.2" } +dotenvy = { version = "0.15.7" } +futures = { version = "0.3.30" } +mongodb = { version = "2.8.1" } +omniqueue = { version = "0.2.0" } +rstest = { version = "0.18.2" } serde = { version = "1.0.197" } -serde_json = "1.0.114" -starknet = "0.9.0" -thiserror = "1.0.57" -tokio = { version = "1.36.0", features = ["sync", "macros", "rt-multi-thread"] } -tracing = "0.1.40" -tracing-subscriber = { version = "0.3.18", features = ["env-filter"] } -url = "2.5.0" -uuid = { version = "1.7.0", features = ["v4", "serde"] } - -[features] -default = ["ethereum", "with_mongdb", "with_sqs"] -ethereum = ["alloy", "reqwest"] -with_mongdb = ["mongodb"] -with_sqs = ["omniqueue"] +serde_json = { version = "1.0.114" } +starknet = { version = "0.9.0" } +thiserror = { version = "1.0.57" } +tokio = { version = "1.36.0" } +tracing = { version = "0.1.40" } +tracing-subscriber = { version = "0.3.18" } +url = { version = "2.5.0" } +uuid = { version = "1.7.0" } +da-client-interface = { path = "crates/da_clients/da-client-interface" } +ethereum-da-client = { path = "crates/da_clients/ethereum" } +utils = { path = "crates/utils" } diff --git a/crates/da_clients/da-client-interface/Cargo.toml b/crates/da_clients/da-client-interface/Cargo.toml new file mode 100644 index 0000000..81a6f3d --- /dev/null +++ b/crates/da_clients/da-client-interface/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "da-client-interface" +version.workspace = true +edition.workspace = true + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +async-trait = { workspace = true } +axum = { workspace = true } +color-eyre = { workspace = true } +starknet = { workspace = true } diff --git a/src/da_clients/mod.rs b/crates/da_clients/da-client-interface/src/lib.rs similarity index 75% rename from src/da_clients/mod.rs rename to crates/da_clients/da-client-interface/src/lib.rs index 4e86654..beb2388 100644 --- a/src/da_clients/mod.rs +++ b/crates/da_clients/da-client-interface/src/lib.rs @@ -1,10 +1,16 @@ -use crate::jobs::types::JobVerificationStatus; -use axum::async_trait; +use async_trait::async_trait; use color_eyre::Result; use starknet::core::types::FieldElement; -/// Ethereum client -pub mod ethereum; +#[derive(Debug, Copy, Clone, PartialEq, Eq)] +pub enum DaVerificationStatus { + #[allow(dead_code)] + Pending, + #[allow(dead_code)] + Verified, + #[allow(dead_code)] + Rejected, +} /// Trait for every new DaClient to implement #[async_trait] @@ -13,7 +19,7 @@ pub trait DaClient: Send + Sync { /// which can be used to track the status of the DA transaction. async fn publish_state_diff(&self, state_diff: Vec) -> Result; /// Should verify the inclusion of the state diff in the DA layer and return the status - async fn verify_inclusion(&self, external_id: &str) -> Result; + async fn verify_inclusion(&self, external_id: &str) -> Result; } /// Trait for every new DaConfig to implement diff --git a/crates/da_clients/ethereum/Cargo.toml b/crates/da_clients/ethereum/Cargo.toml new file mode 100644 index 0000000..e5ab475 --- /dev/null +++ b/crates/da_clients/ethereum/Cargo.toml @@ -0,0 +1,18 @@ +[package] +name = "ethereum-da-client" +version.workspace = true +edition.workspace = true + +[dependencies] +alloy = { git = "https://github.com/alloy-rs/alloy", rev = "86027c9bb984f3a12a30ffd2a3c5f2f06595f1d6", features = [ + "providers", + "rpc-client", + "transport-http", +] } +async-trait = { workspace = true } +color-eyre = { workspace = true } +da-client-interface = { workspace = true } +reqwest = { version = "0.11.24" } +starknet = { workspace = true } +url = { workspace = true } +utils = { workspace = true } diff --git a/src/da_clients/ethereum/config.rs b/crates/da_clients/ethereum/src/config.rs similarity index 81% rename from src/da_clients/ethereum/config.rs rename to crates/da_clients/ethereum/src/config.rs index 29da4f3..6ed891a 100644 --- a/src/da_clients/ethereum/config.rs +++ b/crates/da_clients/ethereum/src/config.rs @@ -1,5 +1,5 @@ -use crate::da_clients::DaConfig; -use crate::utils::env_utils::get_env_var_or_panic; +use da_client_interface::DaConfig; +use utils::env_utils::get_env_var_or_panic; #[derive(Clone, Debug)] pub struct EthereumDaConfig { diff --git a/src/da_clients/ethereum/mod.rs b/crates/da_clients/ethereum/src/lib.rs similarity index 85% rename from src/da_clients/ethereum/mod.rs rename to crates/da_clients/ethereum/src/lib.rs index 10f8781..985c0a0 100644 --- a/src/da_clients/ethereum/mod.rs +++ b/crates/da_clients/ethereum/src/lib.rs @@ -9,9 +9,8 @@ use starknet::core::types::FieldElement; use std::str::FromStr; use url::Url; -use crate::da_clients::ethereum::config::EthereumDaConfig; -use crate::da_clients::DaClient; -use crate::jobs::types::JobVerificationStatus; +use config::EthereumDaConfig; +use da_client_interface::{DaClient, DaVerificationStatus}; pub mod config; pub struct EthereumDaClient { @@ -25,7 +24,7 @@ impl DaClient for EthereumDaClient { unimplemented!() } - async fn verify_inclusion(&self, _external_id: &str) -> Result { + async fn verify_inclusion(&self, _external_id: &str) -> Result { todo!() } } diff --git a/crates/orchestrator/Cargo.toml b/crates/orchestrator/Cargo.toml new file mode 100644 index 0000000..6f3831d --- /dev/null +++ b/crates/orchestrator/Cargo.toml @@ -0,0 +1,32 @@ +[package] +name = "orchestrator" +version.workspace = true +edition.workspace = true + +[dependencies] +async-trait = { workspace = true } +axum = { workspace = true, features = ["macros"] } +axum-macros = { workspace = true } +color-eyre = { workspace = true } +da-client-interface = { workspace = true } +dotenvy = { workspace = true } +ethereum-da-client = { workspace = true, optional = true } +futures = { workspace = true } +mongodb = { workspace = true, features = ["bson-uuid-1"], optional = true } +omniqueue = { workspace = true, optional = true } +rstest = { workspace = true } +serde = { workspace = true } +serde_json = { workspace = true } +starknet = { workspace = true } +thiserror = { workspace = true } +tokio = { workspace = true, features = ["sync", "macros", "rt-multi-thread"] } +tracing = { workspace = true } +tracing-subscriber = { workspace = true, features = ["env-filter"] } +url = { workspace = true } +uuid = { workspace = true, features = ["v4", "serde"] } + +[features] +default = ["ethereum", "with_mongodb", "with_sqs"] +ethereum = ["ethereum-da-client"] +with_mongodb = ["mongodb"] +with_sqs = ["omniqueue"] diff --git a/src/config.rs b/crates/orchestrator/src/config.rs similarity index 94% rename from src/config.rs rename to crates/orchestrator/src/config.rs index 8b1c211..bd9bccb 100644 --- a/src/config.rs +++ b/crates/orchestrator/src/config.rs @@ -1,13 +1,13 @@ -use crate::da_clients::ethereum::config::EthereumDaConfig; -use crate::da_clients::ethereum::EthereumDaClient; -use crate::da_clients::{DaClient, DaConfig}; use crate::database::mongodb::config::MongoDbConfig; use crate::database::mongodb::MongoDb; use crate::database::{Database, DatabaseConfig}; use crate::queue::sqs::SqsQueue; use crate::queue::QueueProvider; use crate::utils::env_utils::get_env_var_or_panic; +use da_client_interface::{DaClient, DaConfig}; use dotenvy::dotenv; +use ethereum_da_client::config::EthereumDaConfig; +use ethereum_da_client::EthereumDaClient; use starknet::providers::jsonrpc::HttpTransport; use starknet::providers::{JsonRpcClient, Url}; use std::sync::Arc; diff --git a/src/controllers/errors.rs b/crates/orchestrator/src/controllers/errors.rs similarity index 100% rename from src/controllers/errors.rs rename to crates/orchestrator/src/controllers/errors.rs diff --git a/src/controllers/jobs_controller.rs b/crates/orchestrator/src/controllers/jobs_controller.rs similarity index 100% rename from src/controllers/jobs_controller.rs rename to crates/orchestrator/src/controllers/jobs_controller.rs diff --git a/src/controllers/mod.rs b/crates/orchestrator/src/controllers/mod.rs similarity index 100% rename from src/controllers/mod.rs rename to crates/orchestrator/src/controllers/mod.rs diff --git a/src/database/mod.rs b/crates/orchestrator/src/database/mod.rs similarity index 100% rename from src/database/mod.rs rename to crates/orchestrator/src/database/mod.rs diff --git a/src/database/mongodb/config.rs b/crates/orchestrator/src/database/mongodb/config.rs similarity index 100% rename from src/database/mongodb/config.rs rename to crates/orchestrator/src/database/mongodb/config.rs diff --git a/src/database/mongodb/mod.rs b/crates/orchestrator/src/database/mongodb/mod.rs similarity index 100% rename from src/database/mongodb/mod.rs rename to crates/orchestrator/src/database/mongodb/mod.rs diff --git a/src/jobs/constants.rs b/crates/orchestrator/src/jobs/constants.rs similarity index 100% rename from src/jobs/constants.rs rename to crates/orchestrator/src/jobs/constants.rs diff --git a/src/jobs/da_job/mod.rs b/crates/orchestrator/src/jobs/da_job/mod.rs similarity index 99% rename from src/jobs/da_job/mod.rs rename to crates/orchestrator/src/jobs/da_job/mod.rs index 54b7856..72cd32c 100644 --- a/src/jobs/da_job/mod.rs +++ b/crates/orchestrator/src/jobs/da_job/mod.rs @@ -49,7 +49,7 @@ impl Job for DaJob { } async fn verify_job(&self, config: &Config, job: &JobItem) -> Result { - Ok(config.da_client().verify_inclusion(job.external_id.unwrap_string()?).await?) + Ok(config.da_client().verify_inclusion(job.external_id.unwrap_string()?).await?.into()) } fn max_process_attempts(&self) -> u64 { diff --git a/src/jobs/mod.rs b/crates/orchestrator/src/jobs/mod.rs similarity index 100% rename from src/jobs/mod.rs rename to crates/orchestrator/src/jobs/mod.rs diff --git a/src/jobs/types.rs b/crates/orchestrator/src/jobs/types.rs similarity index 88% rename from src/jobs/types.rs rename to crates/orchestrator/src/jobs/types.rs index b895060..204b05e 100644 --- a/src/jobs/types.rs +++ b/crates/orchestrator/src/jobs/types.rs @@ -1,4 +1,6 @@ use color_eyre::{eyre::eyre, Result}; +use da_client_interface::DaVerificationStatus; +// TODO: job types shouldn't depend on mongodb use mongodb::bson::serde_helpers::uuid_1_as_binary; use serde::{Deserialize, Serialize}; use std::collections::HashMap; @@ -123,3 +125,13 @@ pub enum JobVerificationStatus { #[allow(dead_code)] Rejected, } + +impl From for JobVerificationStatus { + fn from(status: DaVerificationStatus) -> Self { + match status { + DaVerificationStatus::Pending => JobVerificationStatus::Pending, + DaVerificationStatus::Verified => JobVerificationStatus::Verified, + DaVerificationStatus::Rejected => JobVerificationStatus::Rejected, + } + } +} diff --git a/src/main.rs b/crates/orchestrator/src/main.rs similarity index 95% rename from src/main.rs rename to crates/orchestrator/src/main.rs index 83b9cdd..c90d8c3 100644 --- a/src/main.rs +++ b/crates/orchestrator/src/main.rs @@ -2,8 +2,6 @@ mod config; /// Controllers for the routes mod controllers; -/// Contains the trait that all DA clients must implement -mod da_clients; /// Contains the trait that all database clients must implement mod database; /// Contains the trait that all jobs must implement. Also diff --git a/src/queue/job_queue.rs b/crates/orchestrator/src/queue/job_queue.rs similarity index 100% rename from src/queue/job_queue.rs rename to crates/orchestrator/src/queue/job_queue.rs diff --git a/src/queue/mod.rs b/crates/orchestrator/src/queue/mod.rs similarity index 100% rename from src/queue/mod.rs rename to crates/orchestrator/src/queue/mod.rs diff --git a/src/queue/sqs/mod.rs b/crates/orchestrator/src/queue/sqs/mod.rs similarity index 100% rename from src/queue/sqs/mod.rs rename to crates/orchestrator/src/queue/sqs/mod.rs diff --git a/src/routes.rs b/crates/orchestrator/src/routes.rs similarity index 100% rename from src/routes.rs rename to crates/orchestrator/src/routes.rs diff --git a/src/utils/env_utils.rs b/crates/orchestrator/src/utils/env_utils.rs similarity index 100% rename from src/utils/env_utils.rs rename to crates/orchestrator/src/utils/env_utils.rs diff --git a/src/utils/mod.rs b/crates/orchestrator/src/utils/mod.rs similarity index 100% rename from src/utils/mod.rs rename to crates/orchestrator/src/utils/mod.rs diff --git a/crates/utils/Cargo.toml b/crates/utils/Cargo.toml new file mode 100644 index 0000000..8fea4db --- /dev/null +++ b/crates/utils/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "utils" +version.workspace = true +edition.workspace = true + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +color-eyre = { workspace = true } diff --git a/crates/utils/src/env_utils.rs b/crates/utils/src/env_utils.rs new file mode 100644 index 0000000..78e1160 --- /dev/null +++ b/crates/utils/src/env_utils.rs @@ -0,0 +1,13 @@ +use color_eyre::Result; + +pub fn get_env_var(key: &str) -> Result { + std::env::var(key).map_err(|e| e.into()) +} + +pub fn get_env_var_or_panic(key: &str) -> String { + get_env_var(key).unwrap_or_else(|e| panic!("Failed to get env var {}: {}", key, e)) +} + +pub fn get_env_var_or_default(key: &str, default: &str) -> String { + get_env_var(key).unwrap_or(default.to_string()) +} diff --git a/crates/utils/src/lib.rs b/crates/utils/src/lib.rs new file mode 100644 index 0000000..6a65fdc --- /dev/null +++ b/crates/utils/src/lib.rs @@ -0,0 +1 @@ +pub mod env_utils; diff --git a/src/.DS_Store b/src/.DS_Store deleted file mode 100644 index f65d017..0000000 Binary files a/src/.DS_Store and /dev/null differ