From 73860cdbeaa289a38e9380e935f7a51e8d972d30 Mon Sep 17 00:00:00 2001 From: George Mulhearn Date: Thu, 4 Dec 2025 15:16:35 +1000 Subject: [PATCH 1/3] updates Signed-off-by: George Mulhearn --- .github/ci/vdrproxy.dockerfile | 2 +- .github/workflows/main.yml | 2 +- .github/workflows/mediator.pr.yml | 2 +- Cargo.lock | 1626 +++++++++-------- Cargo.toml | 1 + README.md | 2 +- .../aath-backchannel/Dockerfile.aries-vcx | 2 +- aries/agents/mediator/Dockerfile | 2 +- .../src/wallet/askar/askar_utils.rs | 1 - aries/messages/Cargo.toml | 1 + aries/messages/src/lib.rs | 41 +- did_core/public_key/src/jwk.rs | 2 - rust-toolchain.toml | 2 +- 13 files changed, 871 insertions(+), 815 deletions(-) diff --git a/.github/ci/vdrproxy.dockerfile b/.github/ci/vdrproxy.dockerfile index 3ffd1ed3f6..af3b8b0ec0 100644 --- a/.github/ci/vdrproxy.dockerfile +++ b/.github/ci/vdrproxy.dockerfile @@ -18,7 +18,7 @@ RUN apk update && apk upgrade && \ USER indy WORKDIR /home/indy -ARG RUST_VER="1.84.1" +ARG RUST_VER="1.88.0" RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain $RUST_VER --default-host x86_64-unknown-linux-musl ENV PATH="/home/indy/.cargo/bin:$PATH" diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e2be0551eb..5419971729 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -18,7 +18,7 @@ env: DOCKER_REPO_LOCAL_VDRPROXY: vdrproxy DOCKER_REPO_LOCAL_AATH: aath-backchannel - RUST_TOOLCHAIN_VERSION: 1.84.1 + RUST_TOOLCHAIN_VERSION: 1.88.0 NODE_VERSION: 18.x jobs: diff --git a/.github/workflows/mediator.pr.yml b/.github/workflows/mediator.pr.yml index 6d3dc4f242..d402672431 100644 --- a/.github/workflows/mediator.pr.yml +++ b/.github/workflows/mediator.pr.yml @@ -15,7 +15,7 @@ env: DOCKER_BUILDKIT: 1 MAIN_BRANCH: main - RUST_TOOLCHAIN_VERSION: 1.84.1 + RUST_TOOLCHAIN_VERSION: 1.88.0 jobs: setup-variables: diff --git a/Cargo.lock b/Cargo.lock index 954f05fc5e..b3d0799721 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,7 +8,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f7b0a21988c1bf877cf4759ef5ddaac04c1c9fe808c9142ecb78ba97d97a28a" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.10.0", "bytes", "futures-core", "futures-sink", @@ -21,16 +21,16 @@ dependencies = [ [[package]] name = "actix-http" -version = "3.10.0" +version = "3.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa882656b67966045e4152c634051e70346939fced7117d5f0b52146a7c74c9" +checksum = "7926860314cbe2fb5d1f13731e387ab43bd32bca224e82e6e2db85de0a3dba49" dependencies = [ "actix-codec", "actix-rt", "actix-service", "actix-utils", "base64 0.22.1", - "bitflags 2.9.0", + "bitflags 2.10.0", "brotli", "bytes", "bytestring", @@ -39,7 +39,7 @@ dependencies = [ "flate2", "foldhash", "futures-core", - "h2 0.3.26", + "h2 0.3.27", "http 0.2.12", "httparse", "httpdate", @@ -49,7 +49,7 @@ dependencies = [ "mime", "percent-encoding", "pin-project-lite", - "rand 0.9.0", + "rand 0.9.2", "sha1", "smallvec", "tokio", @@ -65,7 +65,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb" dependencies = [ "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] @@ -85,9 +85,9 @@ dependencies = [ [[package]] name = "actix-rt" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24eda4e2a6e042aa4e55ac438a2ae052d3b5da0ecf83d7411e1a368946925208" +checksum = "92589714878ca59a7626ea19734f0e07a6a875197eec751bb5d3f99e64998c63" dependencies = [ "futures-core", "tokio", @@ -95,17 +95,17 @@ dependencies = [ [[package]] name = "actix-server" -version = "2.5.1" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6398974fd4284f4768af07965701efbbb5fdc0616bff20cade1bb14b77675e24" +checksum = "a65064ea4a457eaf07f2fba30b4c695bf43b721790e9530d26cb6f9019ff7502" dependencies = [ "actix-rt", "actix-service", "actix-utils", "futures-core", "futures-util", - "mio 1.0.3", - "socket2", + "mio 1.1.0", + "socket2 0.5.10", "tokio", "tracing", ] @@ -132,9 +132,9 @@ dependencies = [ [[package]] name = "actix-web" -version = "4.10.2" +version = "4.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2e3b15b3dc6c6ed996e4032389e9849d4ab002b1e92fbfe85b5f307d1479b4d" +checksum = "1654a77ba142e37f049637a3e5685f864514af11fcbc51cb51eb6596afe5b8d6" dependencies = [ "actix-codec", "actix-http", @@ -167,7 +167,7 @@ dependencies = [ "serde_json", "serde_urlencoded", "smallvec", - "socket2", + "socket2 0.6.1", "time", "tracing", "url", @@ -182,23 +182,23 @@ dependencies = [ "actix-router", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] name = "addr2line" -version = "0.24.2" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" +checksum = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b" dependencies = [ "gimli", ] [[package]] name = "adler2" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "aead" @@ -237,22 +237,22 @@ dependencies = [ [[package]] name = "ahash" -version = "0.8.11" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ "cfg-if", - "getrandom 0.2.15", + "getrandom 0.3.4", "once_cell", "version_check", - "zerocopy 0.7.35", + "zerocopy", ] [[package]] name = "aho-corasick" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" dependencies = [ "memchr", ] @@ -284,12 +284,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee5cca1ddc8b9dceb55b7f1272a9d1e643d73006f350a20ab4926d24e33f0f0d" -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - [[package]] name = "android_log-sys" version = "0.3.2" @@ -386,7 +380,7 @@ dependencies = [ "bitvec", "log", "once_cell", - "rand 0.9.0", + "rand 0.9.2", "regex", "serde", "serde_json", @@ -396,9 +390,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.18" +version = "0.6.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" +checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a" dependencies = [ "anstyle", "anstyle-parse", @@ -411,44 +405,44 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.10" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" +checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78" [[package]] name = "anstyle-parse" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" +checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.2" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" +checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] name = "anstyle-wincon" -version = "3.0.7" +version = "3.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" +checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", - "once_cell", - "windows-sys 0.59.0", + "once_cell_polyfill", + "windows-sys 0.61.2", ] [[package]] name = "anyhow" -version = "1.0.97" +version = "1.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f" +checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" [[package]] name = "arc-swap" @@ -470,9 +464,9 @@ dependencies = [ [[package]] name = "aries-askar" -version = "0.4.0" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f5c3a110d33351aea93dade55f57447035afe44426bf0ff3366e66641011479" +checksum = "17f26462dffcad927db37fc36ef2c49741b222f81aa9f624935c1989d69f72b7" dependencies = [ "askar-crypto", "askar-storage", @@ -507,7 +501,7 @@ dependencies = [ "serde", "serde_json", "shared", - "thiserror 2.0.12", + "thiserror 2.0.17", "url", "uuid", ] @@ -519,13 +513,13 @@ dependencies = [ "actix-web", "anoncreds_types", "aries-vcx-agent", - "clap 4.5.35", + "clap 4.5.53", "derive_more", "display_as_json", "env_logger 0.11.8", "log", - "rand 0.9.0", - "reqwest 0.12.15", + "rand 0.9.2", + "reqwest 0.12.24", "serde", "serde_json", "uuid", @@ -568,7 +562,7 @@ dependencies = [ "strum", "strum_macros", "test_utils", - "thiserror 2.0.12", + "thiserror 2.0.17", "time", "tokio", "url", @@ -587,7 +581,7 @@ dependencies = [ "log", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.17", "time", "uuid", ] @@ -613,7 +607,7 @@ dependencies = [ "public_key", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.17", "time", "tokio", "url", @@ -631,10 +625,10 @@ dependencies = [ "bs58", "log", "public_key", - "rand 0.9.0", + "rand 0.9.2", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.17", "tokio", "typed-builder", "uuid", @@ -687,9 +681,9 @@ dependencies = [ [[package]] name = "askar-crypto" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d255aff23de1a29a20693af155dc83079b174bd48b04d6304519ed0ffeb119" +checksum = "e7d90615b21b55b7650ff4d277d607ac376213bc2d82ce6db593d22b1e6bf02c" dependencies = [ "aead", "aes", @@ -726,9 +720,9 @@ dependencies = [ [[package]] name = "askar-storage" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74f1b140bb825ffca253f218db81b548b246e2e325b2eba7a84941ba08640eb6" +checksum = "a0df217d82a77c6f2ae7f5ff3bb194502409b63f8d028a9222d2963710379bb5" dependencies = [ "arc-swap", "askar-crypto", @@ -758,9 +752,9 @@ dependencies = [ [[package]] name = "async-lock" -version = "3.4.0" +version = "3.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" +checksum = "5fd03604047cee9b6ce9de9f70c6cd540a0520c813cbd49bae61f33ab80ed1dc" dependencies = [ "event-listener", "event-listener-strategy", @@ -786,18 +780,18 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] name = "async-trait" -version = "0.1.88" +version = "0.1.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" +checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] @@ -828,24 +822,24 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "axum" -version = "0.8.3" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de45108900e1f9b9242f7f2e254aa3e2c029c921c258fe9e6b4217eeebd54288" +checksum = "5b098575ebe77cb6d14fc7f32749631a6e44edbef6b796f89b020e99ba20d425" dependencies = [ "axum-core", "bytes", "form_urlencoded", "futures-util", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "http-body-util", - "hyper 1.6.0", + "hyper 1.8.1", "hyper-util", "itoa", "matchit", @@ -853,8 +847,7 @@ dependencies = [ "mime", "percent-encoding", "pin-project-lite", - "rustversion", - "serde", + "serde_core", "serde_json", "serde_path_to_error", "serde_urlencoded", @@ -868,18 +861,17 @@ dependencies = [ [[package]] name = "axum-core" -version = "0.5.2" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68464cd0412f486726fb3373129ef5d2993f90c34bc2bc1c1e9943b2f4fc7ca6" +checksum = "59446ce19cd142f8833f856eb31f3eb097812d1479ab224f54d72428ca21ea22" dependencies = [ "bytes", "futures-core", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "http-body-util", "mime", "pin-project-lite", - "rustversion", "sync_wrapper 1.0.2", "tower-layer", "tower-service", @@ -888,9 +880,9 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.74" +version = "0.3.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +checksum = "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6" dependencies = [ "addr2line", "cfg-if", @@ -898,7 +890,7 @@ dependencies = [ "miniz_oxide", "object", "rustc-demangle", - "windows-targets 0.52.6", + "windows-link", ] [[package]] @@ -913,6 +905,16 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" +[[package]] +name = "base256emoji" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e9430d9a245a77c92176e649af6e275f20839a48389859d1661e9a128d077c" +dependencies = [ + "const-str", + "match-lookup", +] + [[package]] name = "base64" version = "0.21.7" @@ -927,9 +929,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" -version = "1.7.3" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e25b6adfb930f02d1981565a6e5d9c547ac15a96606256d3b59040e5cd4ca3" +checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" [[package]] name = "bincode" @@ -948,11 +950,11 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.9.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" dependencies = [ - "serde", + "serde_core", ] [[package]] @@ -1016,9 +1018,9 @@ dependencies = [ [[package]] name = "brotli" -version = "7.0.0" +version = "8.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd" +checksum = "4bd8b9603c7aa97359dbd97ecf258968c95f3adddd6db2f7e7a5bef101c84560" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -1027,9 +1029,9 @@ dependencies = [ [[package]] name = "brotli-decompressor" -version = "4.0.2" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74fa05ad7d803d413eb8380983b092cbbaf9a85f151b871360e7b00cd7060b37" +checksum = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -1046,9 +1048,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.17.0" +version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" +checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" [[package]] name = "byteorder" @@ -1058,26 +1060,26 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.10.1" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" +checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" [[package]] name = "bytestring" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e465647ae23b2823b0753f50decb2d5a86d2bb2cac04788fafd1f80e45378e5f" +checksum = "113b4343b5f6617e7ad401ced8de3cc8b012e73a594347c307b90db3e9271289" dependencies = [ "bytes", ] [[package]] name = "camino" -version = "1.1.9" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" +checksum = "276a59bf2b2c967788139340c9f0c5b12d7fd6630315c15c217e559de85d2609" dependencies = [ - "serde", + "serde_core", ] [[package]] @@ -1114,10 +1116,11 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.17" +version = "1.2.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fcb57c740ae1daf453ae85f16e37396f672b039e00d9d866e07ddb24e328e3a" +checksum = "c481bdbf0ed3b892f6f806287d72acd515b352a4ec27a208489b8c1bc839633a" dependencies = [ + "find-msvc-tools", "jobserver", "libc", "shlex", @@ -1125,9 +1128,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "chacha20" @@ -1162,11 +1165,10 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.40" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c" +checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" dependencies = [ - "android-tzdata", "iana-time-zone", "js-sys", "num-traits", @@ -1232,23 +1234,23 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.35" +version = "4.5.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8aa86934b44c19c50f87cc2790e19f54f7a67aedb64101c2e1a2e5ecfb73944" +checksum = "c9e340e012a1bf4935f5282ed1436d1489548e8f72308207ea5df0e23d2d03f8" dependencies = [ "clap_builder", - "clap_derive 4.5.32", + "clap_derive 4.5.49", ] [[package]] name = "clap_builder" -version = "4.5.35" +version = "4.5.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2414dbb2dd0695280da6ea9261e327479e9d37b0630f6b53ba2a11c60c679fd9" +checksum = "d76b5d13eaa18c901fd2f7fca939fefe3a0727a953561fefdf3b2922b8569d00" dependencies = [ "anstream", "anstyle", - "clap_lex 0.7.4", + "clap_lex 0.7.6", "strsim 0.11.1", ] @@ -1267,14 +1269,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.32" +version = "4.5.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" +checksum = "2a0b5487afeab2deb2ff4e03a807ad1a03ac532ff5a2cee5d86884440c7f7671" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] @@ -1288,9 +1290,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" +checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d" [[package]] name = "client-tui" @@ -1302,7 +1304,7 @@ dependencies = [ "log", "mediator", "messages", - "reqwest 0.12.15", + "reqwest 0.12.24", "serde_json", "tokio", ] @@ -1318,9 +1320,9 @@ dependencies = [ [[package]] name = "colorchoice" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" +checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" [[package]] name = "concurrent-queue" @@ -1337,6 +1339,21 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" +[[package]] +name = "const-str" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f421161cb492475f1661ddc9815a745a1c894592070661180fdec3d4872e9c3" + +[[package]] +name = "convert_case" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "633458d4ef8c78b72454de2d54fd6ab2e60f9e02be22f3c6104cdc8a4e0fceb9" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "cookie" version = "0.16.2" @@ -1384,9 +1401,9 @@ dependencies = [ [[package]] name = "crc" -version = "3.2.1" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" +checksum = "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d" dependencies = [ "crc-catalog", ] @@ -1399,18 +1416,18 @@ checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" [[package]] name = "crc32fast" -version = "1.4.2" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" dependencies = [ "cfg-if", ] [[package]] name = "crossbeam-channel" -version = "0.5.14" +version = "0.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" +checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" dependencies = [ "crossbeam-utils", ] @@ -1449,7 +1466,7 @@ dependencies = [ "crossterm_winapi", "libc", "mio 0.8.11", - "parking_lot 0.12.3", + "parking_lot 0.12.5", "signal-hook", "signal-hook-mio", "winapi", @@ -1466,9 +1483,9 @@ dependencies = [ [[package]] name = "crunchy" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "crypto-bigint" @@ -1484,9 +1501,9 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" dependencies = [ "generic-array", "rand_core 0.6.4", @@ -1597,7 +1614,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] @@ -1606,8 +1623,18 @@ version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" dependencies = [ - "darling_core", - "darling_macro", + "darling_core 0.20.11", + "darling_macro 0.20.11", +] + +[[package]] +name = "darling" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" +dependencies = [ + "darling_core 0.21.3", + "darling_macro 0.21.3", ] [[package]] @@ -1621,7 +1648,20 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.100", + "syn 2.0.111", +] + +[[package]] +name = "darling_core" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "syn 2.0.111", ] [[package]] @@ -1630,22 +1670,33 @@ version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ - "darling_core", + "darling_core 0.20.11", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "darling_macro" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" +dependencies = [ + "darling_core 0.21.3", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] name = "data-encoding" -version = "2.8.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "575f75dfd25738df5b91b8e43e14d44bda14637a58fae779fd2b064f8bf3e010" +checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" [[package]] name = "data-encoding-macro" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f9724adfcf41f45bf652b3995837669d73c4d49a1b5ac1ff82905ac7d9b5558" +checksum = "47ce6c96ea0102f01122a185683611bd5ac8d99e62bc59dd12e6bda344ee673d" dependencies = [ "data-encoding", "data-encoding-macro-internal", @@ -1653,19 +1704,19 @@ dependencies = [ [[package]] name = "data-encoding-macro-internal" -version = "0.1.15" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18e4fdb82bd54a12e42fb58a800dcae6b9e13982238ce2296dc3570b92148e1f" +checksum = "8d162beedaa69905488a8da94f5ac3edb4dd4788b732fadb7bd120b2625c1976" dependencies = [ "data-encoding", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] name = "der" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" dependencies = [ "const-oid", "pem-rfc7468", @@ -1674,9 +1725,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.4.1" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28cfac68e08048ae1883171632c2aef3ebc555621ae56fbccce1cbf22dd7f058" +checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" dependencies = [ "powerfmt", ] @@ -1696,10 +1747,10 @@ version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" dependencies = [ - "darling", + "darling 0.20.11", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] @@ -1709,27 +1760,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ "derive_builder_core", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] name = "derive_more" -version = "2.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" +checksum = "10b768e943bed7bf2cab53df09f4bc34bfd217cdb57d971e769874c9a6710618" dependencies = [ "derive_more-impl", ] [[package]] name = "derive_more-impl" -version = "2.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +checksum = "6d286bfdaf75e988b4a78e013ecd79c581e06399ab53fbacd2d916c2f904f30b" dependencies = [ + "convert_case", "proc-macro2", "quote", - "syn 2.0.100", + "rustc_version", + "syn 2.0.111", "unicode-xid", ] @@ -1748,7 +1801,7 @@ dependencies = [ "prost", "prost-types", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.17", "tokio", "tonic", "url", @@ -1769,7 +1822,7 @@ dependencies = [ "public_key", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.17", "typed-builder", "uniresid", "url", @@ -1787,7 +1840,7 @@ dependencies = [ "public_key", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.17", "tokio", ] @@ -1799,7 +1852,7 @@ dependencies = [ "public_key", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.17", ] [[package]] @@ -1833,7 +1886,7 @@ dependencies = [ "serde", "serde_json", "sha2", - "thiserror 2.0.12", + "thiserror 2.0.17", "tokio", "typed-builder", "url", @@ -1880,7 +1933,7 @@ dependencies = [ "serde", "serde_json", "test_utils", - "thiserror 2.0.12", + "thiserror 2.0.17", "tokio", "url", ] @@ -1892,11 +1945,11 @@ dependencies = [ "async-trait", "did_resolver", "http-body-util", - "hyper 1.6.0", + "hyper 1.8.1", "hyper-tls", "hyper-util", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.17", "tokio", "tokio-test", ] @@ -1909,7 +1962,7 @@ dependencies = [ "serde", "serde_json", "shared", - "thiserror 2.0.12", + "thiserror 2.0.17", "url", ] @@ -1938,7 +1991,7 @@ dependencies = [ "quote", "serde", "serde_json", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] @@ -1949,7 +2002,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] @@ -1988,9 +2041,9 @@ dependencies = [ [[package]] name = "ed25519-dalek" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" +checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" dependencies = [ "curve25519-dalek", "ed25519", @@ -2059,35 +2112,35 @@ checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] name = "enumset" -version = "1.1.5" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d07a4b049558765cef5f0c1a273c3fc57084d768b44d2f98127aef4cceb17293" +checksum = "25b07a8dfbbbfc0064c0a6bdf9edcf966de6b1c33ce344bdeca3b41615452634" dependencies = [ "enumset_derive", ] [[package]] name = "enumset_derive" -version = "0.10.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59c3b24c345d8c314966bdc1832f6c2635bfcce8e7cf363bd115987bba2ee242" +checksum = "f43e744e4ea338060faee68ed933e46e722fb7f3617e722a5772d7e856d8b3ce" dependencies = [ - "darling", + "darling 0.21.3", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] name = "env_filter" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0" +checksum = "1bf3c259d255ca70051b30e2e95b5446cdb8949ac4cd22c0d7fd634d89f568e2" dependencies = [ "log", "regex", @@ -2140,12 +2193,12 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.10" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -2185,9 +2238,9 @@ dependencies = [ [[package]] name = "event-listener" -version = "5.4.0" +version = "5.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" +checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" dependencies = [ "concurrent-queue", "parking", @@ -2236,6 +2289,12 @@ version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" +[[package]] +name = "find-msvc-tools" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844" + [[package]] name = "fixedbitset" version = "0.5.7" @@ -2244,9 +2303,9 @@ checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" [[package]] name = "flate2" -version = "1.1.1" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" +checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb" dependencies = [ "crc32fast", "miniz_oxide", @@ -2292,9 +2351,9 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" dependencies = [ "percent-encoding", ] @@ -2380,7 +2439,7 @@ checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" dependencies = [ "futures-core", "lock_api", - "parking_lot 0.12.3", + "parking_lot 0.12.5", ] [[package]] @@ -2391,9 +2450,9 @@ checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-lite" -version = "2.6.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" +checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" dependencies = [ "fastrand", "futures-core", @@ -2410,7 +2469,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] @@ -2465,25 +2524,25 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", ] [[package]] name = "getrandom" -version = "0.3.2" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ "cfg-if", "libc", "r-efi", - "wasi 0.14.2+wasi-0.2.4", + "wasip2", ] [[package]] @@ -2498,15 +2557,15 @@ dependencies = [ [[package]] name = "gimli" -version = "0.31.1" +version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" +checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" [[package]] name = "glass_pumpkin" -version = "1.7.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56c7192ec6aa88ce6bcc2375ddcbf0df89a4f63e4b5b36ffe4ecf8277323cb69" +checksum = "41923edfeadce2964192d185f7f9f9e5d8737e6f5b8ee2580b0f02f717e81bd0" dependencies = [ "core2", "num-bigint", @@ -2518,9 +2577,9 @@ dependencies = [ [[package]] name = "glob" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" [[package]] name = "goblin" @@ -2546,9 +2605,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.26" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +checksum = "0beca50380b1fc32983fc1cb4587bfa4bb9e78fc259aad4a0032d2080309222d" dependencies = [ "bytes", "fnv", @@ -2556,7 +2615,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.8.0", + "indexmap 2.12.1", "slab", "tokio", "tokio-util", @@ -2565,17 +2624,17 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.8" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5017294ff4bb30944501348f6f8e42e6ad28f42c8bbef7a74029aff064a4e3c2" +checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386" dependencies = [ "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", - "http 1.3.1", - "indexmap 2.8.0", + "http 1.4.0", + "indexmap 2.12.1", "slab", "tokio", "tokio-util", @@ -2584,12 +2643,13 @@ dependencies = [ [[package]] name = "half" -version = "2.5.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7db2ff139bba50379da6aa0766b52fdcb62cb5b263009b09ed58ba604e14bbd1" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" dependencies = [ "cfg-if", "crunchy", + "zerocopy", ] [[package]] @@ -2600,22 +2660,28 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.15.2" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ "allocator-api2", "equivalent", "foldhash", ] +[[package]] +name = "hashbrown" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" + [[package]] name = "hashlink" version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" dependencies = [ - "hashbrown 0.15.2", + "hashbrown 0.15.5", ] [[package]] @@ -2641,9 +2707,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.5.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbd780fe5cc30f81464441920d82ac8740e2e46b29a6fad543ddd075229ce37e" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" [[package]] name = "hex" @@ -2671,11 +2737,11 @@ dependencies = [ [[package]] name = "home" -version = "0.5.11" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" +checksum = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -2691,12 +2757,11 @@ dependencies = [ [[package]] name = "http" -version = "1.3.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" +checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" dependencies = [ "bytes", - "fnv", "itoa", ] @@ -2718,7 +2783,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", - "http 1.3.1", + "http 1.4.0", ] [[package]] @@ -2729,7 +2794,7 @@ checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", "futures-core", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "pin-project-lite", ] @@ -2748,9 +2813,9 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "humantime" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f" +checksum = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424" [[package]] name = "hyper" @@ -2762,14 +2827,14 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2 0.3.26", + "h2 0.3.27", "http 0.2.12", "http-body 0.4.6", "httparse", "httpdate", "itoa", "pin-project-lite", - "socket2", + "socket2 0.5.10", "tokio", "tower-service", "tracing", @@ -2778,20 +2843,22 @@ dependencies = [ [[package]] name = "hyper" -version = "1.6.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" +checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" dependencies = [ + "atomic-waker", "bytes", "futures-channel", - "futures-util", - "h2 0.4.8", - "http 1.3.1", + "futures-core", + "h2 0.4.12", + "http 1.4.0", "http-body 1.0.1", "httparse", "httpdate", "itoa", "pin-project-lite", + "pin-utils", "smallvec", "tokio", "want", @@ -2799,13 +2866,12 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.5" +version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" +checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ - "futures-util", - "http 1.3.1", - "hyper 1.6.0", + "http 1.4.0", + "hyper 1.8.1", "hyper-util", "rustls", "rustls-pki-types", @@ -2820,7 +2886,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0" dependencies = [ - "hyper 1.6.0", + "hyper 1.8.1", "hyper-util", "pin-project-lite", "tokio", @@ -2835,7 +2901,7 @@ checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ "bytes", "http-body-util", - "hyper 1.6.0", + "hyper 1.8.1", "hyper-util", "native-tls", "tokio", @@ -2845,29 +2911,35 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.11" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497bbc33a26fdd4af9ed9c70d63f61cf56a938375fbb32df34db9b1cd6d643f2" +checksum = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f" dependencies = [ + "base64 0.22.1", "bytes", "futures-channel", + "futures-core", "futures-util", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", - "hyper 1.6.0", + "hyper 1.8.1", + "ipnet", "libc", + "percent-encoding", "pin-project-lite", - "socket2", + "socket2 0.6.1", + "system-configuration 0.6.1", "tokio", "tower-service", "tracing", + "windows-registry", ] [[package]] name = "iana-time-zone" -version = "0.1.63" +version = "0.1.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" +checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -2889,21 +2961,22 @@ dependencies = [ [[package]] name = "icu_collections" -version = "1.5.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" dependencies = [ "displaydoc", + "potential_utf", "yoke", "zerofrom", "zerovec", ] [[package]] -name = "icu_locid" -version = "1.5.0" +name = "icu_locale_core" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" dependencies = [ "displaydoc", "litemap", @@ -2912,99 +2985,61 @@ dependencies = [ "zerovec", ] -[[package]] -name = "icu_locid_transform" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_locid_transform_data" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d" - [[package]] name = "icu_normalizer" -version = "1.5.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" dependencies = [ - "displaydoc", "icu_collections", "icu_normalizer_data", "icu_properties", "icu_provider", "smallvec", - "utf16_iter", - "utf8_iter", - "write16", "zerovec", ] [[package]] name = "icu_normalizer_data" -version = "1.5.1" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" [[package]] name = "icu_properties" -version = "1.5.1" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +checksum = "e93fcd3157766c0c8da2f8cff6ce651a31f0810eaa1c51ec363ef790bbb5fb99" dependencies = [ - "displaydoc", "icu_collections", - "icu_locid_transform", + "icu_locale_core", "icu_properties_data", "icu_provider", - "tinystr", + "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" -version = "1.5.1" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2" +checksum = "02845b3647bb045f1100ecd6480ff52f34c35f82d9880e029d329c21d1054899" [[package]] name = "icu_provider" -version = "1.5.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" dependencies = [ "displaydoc", - "icu_locid", - "icu_provider_macros", - "stable_deref_trait", - "tinystr", + "icu_locale_core", "writeable", "yoke", "zerofrom", + "zerotrie", "zerovec", ] -[[package]] -name = "icu_provider_macros" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.100", -] - [[package]] name = "ident_case" version = "1.0.1" @@ -3013,9 +3048,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "1.0.3" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" dependencies = [ "idna_adapter", "smallvec", @@ -3024,9 +3059,9 @@ dependencies = [ [[package]] name = "idna_adapter" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ "icu_normalizer", "icu_properties", @@ -3050,12 +3085,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.8.0" +version = "2.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058" +checksum = "0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2" dependencies = [ "equivalent", - "hashbrown 0.15.2", + "hashbrown 0.16.1", ] [[package]] @@ -3101,7 +3136,7 @@ dependencies = [ "indy-vdr", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.17", ] [[package]] @@ -3174,22 +3209,32 @@ version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" +[[package]] +name = "iri-string" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f867b9d1d896b67beb18518eda36fdb77a32ea590de864f1325b294a6d14397" +dependencies = [ + "memchr", + "serde", +] + [[package]] name = "is-terminal" -version = "0.4.16" +version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" +checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" dependencies = [ - "hermit-abi 0.5.0", + "hermit-abi 0.5.2", "libc", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] name = "is_terminal_polyfill" -version = "1.70.1" +version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" [[package]] name = "isolang" @@ -3217,43 +3262,43 @@ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] name = "jiff" -version = "0.2.5" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c102670231191d07d37a35af3eb77f1f0dbf7a71be51a962dcd57ea607be7260" +checksum = "49cce2b81f2098e7e3efc35bc2e0a6b7abec9d34128283d7a26fa8f32a6dbb35" dependencies = [ "jiff-static", "log", "portable-atomic", "portable-atomic-util", - "serde", + "serde_core", ] [[package]] name = "jiff-static" -version = "0.2.5" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cdde31a9d349f1b1f51a0b3714a5940ac022976f4b49485fc04be052b183b4c" +checksum = "980af8b43c3ad5d8d349ace167ec8170839f753a42d233ba19e08afe1850fa69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] name = "jobserver" -version = "0.1.33" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ - "getrandom 0.3.2", + "getrandom 0.3.4", "libc", ] [[package]] name = "js-sys" -version = "0.3.77" +version = "0.3.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +checksum = "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8" dependencies = [ "once_cell", "wasm-bindgen", @@ -3297,15 +3342,26 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.171" +version = "0.2.178" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" +checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091" [[package]] name = "libm" -version = "0.2.11" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" + +[[package]] +name = "libredox" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" +dependencies = [ + "bitflags 2.10.0", + "libc", + "redox_syscall 0.5.18", +] [[package]] name = "libsqlite3-sys" @@ -3320,15 +3376,15 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.9.3" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413" +checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" [[package]] name = "litemap" -version = "0.7.5" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" [[package]] name = "local-channel" @@ -3349,19 +3405,18 @@ checksum = "4d873d7c67ce09b42110d801813efbc9364414e356be9935700d368351657487" [[package]] name = "lock_api" -version = "0.4.12" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" dependencies = [ - "autocfg", "scopeguard", ] [[package]] name = "log" -version = "0.4.27" +version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "lru" @@ -3369,7 +3424,7 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "227748d55f2f0ab4735d87fd623798cb6b664512fe979705f829c9f81c934465" dependencies = [ - "hashbrown 0.15.2", + "hashbrown 0.15.5", ] [[package]] @@ -3378,6 +3433,17 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" +[[package]] +name = "match-lookup" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1265724d8cb29dbbc2b0f06fffb8bf1a8c0cf73a78eede9ba73a4a66c52a981e" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "matchit" version = "0.8.4" @@ -3411,12 +3477,12 @@ dependencies = [ "futures", "log", "messages", - "reqwest 0.12.15", + "reqwest 0.12.24", "serde", "serde_json", "sqlx", "test_utils", - "thiserror 2.0.12", + "thiserror 2.0.17", "tokio", "tower-http", "url", @@ -3425,9 +3491,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.4" +version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" [[package]] name = "messages" @@ -3442,11 +3508,12 @@ dependencies = [ "lazy_static", "messages_macros", "serde", + "serde-value", "serde_json", "shared", "strum", "strum_macros", - "thiserror 2.0.12", + "thiserror 2.0.17", "transitive", "typed-builder", "url", @@ -3456,11 +3523,11 @@ dependencies = [ name = "messages_macros" version = "0.1.0" dependencies = [ - "darling", + "darling 0.20.11", "proc-macro2", "quote", "shared", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] @@ -3498,11 +3565,12 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.8.5" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", + "simd-adler32", ] [[package]] @@ -3513,20 +3581,20 @@ checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ "libc", "log", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", "windows-sys 0.48.0", ] [[package]] name = "mio" -version = "1.0.3" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873" dependencies = [ "libc", "log", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", + "wasi", + "windows-sys 0.61.2", ] [[package]] @@ -3552,25 +3620,26 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] name = "multibase" -version = "0.9.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b3539ec3c1f04ac9748a260728e855f261b4977f5c3406612c884564f329404" +checksum = "8694bb4835f452b0e3bb06dbebb1d6fc5385b6ca1caf2e55fd165c042390ec77" dependencies = [ "base-x", + "base256emoji", "data-encoding", "data-encoding-macro", ] [[package]] name = "multimap" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" +checksum = "1d87ecb2933e8aeadb3e3a02b828fed80a7528047e68b4f424523a0981a3a084" [[package]] name = "native-tls" @@ -3636,11 +3705,10 @@ dependencies = [ [[package]] name = "num-bigint-dig" -version = "0.8.4" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" +checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7" dependencies = [ - "byteorder", "lazy_static", "libm", "num-integer", @@ -3717,9 +3785,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.7" +version = "0.37.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" +checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe" dependencies = [ "memchr", ] @@ -3730,6 +3798,12 @@ version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +[[package]] +name = "once_cell_polyfill" +version = "1.70.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" + [[package]] name = "opaque-debug" version = "0.3.1" @@ -3738,11 +3812,11 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "openssl" -version = "0.10.71" +version = "0.10.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e14130c6a98cd258fdcb0fb6d744152343ff729cbfcb28c656a9d12b999fbcd" +checksum = "08838db121398ad17ab8531ce9de97b244589089e290a384c900cb9ff7434328" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.10.0", "cfg-if", "foreign-types", "libc", @@ -3759,7 +3833,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] @@ -3770,9 +3844,9 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "openssl-sys" -version = "0.9.106" +version = "0.9.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bb61ea9811cc39e3c2069f40b8b8e2e70d8569b361f879786cc7ed48b777cdd" +checksum = "82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321" dependencies = [ "cc", "libc", @@ -3780,6 +3854,15 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "ordered-float" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" +dependencies = [ + "num-traits", +] + [[package]] name = "os_str_bytes" version = "6.6.1" @@ -3838,12 +3921,12 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.3" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" dependencies = [ "lock_api", - "parking_lot_core 0.9.10", + "parking_lot_core 0.9.12", ] [[package]] @@ -3862,15 +3945,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.10" +version = "0.9.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.10", + "redox_syscall 0.5.18", "smallvec", - "windows-targets 0.52.6", + "windows-link", ] [[package]] @@ -3892,12 +3975,12 @@ checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "pem" -version = "3.0.5" +version = "3.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38af38e8470ac9dee3ce1bae1af9c1671fffc44ddfd8bd1d0a3445bf349a8ef3" +checksum = "1d30c53c26bc5b31a98cd02d20f25a7c8567146caf63ed593a9d87b2775291be" dependencies = [ "base64 0.22.1", - "serde", + "serde_core", ] [[package]] @@ -3911,9 +3994,9 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.1" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "petgraph" @@ -3922,7 +4005,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" dependencies = [ "fixedbitset", - "indexmap 2.8.0", + "indexmap 2.12.1", ] [[package]] @@ -3960,7 +4043,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] @@ -4033,9 +4116,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" +checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" [[package]] name = "portable-atomic-util" @@ -4046,6 +4129,15 @@ dependencies = [ "portable-atomic", ] +[[package]] +name = "potential_utf" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +dependencies = [ + "zerovec", +] + [[package]] name = "powerfmt" version = "0.2.0" @@ -4058,7 +4150,7 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ - "zerocopy 0.8.24", + "zerocopy", ] [[package]] @@ -4099,12 +4191,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.31" +version = "0.2.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5316f57387668042f561aae71480de936257848f9c43ce528e311d89a07cadeb" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] @@ -4142,9 +4234,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.94" +version = "1.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" +checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" dependencies = [ "unicode-ident", ] @@ -4175,7 +4267,7 @@ dependencies = [ "prost", "prost-types", "regex", - "syn 2.0.100", + "syn 2.0.111", "tempfile", ] @@ -4189,7 +4281,7 @@ dependencies = [ "itertools", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] @@ -4211,24 +4303,24 @@ dependencies = [ "multibase", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.17", "unsigned-varint", ] [[package]] name = "quote" -version = "1.0.40" +version = "1.0.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" dependencies = [ "proc-macro2", ] [[package]] name = "r-efi" -version = "5.2.0" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] name = "radium" @@ -4249,13 +4341,12 @@ dependencies = [ [[package]] name = "rand" -version = "0.9.0" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" dependencies = [ "rand_chacha 0.9.0", "rand_core 0.9.3", - "zerocopy 0.8.24", ] [[package]] @@ -4284,7 +4375,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", ] [[package]] @@ -4293,7 +4384,7 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" dependencies = [ - "getrandom 0.3.2", + "getrandom 0.3.4", ] [[package]] @@ -4307,18 +4398,18 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.10" +version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.10.0", ] [[package]] name = "regex" -version = "1.11.1" +version = "1.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" dependencies = [ "aho-corasick", "memchr", @@ -4328,9 +4419,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.9" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" dependencies = [ "aho-corasick", "memchr", @@ -4339,15 +4430,15 @@ dependencies = [ [[package]] name = "regex-lite" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a" +checksum = "8d942b98df5e658f56f20d592c7f868833fe38115e65c33003d8cd224b0155da" [[package]] name = "regex-syntax" -version = "0.8.5" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" [[package]] name = "reqwest" @@ -4360,7 +4451,7 @@ dependencies = [ "encoding_rs", "futures-core", "futures-util", - "h2 0.3.26", + "h2 0.3.27", "http 0.2.12", "http-body 0.4.6", "hyper 0.14.32", @@ -4387,9 +4478,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.15" +version = "0.12.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" +checksum = "9d0946410b9f7b082a427e4ef5c8ff541a88b357bc6c637c40db3a68ac70a36f" dependencies = [ "base64 0.22.1", "bytes", @@ -4397,38 +4488,35 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2 0.4.8", - "http 1.3.1", + "h2 0.4.12", + "http 1.4.0", "http-body 1.0.1", "http-body-util", - "hyper 1.6.0", + "hyper 1.8.1", "hyper-rustls", "hyper-tls", "hyper-util", - "ipnet", "js-sys", "log", "mime", "mime_guess", "native-tls", - "once_cell", "percent-encoding", "pin-project-lite", - "rustls-pemfile", + "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", "sync_wrapper 1.0.2", - "system-configuration 0.6.1", "tokio", "tokio-native-tls", "tower 0.5.2", + "tower-http", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "windows-registry", ] [[package]] @@ -4449,7 +4537,7 @@ checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.15", + "getrandom 0.2.16", "libc", "untrusted", "windows-sys 0.52.0", @@ -4479,9 +4567,9 @@ dependencies = [ [[package]] name = "rsa" -version = "0.9.8" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78928ac1ed176a5ca1d17e578a1825f3d81ca54cf41053a592584b020cfd691b" +checksum = "40a0376c50d0358279d9d643e4bf7b7be212f1f4ff1da9070a7b54d22ef75c88" dependencies = [ "const-oid", "digest", @@ -4499,9 +4587,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.24" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" [[package]] name = "rustc_version" @@ -4514,22 +4602,22 @@ dependencies = [ [[package]] name = "rustix" -version = "1.0.5" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d97817398dd4bb2e6da002002db259209759911da105da92bec29ccb12cf58bf" +checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.10.0", "errno", "libc", "linux-raw-sys", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] name = "rustls" -version = "0.23.25" +version = "0.23.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "822ee9188ac4ec04a2f0531e55d035fb2de73f18b41a63c70c2712503b6fb13c" +checksum = "533f54bc6a7d4f647e46ad909549eda97bf5afc1585190ef692b4286b198bd8f" dependencies = [ "once_cell", "ring", @@ -4540,25 +4628,19 @@ dependencies = [ ] [[package]] -name = "rustls-pemfile" -version = "2.2.0" +name = "rustls-pki-types" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" +checksum = "708c0f9d5f54ba0272468c1d306a52c495b31fa155e91bc25371e6df7996908c" dependencies = [ - "rustls-pki-types", + "zeroize", ] -[[package]] -name = "rustls-pki-types" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" - [[package]] name = "rustls-webpki" -version = "0.103.1" +version = "0.103.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fef8b8769aaccf73098557a87cd1816b4f9c7c16811c9c77142aa695c16f2c03" +checksum = "2ffdfa2f5286e2247234e03f680868ac2815974dc39e00ea15adc445d0aafe52" dependencies = [ "ring", "rustls-pki-types", @@ -4567,9 +4649,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.20" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "ryu" @@ -4588,11 +4670,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" +checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -4618,7 +4700,7 @@ checksum = "1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] @@ -4640,7 +4722,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.10.0", "core-foundation", "core-foundation-sys", "libc", @@ -4649,9 +4731,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.14.0" +version = "2.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" +checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0" dependencies = [ "core-foundation-sys", "libc", @@ -4659,19 +4741,21 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.26" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" +checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" dependencies = [ "serde", + "serde_core", ] [[package]] name = "serde" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" dependencies = [ + "serde_core", "serde_derive", ] @@ -4685,37 +4769,58 @@ dependencies = [ "serde", ] +[[package]] +name = "serde-value" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" +dependencies = [ + "ordered-float", + "serde", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + [[package]] name = "serde_derive" -version = "1.0.219" +version = "1.0.228" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] name = "serde_json" -version = "1.0.140" +version = "1.0.145" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" dependencies = [ "itoa", "memchr", "ryu", "serde", + "serde_core", ] [[package]] name = "serde_path_to_error" -version = "0.1.17" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59fab13f937fa393d08645bf3a84bdfe86e296747b506ada67bb15f10f218b2a" +checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457" dependencies = [ "itoa", "serde", + "serde_core", ] [[package]] @@ -4752,9 +4857,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.8" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", "cpufeatures", @@ -4779,10 +4884,10 @@ dependencies = [ "lazy_static", "log", "regex", - "reqwest 0.12.15", + "reqwest 0.12.24", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.17", ] [[package]] @@ -4793,9 +4898,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" +checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" dependencies = [ "libc", "signal-hook-registry", @@ -4803,9 +4908,9 @@ dependencies = [ [[package]] name = "signal-hook-mio" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" +checksum = "b75a19a7a740b25bc7944bdee6172368f988763b744e3d4dfe753f6b4ece40cc" dependencies = [ "libc", "mio 0.8.11", @@ -4814,9 +4919,9 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.2" +version = "1.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +checksum = "7664a098b8e616bdfcc2dc0e9ac44eb231eedf41db4e9fe95d8d32ec728dedad" dependencies = [ "libc", ] @@ -4831,6 +4936,12 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + [[package]] name = "simple_message_relay" version = "0.1.0" @@ -4852,12 +4963,9 @@ checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" [[package]] name = "slab" -version = "0.4.9" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] +checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" [[package]] name = "sled" @@ -4877,23 +4985,33 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.14.0" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" dependencies = [ "serde", ] [[package]] name = "socket2" -version = "0.5.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" dependencies = [ "libc", "windows-sys 0.52.0", ] +[[package]] +name = "socket2" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881" +dependencies = [ + "libc", + "windows-sys 0.60.2", +] + [[package]] name = "spin" version = "0.9.8" @@ -4915,9 +5033,9 @@ dependencies = [ [[package]] name = "sqlx" -version = "0.8.3" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4410e73b3c0d8442c5f99b425d7a435b5ee0ae4167b3196771dd3f7a01be745f" +checksum = "1fefb893899429669dcdd979aff487bd78f4064e5e7907e4269081e0ef7d97dc" dependencies = [ "sqlx-core", "sqlx-macros", @@ -4928,10 +5046,11 @@ dependencies = [ [[package]] name = "sqlx-core" -version = "0.8.3" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a007b6936676aa9ab40207cde35daab0a04b823be8ae004368c0793b96a61e0" +checksum = "ee6798b1838b6a0f69c007c133b8df5866302197e404e8b6ee8ed3e3a5e68dc6" dependencies = [ + "base64 0.22.1", "bytes", "chrono", "crc", @@ -4942,45 +5061,44 @@ dependencies = [ "futures-intrusive", "futures-io", "futures-util", - "hashbrown 0.15.2", + "hashbrown 0.15.5", "hashlink", - "indexmap 2.8.0", + "indexmap 2.12.1", "log", "memchr", "once_cell", "percent-encoding", "rustls", - "rustls-pemfile", "serde", "serde_json", "sha2", "smallvec", - "thiserror 2.0.12", + "thiserror 2.0.17", "tokio", "tokio-stream", "tracing", "url", - "webpki-roots", + "webpki-roots 0.26.11", ] [[package]] name = "sqlx-macros" -version = "0.8.3" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3112e2ad78643fef903618d78cf0aec1cb3134b019730edb039b69eaf531f310" +checksum = "a2d452988ccaacfbf5e0bdbc348fb91d7c8af5bee192173ac3636b5fb6e6715d" dependencies = [ "proc-macro2", "quote", "sqlx-core", "sqlx-macros-core", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] name = "sqlx-macros-core" -version = "0.8.3" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e9f90acc5ab146a99bf5061a7eb4976b573f560bc898ef3bf8435448dd5e7ad" +checksum = "19a9c1841124ac5a61741f96e1d9e2ec77424bf323962dd894bdb93f37d5219b" dependencies = [ "dotenvy", "either", @@ -4996,21 +5114,20 @@ dependencies = [ "sqlx-mysql", "sqlx-postgres", "sqlx-sqlite", - "syn 2.0.100", - "tempfile", + "syn 2.0.111", "tokio", "url", ] [[package]] name = "sqlx-mysql" -version = "0.8.3" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4560278f0e00ce64938540546f59f590d60beee33fffbd3b9cd47851e5fff233" +checksum = "aa003f0038df784eb8fecbbac13affe3da23b45194bd57dba231c8f48199c526" dependencies = [ "atoi", "base64 0.22.1", - "bitflags 2.9.0", + "bitflags 2.10.0", "byteorder", "bytes", "chrono", @@ -5040,20 +5157,20 @@ dependencies = [ "smallvec", "sqlx-core", "stringprep", - "thiserror 2.0.12", + "thiserror 2.0.17", "tracing", "whoami", ] [[package]] name = "sqlx-postgres" -version = "0.8.3" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5b98a57f363ed6764d5b3a12bfedf62f07aa16e1856a7ddc2a0bb190a959613" +checksum = "db58fcd5a53cf07c184b154801ff91347e4c30d17a3562a635ff028ad5deda46" dependencies = [ "atoi", "base64 0.22.1", - "bitflags 2.9.0", + "bitflags 2.10.0", "byteorder", "chrono", "crc", @@ -5078,16 +5195,16 @@ dependencies = [ "smallvec", "sqlx-core", "stringprep", - "thiserror 2.0.12", + "thiserror 2.0.17", "tracing", "whoami", ] [[package]] name = "sqlx-sqlite" -version = "0.8.3" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f85ca71d3a5b24e64e1d08dd8fe36c6c95c339a896cc33068148906784620540" +checksum = "c2d12fe70b2c1b4401038055f90f151b78208de1f9f89a7dbfd41587a10c3eea" dependencies = [ "atoi", "chrono", @@ -5103,15 +5220,16 @@ dependencies = [ "serde", "serde_urlencoded", "sqlx-core", + "thiserror 2.0.17", "tracing", "url", ] [[package]] name = "stable_deref_trait" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "static_assertions" @@ -5144,21 +5262,20 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "strum" -version = "0.27.1" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f64def088c51c9510a8579e3c5d67c65349dcf755e5479ad3d010aa6454e2c32" +checksum = "af23d6f6c1a224baef9d3f61e287d2761385a5b88fdab4eb4c6f11aeb54c4bcf" [[package]] name = "strum_macros" -version = "0.27.1" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c77a8c5abcaf0f9ce05d62342b7d298c346515365c36b673df4ebe3ced01fde8" +checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "rustversion", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] @@ -5180,9 +5297,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.100" +version = "2.0.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" +checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87" dependencies = [ "proc-macro2", "quote", @@ -5206,13 +5323,13 @@ dependencies = [ [[package]] name = "synstructure" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] @@ -5232,7 +5349,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.10.0", "core-foundation", "system-configuration-sys 0.6.0", ] @@ -5265,15 +5382,15 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.19.1" +version = "3.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf" +checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" dependencies = [ "fastrand", - "getrandom 0.3.2", + "getrandom 0.3.4", "once_cell", "rustix", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -5317,9 +5434,9 @@ dependencies = [ "indy-vdr-proxy-client", "log", "public_key", - "rand 0.9.0", + "rand 0.9.2", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.17", "uuid", ] @@ -5340,11 +5457,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.12" +version = "2.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" dependencies = [ - "thiserror-impl 2.0.12", + "thiserror-impl 2.0.17", ] [[package]] @@ -5355,25 +5472,25 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] name = "thiserror-impl" -version = "2.0.12" +version = "2.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] name = "time" -version = "0.3.41" +version = "0.3.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" +checksum = "91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d" dependencies = [ "deranged", "itoa", @@ -5388,15 +5505,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.4" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" +checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b" [[package]] name = "time-macros" -version = "0.2.22" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" +checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3" dependencies = [ "num-conv", "time-core", @@ -5404,9 +5521,9 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.7.6" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" dependencies = [ "displaydoc", "zerovec", @@ -5414,9 +5531,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" +checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" dependencies = [ "tinyvec_macros", ] @@ -5429,31 +5546,30 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.44.1" +version = "1.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f382da615b842244d4b8738c82ed1275e6c5dd90c459a30941cd07080b06c91a" +checksum = "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408" dependencies = [ - "backtrace", "bytes", "libc", - "mio 1.0.3", - "parking_lot 0.12.3", + "mio 1.1.0", + "parking_lot 0.12.5", "pin-project-lite", "signal-hook-registry", - "socket2", + "socket2 0.6.1", "tokio-macros", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] name = "tokio-macros" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" +checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] @@ -5468,9 +5584,9 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.26.2" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" +checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" dependencies = [ "rustls", "tokio", @@ -5502,9 +5618,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.14" +version = "0.7.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b9590b93e6fcc1739458317cccd391ad3955e2bde8913edf6f95f9e65a8f034" +checksum = "2efa149fe76073d6e8fd97ef4f4eca7b67f599660115591483572e406e165594" dependencies = [ "bytes", "futures-core", @@ -5537,10 +5653,10 @@ dependencies = [ "async-trait", "base64 0.22.1", "bytes", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "http-body-util", - "hyper 1.6.0", + "hyper 1.8.1", "hyper-timeout", "hyper-util", "percent-encoding", @@ -5565,7 +5681,7 @@ dependencies = [ "prost-build", "prost-types", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] @@ -5606,17 +5722,19 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.2" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "403fa3b783d4b626a8ad51d766ab03cb6d2dbfc46b1c5d4448395e6628dc9697" +checksum = "9cf146f99d442e8e68e585f5d798ccd3cad9a7835b917e09728880a862706456" dependencies = [ - "bitflags 2.9.0", + "bitflags 2.10.0", "bytes", "futures-util", - "http 1.3.1", + "http 1.4.0", "http-body 1.0.1", "http-body-util", + "iri-string", "pin-project-lite", + "tower 0.5.2", "tower-layer", "tower-service", "tracing", @@ -5636,9 +5754,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.41" +version = "0.1.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +checksum = "2d15d90a0b5c19378952d479dc858407149d7bb45a14de0142f6c534b16fc647" dependencies = [ "log", "pin-project-lite", @@ -5648,33 +5766,33 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.28" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] name = "tracing-core" -version = "0.1.33" +version = "0.1.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +checksum = "7a04e24fab5c89c6a36eb8558c9656f30d81de51dfa4d3b45f26b21d61fa0a6c" dependencies = [ "once_cell", ] [[package]] name = "transitive" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39b89a3bbc020b12f4086cc84ed4ef348ffad0f7ddfa6134d026678217b6de1c" +checksum = "baf33f1e1fefdc7c6539d9bd9313296b58618e683606e8df7bd4e3a6758cc6dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] @@ -5700,14 +5818,14 @@ checksum = "3c36781cc0e46a83726d9879608e4cf6c2505237e263a8eb8c24502989cfdb28" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] name = "typenum" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" [[package]] name = "unicase" @@ -5723,24 +5841,24 @@ checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" [[package]] name = "unicode-ident" -version = "1.0.18" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" +checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" [[package]] name = "unicode-normalization" -version = "0.1.24" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" +checksum = "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8" dependencies = [ "tinyvec", ] [[package]] name = "unicode-properties" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" +checksum = "7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d" [[package]] name = "unicode-segmentation" @@ -5790,7 +5908,7 @@ dependencies = [ "once_cell", "serde_json", "shared", - "thiserror 2.0.12", + "thiserror 2.0.17", "tokio", "uniffi", "url", @@ -5937,9 +6055,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.4" +version = "2.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" dependencies = [ "form_urlencoded", "idna", @@ -5947,12 +6065,6 @@ dependencies = [ "serde", ] -[[package]] -name = "utf16_iter" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" - [[package]] name = "utf8_iter" version = "1.0.4" @@ -5967,12 +6079,14 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.16.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9" +checksum = "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a" dependencies = [ - "getrandom 0.3.2", - "serde", + "getrandom 0.3.4", + "js-sys", + "serde_core", + "wasm-bindgen", ] [[package]] @@ -5998,17 +6112,17 @@ dependencies = [ [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] -name = "wasi" -version = "0.14.2+wasi-0.2.4" +name = "wasip2" +version = "1.0.1+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" dependencies = [ - "wit-bindgen-rt", + "wit-bindgen", ] [[package]] @@ -6019,35 +6133,22 @@ checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" [[package]] name = "wasm-bindgen" -version = "0.2.100" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +checksum = "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd" dependencies = [ "cfg-if", "once_cell", "rustversion", "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.100" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" -dependencies = [ - "bumpalo", - "log", - "proc-macro2", - "quote", - "syn 2.0.100", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.50" +version = "0.4.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" +checksum = "836d9622d604feee9e5de25ac10e3ea5f2d65b41eac0d9ce72eb5deae707ce7c" dependencies = [ "cfg-if", "js-sys", @@ -6058,9 +6159,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.100" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +checksum = "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -6068,31 +6169,31 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.100" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +checksum = "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40" dependencies = [ + "bumpalo", "proc-macro2", "quote", - "syn 2.0.100", - "wasm-bindgen-backend", + "syn 2.0.111", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.100" +version = "0.2.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +checksum = "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4" dependencies = [ "unicode-ident", ] [[package]] name = "web-sys" -version = "0.3.77" +version = "0.3.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" +checksum = "9b32828d774c412041098d182a8b38b16ea816958e07cf40eec2bc080ae137ac" dependencies = [ "js-sys", "wasm-bindgen", @@ -6100,9 +6201,18 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.26.8" +version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9" +checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" +dependencies = [ + "webpki-roots 1.0.4", +] + +[[package]] +name = "webpki-roots" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2878ef029c47c6e8cf779119f20fcf52bde7ad42a731b2a304bc221df17571e" dependencies = [ "rustls-pki-types", ] @@ -6118,11 +6228,11 @@ dependencies = [ [[package]] name = "whoami" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6994d13118ab492c3c80c1f81928718159254c53c472bf9ce36f8dae4add02a7" +checksum = "5d4a4db5077702ca3015d3d02d74974948aba2ad9e12ab7df718ee64ccd7e97d" dependencies = [ - "redox_syscall 0.5.10", + "libredox", "wasite", ] @@ -6144,11 +6254,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.9" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -6159,79 +6269,70 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-core" -version = "0.61.0" +version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4763c1de310c86d75a878046489e2e5ba02c649d185f21c67d4cf8a56d098980" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" dependencies = [ "windows-implement", "windows-interface", "windows-link", "windows-result", - "windows-strings 0.4.0", + "windows-strings", ] [[package]] name = "windows-implement" -version = "0.60.0" +version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] name = "windows-interface" -version = "0.59.1" +version = "0.59.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] name = "windows-link" -version = "0.1.1" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" [[package]] name = "windows-registry" -version = "0.4.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" +checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" dependencies = [ + "windows-link", "windows-result", - "windows-strings 0.3.1", - "windows-targets 0.53.0", + "windows-strings", ] [[package]] name = "windows-result" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252" -dependencies = [ - "windows-link", -] - -[[package]] -name = "windows-strings" -version = "0.3.1" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" dependencies = [ "windows-link", ] [[package]] name = "windows-strings" -version = "0.4.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2ba9642430ee452d5a7aa78d72907ebe8cfda358e8cb7918a2050581322f97" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" dependencies = [ "windows-link", ] @@ -6256,11 +6357,20 @@ dependencies = [ [[package]] name = "windows-sys" -version = "0.59.0" +version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" dependencies = [ - "windows-targets 0.52.6", + "windows-targets 0.53.5", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", ] [[package]] @@ -6296,18 +6406,19 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.53.0" +version = "0.53.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" dependencies = [ - "windows_aarch64_gnullvm 0.53.0", - "windows_aarch64_msvc 0.53.0", - "windows_i686_gnu 0.53.0", - "windows_i686_gnullvm 0.53.0", - "windows_i686_msvc 0.53.0", - "windows_x86_64_gnu 0.53.0", - "windows_x86_64_gnullvm 0.53.0", - "windows_x86_64_msvc 0.53.0", + "windows-link", + "windows_aarch64_gnullvm 0.53.1", + "windows_aarch64_msvc 0.53.1", + "windows_i686_gnu 0.53.1", + "windows_i686_gnullvm 0.53.1", + "windows_i686_msvc 0.53.1", + "windows_x86_64_gnu 0.53.1", + "windows_x86_64_gnullvm 0.53.1", + "windows_x86_64_msvc 0.53.1", ] [[package]] @@ -6324,9 +6435,9 @@ checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_gnullvm" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" [[package]] name = "windows_aarch64_msvc" @@ -6342,9 +6453,9 @@ checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_aarch64_msvc" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" [[package]] name = "windows_i686_gnu" @@ -6360,9 +6471,9 @@ checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnu" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" [[package]] name = "windows_i686_gnullvm" @@ -6372,9 +6483,9 @@ checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_gnullvm" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" [[package]] name = "windows_i686_msvc" @@ -6390,9 +6501,9 @@ checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_i686_msvc" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" [[package]] name = "windows_x86_64_gnu" @@ -6408,9 +6519,9 @@ checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnu" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" [[package]] name = "windows_x86_64_gnullvm" @@ -6426,9 +6537,9 @@ checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_gnullvm" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" [[package]] name = "windows_x86_64_msvc" @@ -6444,9 +6555,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "windows_x86_64_msvc" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" [[package]] name = "winreg" @@ -6459,25 +6570,16 @@ dependencies = [ ] [[package]] -name = "wit-bindgen-rt" -version = "0.39.0" +name = "wit-bindgen" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" -dependencies = [ - "bitflags 2.9.0", -] - -[[package]] -name = "write16" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" +checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" [[package]] name = "writeable" -version = "0.5.5" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" [[package]] name = "wyz" @@ -6513,11 +6615,10 @@ checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" [[package]] name = "yoke" -version = "0.7.5" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" dependencies = [ - "serde", "stable_deref_trait", "yoke-derive", "zerofrom", @@ -6525,54 +6626,34 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.7.5" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", "synstructure", ] [[package]] name = "zerocopy" -version = "0.7.35" +version = "0.8.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +checksum = "fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3" dependencies = [ - "zerocopy-derive 0.7.35", -] - -[[package]] -name = "zerocopy" -version = "0.8.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879" -dependencies = [ - "zerocopy-derive 0.8.24", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.100", + "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.24" +version = "0.8.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be" +checksum = "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] @@ -6592,15 +6673,15 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", "synstructure", ] [[package]] name = "zeroize" -version = "1.8.1" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" dependencies = [ "zeroize_derive", ] @@ -6613,7 +6694,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] @@ -6625,11 +6706,22 @@ dependencies = [ "cmake", ] +[[package]] +name = "zerotrie" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + [[package]] name = "zerovec" -version = "0.10.4" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" dependencies = [ "yoke", "zerofrom", @@ -6638,13 +6730,13 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.10.3" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.111", ] [[package]] @@ -6690,9 +6782,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.15+zstd.1.5.7" +version = "2.0.16+zstd.1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb81183ddd97d0c74cedf1d50d85c8d08c1b8b68ee863bdee9e706eedba1a237" +checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748" dependencies = [ "cc", "pkg-config", diff --git a/Cargo.toml b/Cargo.toml index 88a2965f0a..166157ea7a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -93,6 +93,7 @@ hex = "0.4.3" pem = "3.0.4" serde = { version = "1.0.217", default-features = false } serde_json = "1.0.134" +serde-value = "0.7" derive_more = "2.0.1" async-trait = "0.1.83" futures = { version = "0.3.31", default-features = false } diff --git a/README.md b/README.md index b6e6bc295f..199fc5e1a3 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ Contributions are very welcome! If you have questions or issues, please let us k Install Rust: https://www.rust-lang.org/tools/install -We recommend using rustup, as VCX is currently targeting Rust v1.84.1 (this maintains consistency between local and CI environments). +We recommend using rustup, as VCX is currently targeting Rust v1.88.0 (this maintains consistency between local and CI environments). Anoncreds and Indy require the use of openssl and zmq. These may be vendored by consuming applications, but for development installation is required. diff --git a/aries/agents/aath-backchannel/Dockerfile.aries-vcx b/aries/agents/aath-backchannel/Dockerfile.aries-vcx index e95583e6f4..47720b921a 100644 --- a/aries/agents/aath-backchannel/Dockerfile.aries-vcx +++ b/aries/agents/aath-backchannel/Dockerfile.aries-vcx @@ -14,7 +14,7 @@ RUN apk update && apk upgrade && \ USER aries WORKDIR /home/aries -ARG RUST_VER="1.84.1" +ARG RUST_VER="1.88.0" RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain $RUST_VER --default-host x86_64-unknown-linux-musl ENV PATH="/home/aries/.cargo/bin:$PATH" RUSTFLAGS="-C target-feature=-crt-static" diff --git a/aries/agents/mediator/Dockerfile b/aries/agents/mediator/Dockerfile index 2cddeb671f..e732edf42c 100644 --- a/aries/agents/mediator/Dockerfile +++ b/aries/agents/mediator/Dockerfile @@ -1,4 +1,4 @@ -FROM rust:1.84.1 as builder +FROM rust:1.88.0 as builder RUN apt update && apt install -y libssl-dev libzmq3-dev cmake WORKDIR /usr/src/aries-vcx diff --git a/aries/aries_vcx_wallet/src/wallet/askar/askar_utils.rs b/aries/aries_vcx_wallet/src/wallet/askar/askar_utils.rs index eebbf6f6db..471db7a759 100644 --- a/aries/aries_vcx_wallet/src/wallet/askar/askar_utils.rs +++ b/aries/aries_vcx_wallet/src/wallet/askar/askar_utils.rs @@ -35,7 +35,6 @@ pub fn public_key_type_to_askar_key_alg(value: &KeyType) -> VcxWalletResult KeyAlg::Ed25519, KeyType::X25519 => KeyAlg::X25519, - KeyType::Bls12381g1g2 => KeyAlg::Bls12_381(BlsCurves::G1G2), KeyType::Bls12381g1 => KeyAlg::Bls12_381(BlsCurves::G1), KeyType::Bls12381g2 => KeyAlg::Bls12_381(BlsCurves::G2), KeyType::P256 => KeyAlg::EcCurve(EcCurves::Secp256r1), diff --git a/aries/messages/Cargo.toml b/aries/messages/Cargo.toml index a144c404b4..c95727cbde 100644 --- a/aries/messages/Cargo.toml +++ b/aries/messages/Cargo.toml @@ -11,6 +11,7 @@ doctest = false [dependencies] serde = { workspace = true, features = ["derive"] } serde_json.workspace = true +serde-value.workspace = true chrono = { workspace = true, features = ["serde"] } lazy_static.workspace = true url = { workspace = true, features = ["serde"] } diff --git a/aries/messages/src/lib.rs b/aries/messages/src/lib.rs index 65f20cc785..591c6ff262 100644 --- a/aries/messages/src/lib.rs +++ b/aries/messages/src/lib.rs @@ -234,37 +234,6 @@ impl DelayedSerde for AriesMessage { /// /// For readability, the [`MessageType`] matching is done in the /// [`DelayedSerde::delayed_deserialize`] method. -// -// Yes, we're using some private serde constructs. Here's why I think this is okay: -// 1) This emulates the derived implementation with the #[serde(tag = "@type")] attribute, -// but uses [`MessageType`] instead of some [`Field`] struct that serde generates. -// -// 2) Without this, the implementation would either rely on something inefficient such as [`Value`] -// as an intermediary, use some custom map which fails on duplicate entries as intermediary or -// basically use [`serde_value`] which seems to be an old replica of [`Content`] and -// [`ContentDeserializer`]. Also, [`serde_value::Value`] seems to always allocate. Using something -// like `HashMap::<&str, &RawValue>` wouldn't work either, as there are issues flattening -// `serde_json::RawValue`. It would also require some custom deserialization afterwards. -// -// 3) Exposing these parts as public is in progress from serde. When that will happen is still -// unknown. See: . With [`serde_value`] lacking -// activity and not seeming to get integrated into [`serde`], this will most likely resurface. -// -// 4) Reimplementing this on breaking semver changes is as easy as expanding the derived -// [`Deserialize`] impl and altering it a bit. And if that fails, the 2nd argument will still be -// viable. -// -// -// In the event of a `serde` version bump and this breaking, the fix is a matter of -// implementing a struct such as and expanding the derive macro to see what it does: -// ``` -// #[derive(Deserialize)] -// #[serde(tag = "@type")] -// enum MyStruct { -// Var(u8), -// Var2(u8), -// } -// ``` impl<'de> Deserialize<'de> for AriesMessage { fn deserialize(deserializer: D) -> Result where @@ -272,8 +241,6 @@ impl<'de> Deserialize<'de> for AriesMessage { { use std::borrow::Cow; - use serde::__private::de::{Content, ContentDeserializer}; - /// Helper that will only deserialize the message type and buffer the /// rest of the fields (borrowing where possible). #[derive(Deserialize)] @@ -282,8 +249,7 @@ impl<'de> Deserialize<'de> for AriesMessage { #[serde(borrow)] msg_type: Cow<'a, str>, #[serde(flatten)] - #[serde(borrow)] - content: Content<'a>, + content: serde_value::Value, } let TypeAndContent { msg_type, content } = TypeAndContent::deserialize(deserializer)?; @@ -291,9 +257,8 @@ impl<'de> Deserialize<'de> for AriesMessage { // Parse the message type field to get the protocol and message kind let msg_type = msg_type.as_ref().try_into().map_err(D::Error::custom)?; - // The content is [`Content`], the cached remaining fields of the - // serialized data. Serde uses this [`ContentDeserializer`] to deserialize from that format. - let deserializer = ContentDeserializer::::new(content); + // The content is serde_value::Value, which can be deserialized using ValueDeserializer + let deserializer = serde_value::ValueDeserializer::::new(content); Self::delayed_deserialize(msg_type, deserializer) } diff --git a/did_core/public_key/src/jwk.rs b/did_core/public_key/src/jwk.rs index 0242dfc842..a7d232ed63 100644 --- a/did_core/public_key/src/jwk.rs +++ b/did_core/public_key/src/jwk.rs @@ -19,7 +19,6 @@ impl Key { let key_type = match askar_alg { askar_crypto::alg::KeyAlg::Ed25519 => KeyType::Ed25519, - askar_crypto::alg::KeyAlg::Bls12_381(BlsCurves::G1G2) => KeyType::Bls12381g1g2, askar_crypto::alg::KeyAlg::Bls12_381(BlsCurves::G1) => KeyType::Bls12381g1, askar_crypto::alg::KeyAlg::Bls12_381(BlsCurves::G2) => KeyType::Bls12381g2, askar_crypto::alg::KeyAlg::X25519 => KeyType::X25519, @@ -50,7 +49,6 @@ pub fn public_key_type_to_askar_key_alg(value: &KeyType) -> Result KeyAlg::Ed25519, KeyType::X25519 => KeyAlg::X25519, - KeyType::Bls12381g1g2 => KeyAlg::Bls12_381(BlsCurves::G1G2), KeyType::Bls12381g1 => KeyAlg::Bls12_381(BlsCurves::G1), KeyType::Bls12381g2 => KeyAlg::Bls12_381(BlsCurves::G2), KeyType::P256 => KeyAlg::EcCurve(EcCurves::Secp256r1), diff --git a/rust-toolchain.toml b/rust-toolchain.toml index fcb78ec564..e88baf106b 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,2 +1,2 @@ [toolchain] -channel = "1.84.1" +channel = "1.88.0" From 68cec1defcbb574bec0526092d73c88d81eb280f Mon Sep 17 00:00:00 2001 From: George Mulhearn Date: Thu, 4 Dec 2025 15:33:21 +1000 Subject: [PATCH 2/3] run clippy fix and remove all UniFFI Signed-off-by: George Mulhearn --- Cargo.lock | 440 +----------------- Cargo.toml | 2 - aries/README.md | 5 - aries/agents/README.md | 1 - .../src/controllers/connection.rs | 2 +- .../src/controllers/credential_definition.rs | 4 +- .../src/controllers/did_exchange.rs | 9 +- .../src/controllers/didcomm.rs | 16 +- .../src/controllers/general.rs | 2 +- .../src/controllers/issuance.rs | 27 +- .../src/controllers/out_of_band.rs | 4 +- .../src/controllers/schema.rs | 2 +- aries/agents/aath-backchannel/src/error.rs | 16 +- aries/agents/aath-backchannel/src/setup.rs | 16 +- .../agents/aries-vcx-agent/src/agent/init.rs | 3 +- .../aries-vcx-agent/src/error/convertors.rs | 4 +- .../src/handlers/connection.rs | 14 +- .../src/handlers/did_exchange.rs | 6 +- .../aries-vcx-agent/src/handlers/issuer.rs | 3 +- .../src/storage/agent_storage_inmem.rs | 2 +- aries/agents/mediator/client-tui/src/tui.rs | 8 +- .../mediator/src/aries_agent/client/mod.rs | 4 +- .../src/aries_agent/client/transports.rs | 2 +- aries/agents/mediator/src/aries_agent/mod.rs | 8 +- aries/agents/mediator/src/bin/mediator.rs | 4 +- .../mediator/src/didcomm_handlers/forward.rs | 2 +- .../mediator/src/didcomm_handlers/mod.rs | 2 +- .../agents/mediator/src/mediation/forward.rs | 2 +- .../src/persistence/database/mysql.rs | 35 +- .../tests/common/agent_and_transport_utils.rs | 7 +- .../mediator/tests/mediator-coord-protocol.rs | 20 +- .../mediator/tests/mediator-oob-invitation.rs | 2 +- .../tests/mediator-protocol-pickup.rs | 16 +- .../agents/mediator/tests/mediator-readme.rs | 2 +- .../tests/mediator-routing-forward.rs | 2 +- aries/agents/mobile_demo/.gitignore | 17 - aries/agents/mobile_demo/app/.gitignore | 1 - aries/agents/mobile_demo/app/build.gradle | 87 ---- .../agents/mobile_demo/app/proguard-rules.pro | 21 - .../ariesvcx/ExampleInstrumentedTest.kt | 24 - .../app/src/main/AndroidManifest.xml | 32 -- .../hyperledger/ariesvcx/AppDemoController.kt | 167 ------- .../org/hyperledger/ariesvcx/Constants.kt | 5 - .../hyperledger/ariesvcx/CredentialScreen.kt | 57 --- .../org/hyperledger/ariesvcx/Credentials.kt | 10 - .../org/hyperledger/ariesvcx/HolderScreen.kt | 66 --- .../org/hyperledger/ariesvcx/HomeScreen.kt | 93 ---- .../org/hyperledger/ariesvcx/MainActivity.kt | 81 ---- .../hyperledger/ariesvcx/QrCodeAnalyzer.kt | 59 --- .../org/hyperledger/ariesvcx/ScanScreen.kt | 148 ------ .../hyperledger/ariesvcx/ui/theme/Color.kt | 11 - .../hyperledger/ariesvcx/ui/theme/Theme.kt | 70 --- .../org/hyperledger/ariesvcx/ui/theme/Type.kt | 34 -- .../hyperledger/ariesvcx/utils/OkHttpAwait.kt | 59 --- .../ariesvcx/utils/PrepareGenesisFile.kt | 21 - .../drawable-v24/ic_launcher_foreground.xml | 30 -- .../res/drawable/ic_launcher_background.xml | 170 ------- .../res/mipmap-anydpi-v26/ic_launcher.xml | 6 - .../mipmap-anydpi-v26/ic_launcher_round.xml | 6 - .../src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 1404 -> 0 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 2898 -> 0 bytes .../src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 982 -> 0 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 1772 -> 0 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 1900 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 3918 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 2884 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 5914 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 3844 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 7778 -> 0 bytes .../app/src/main/res/raw/bcovrin_transactions | 4 - .../app/src/main/res/values/colors.xml | 10 - .../app/src/main/res/values/strings.xml | 3 - .../app/src/main/res/values/themes.xml | 5 - .../app/src/main/res/xml/backup_rules.xml | 13 - .../main/res/xml/data_extraction_rules.xml | 19 - .../hyperledger/ariesvcx/ExampleUnitTest.kt | 17 - aries/agents/mobile_demo/build.gradle | 6 - aries/agents/mobile_demo/gradle.properties | 23 - .../gradle/wrapper/gradle-wrapper.jar | Bin 59203 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 - aries/agents/mobile_demo/gradlew | 185 -------- aries/agents/mobile_demo/gradlew.bat | 89 ---- aries/agents/mobile_demo/settings.gradle | 16 - aries/aries_vcx/README.md | 1 - .../src/common/credentials/encoding.rs | 15 +- aries/aries_vcx/src/common/keys.rs | 16 +- .../src/common/ledger/transactions.rs | 7 +- .../primitives/credential_definition.rs | 18 +- .../common/primitives/credential_schema.rs | 6 +- .../common/primitives/revocation_registry.rs | 30 +- .../common/proofs/prover/prover_internal.rs | 22 +- .../proofs/verifier/verifier_internal.rs | 28 +- aries/aries_vcx/src/common/signing.rs | 4 +- aries/aries_vcx/src/errors/error.rs | 6 +- .../aries_vcx/src/handlers/issuance/holder.rs | 10 +- .../aries_vcx/src/handlers/issuance/issuer.rs | 13 +- .../src/handlers/out_of_band/receiver.rs | 9 +- .../src/handlers/out_of_band/sender.rs | 4 +- .../src/handlers/proof_presentation/prover.rs | 19 +- .../handlers/proof_presentation/verifier.rs | 22 +- aries/aries_vcx/src/handlers/util.rs | 3 +- .../src/protocols/connection/invitee/mod.rs | 3 +- .../src/protocols/connection/inviter/mod.rs | 7 +- .../src/protocols/did_exchange/mod.rs | 11 +- .../did_exchange/state_machine/helpers.rs | 9 +- .../state_machine/requester/helpers.rs | 2 +- .../requester/request_sent/mod.rs | 14 +- .../responder/response_sent/mod.rs | 8 +- .../issuance/holder/state_machine.rs | 40 +- .../issuance/holder/states/finished.rs | 26 +- .../issuance/holder/states/offer_received.rs | 3 +- .../issuance/issuer/state_machine.rs | 20 +- aries/aries_vcx/src/protocols/issuance/mod.rs | 6 +- .../invitee/state_machine.rs | 6 +- .../invitee/states/requested.rs | 3 +- .../invitee/states/responded.rs | 3 +- .../inviter/states/invited.rs | 3 +- .../inviter/states/requested.rs | 3 +- .../inviter/states/responded.rs | 3 +- aries/aries_vcx/src/protocols/oob/mod.rs | 8 +- .../prover/state_machine.rs | 15 +- .../verifier/state_machine.rs | 11 +- .../states/presentation_request_sent.rs | 3 +- aries/aries_vcx/src/utils/didcomm_utils.rs | 4 +- .../src/utils/encryption_envelope.rs | 21 +- aries/aries_vcx/src/utils/serialization.rs | 4 +- aries/aries_vcx/src/utils/validation.rs | 4 +- aries/aries_vcx/tests/test_did_exchange.rs | 14 +- .../tests/test_proof_presentation.rs | 2 +- aries/aries_vcx/tests/utils/scenarios/data.rs | 2 +- .../utils/scenarios/proof_presentation.rs | 9 +- .../src/anoncreds/anoncreds/mod.rs | 36 +- .../src/ledger/type_conversion.rs | 2 +- aries/aries_vcx_wallet/src/errors/error.rs | 29 +- .../src/wallet/askar/entry_tags.rs | 2 +- .../src/wallet/askar/sig_type.rs | 3 +- .../src/wallet/base_wallet/migrate.rs | 2 +- .../src/wallet/base_wallet/record_category.rs | 2 +- .../protocols/did_exchange/v1_0/request.rs | 2 +- .../protocols/did_exchange/v1_1/request.rs | 2 +- .../src/data_types/messages/pres_request.rs | 4 +- .../anoncreds_types/src/utils/conversions.rs | 4 +- aries/misc/anoncreds_types/src/utils/query.rs | 383 +++++---------- .../src/domain/response.rs | 3 +- aries/misc/shared/src/http_client.rs | 12 +- aries/misc/test_utils/src/devsetup.rs | 15 +- aries/misc/test_utils/src/logger.rs | 2 +- aries/misc/test_utils/src/mock_wallet.rs | 2 +- aries/wrappers/uniffi-aries-vcx/README.md | 71 --- .../wrappers/uniffi-aries-vcx/core/Cargo.toml | 39 -- .../wrappers/uniffi-aries-vcx/core/README.md | 21 - aries/wrappers/uniffi-aries-vcx/core/build.rs | 3 - .../core/src/core/anoncreds.rs | 17 - .../core/src/core/http_client.rs | 13 - .../uniffi-aries-vcx/core/src/core/logging.rs | 7 - .../uniffi-aries-vcx/core/src/core/mod.rs | 5 - .../core/src/core/profile/askar.rs | 62 --- .../core/src/core/profile/mod.rs | 38 -- .../core/src/core/unpack_message.rs | 22 - .../uniffi-aries-vcx/core/src/errors/error.rs | 24 - .../core/src/errors/mapping_from_ariesvcx.rs | 41 -- .../core/src/errors/mapping_from_others.rs | 35 -- .../uniffi-aries-vcx/core/src/errors/mod.rs | 3 - .../core/src/handlers/connection.rs | 256 ---------- .../core/src/handlers/holder.rs | 250 ---------- .../uniffi-aries-vcx/core/src/handlers/mod.rs | 2 - .../wrappers/uniffi-aries-vcx/core/src/lib.rs | 21 - .../uniffi-aries-vcx/core/src/runtime.rs | 11 - .../uniffi-aries-vcx/core/src/vcx.udl | 199 -------- .../uniffi-aries-vcx/core/uniffi-bindgen.rs | 3 - .../uniffi-aries-vcx/core/uniffi.toml | 2 - .../scripts/android.build.cargo.ndk.sh | 82 ---- .../uniffi-aries-vcx/scripts/android.build.sh | 18 - .../scripts/android.prepare.sh | 14 - .../scripts/android.toolchain.sh | 12 - .../uniffi-aries-vcx/scripts/android.utils.sh | 231 --------- did_core/did_doc/src/error.rs | 12 +- .../src/schema/service/service_accept_type.rs | 2 +- .../src/schema/service/service_key_kind.rs | 6 +- .../did_doc/src/schema/service/typed/mod.rs | 2 +- did_core/did_doc/src/schema/utils/mod.rs | 13 +- .../schema/verification_method/public_key.rs | 4 +- .../did_cheqd/src/resolution/resolver.rs | 1 + .../did_cheqd/src/resolution/transformer.rs | 1 + did_core/did_methods/did_jwk/src/resolver.rs | 2 +- .../did_methods/did_peer/examples/demo.rs | 9 +- .../did_peer/src/peer_did/generic.rs | 12 +- .../did_methods/did_peer/src/peer_did/mod.rs | 6 +- .../peer_did/numalgos/numalgo2/encoding.rs | 15 +- .../src/peer_did/numalgos/numalgo2/helpers.rs | 7 +- .../src/peer_did/numalgos/numalgo2/mod.rs | 2 +- .../src/peer_did/numalgos/numalgo2/purpose.rs | 2 +- .../numalgos/numalgo2/service_abbreviation.rs | 8 +- .../numalgos/numalgo4/construction_did_doc.rs | 5 +- .../src/peer_did/numalgos/numalgo4/mod.rs | 11 +- .../src/dereferencing/utils.rs | 10 +- .../src/resolution/resolver.rs | 4 +- .../did_resolver_sov/src/resolution/utils.rs | 10 +- .../src/resolution/resolver.rs | 2 +- .../did_resolver_web/tests/resolution.rs | 4 +- .../src/did/parsing/did_core.rs | 16 +- did_core/did_parser_nom/src/did_url/mod.rs | 2 +- did_core/did_parser_nom/src/error.rs | 4 +- misc/display_as_json/tests/demo.rs | 2 +- 204 files changed, 553 insertions(+), 4493 deletions(-) delete mode 100644 aries/agents/mobile_demo/.gitignore delete mode 100644 aries/agents/mobile_demo/app/.gitignore delete mode 100644 aries/agents/mobile_demo/app/build.gradle delete mode 100644 aries/agents/mobile_demo/app/proguard-rules.pro delete mode 100644 aries/agents/mobile_demo/app/src/androidTest/java/org/hyperledger/ariesvcx/ExampleInstrumentedTest.kt delete mode 100644 aries/agents/mobile_demo/app/src/main/AndroidManifest.xml delete mode 100644 aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/AppDemoController.kt delete mode 100644 aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/Constants.kt delete mode 100644 aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/CredentialScreen.kt delete mode 100644 aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/Credentials.kt delete mode 100644 aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/HolderScreen.kt delete mode 100644 aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/HomeScreen.kt delete mode 100644 aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/MainActivity.kt delete mode 100644 aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/QrCodeAnalyzer.kt delete mode 100644 aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/ScanScreen.kt delete mode 100644 aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/ui/theme/Color.kt delete mode 100644 aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/ui/theme/Theme.kt delete mode 100644 aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/ui/theme/Type.kt delete mode 100644 aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/utils/OkHttpAwait.kt delete mode 100644 aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/utils/PrepareGenesisFile.kt delete mode 100644 aries/agents/mobile_demo/app/src/main/res/drawable-v24/ic_launcher_foreground.xml delete mode 100644 aries/agents/mobile_demo/app/src/main/res/drawable/ic_launcher_background.xml delete mode 100644 aries/agents/mobile_demo/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml delete mode 100644 aries/agents/mobile_demo/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml delete mode 100644 aries/agents/mobile_demo/app/src/main/res/mipmap-hdpi/ic_launcher.webp delete mode 100644 aries/agents/mobile_demo/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp delete mode 100644 aries/agents/mobile_demo/app/src/main/res/mipmap-mdpi/ic_launcher.webp delete mode 100644 aries/agents/mobile_demo/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp delete mode 100644 aries/agents/mobile_demo/app/src/main/res/mipmap-xhdpi/ic_launcher.webp delete mode 100644 aries/agents/mobile_demo/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp delete mode 100644 aries/agents/mobile_demo/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp delete mode 100644 aries/agents/mobile_demo/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp delete mode 100644 aries/agents/mobile_demo/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp delete mode 100644 aries/agents/mobile_demo/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp delete mode 100644 aries/agents/mobile_demo/app/src/main/res/raw/bcovrin_transactions delete mode 100644 aries/agents/mobile_demo/app/src/main/res/values/colors.xml delete mode 100644 aries/agents/mobile_demo/app/src/main/res/values/strings.xml delete mode 100644 aries/agents/mobile_demo/app/src/main/res/values/themes.xml delete mode 100644 aries/agents/mobile_demo/app/src/main/res/xml/backup_rules.xml delete mode 100644 aries/agents/mobile_demo/app/src/main/res/xml/data_extraction_rules.xml delete mode 100644 aries/agents/mobile_demo/app/src/test/java/org/hyperledger/ariesvcx/ExampleUnitTest.kt delete mode 100644 aries/agents/mobile_demo/build.gradle delete mode 100644 aries/agents/mobile_demo/gradle.properties delete mode 100644 aries/agents/mobile_demo/gradle/wrapper/gradle-wrapper.jar delete mode 100644 aries/agents/mobile_demo/gradle/wrapper/gradle-wrapper.properties delete mode 100755 aries/agents/mobile_demo/gradlew delete mode 100644 aries/agents/mobile_demo/gradlew.bat delete mode 100644 aries/agents/mobile_demo/settings.gradle delete mode 100644 aries/wrappers/uniffi-aries-vcx/README.md delete mode 100644 aries/wrappers/uniffi-aries-vcx/core/Cargo.toml delete mode 100644 aries/wrappers/uniffi-aries-vcx/core/README.md delete mode 100644 aries/wrappers/uniffi-aries-vcx/core/build.rs delete mode 100644 aries/wrappers/uniffi-aries-vcx/core/src/core/anoncreds.rs delete mode 100644 aries/wrappers/uniffi-aries-vcx/core/src/core/http_client.rs delete mode 100644 aries/wrappers/uniffi-aries-vcx/core/src/core/logging.rs delete mode 100644 aries/wrappers/uniffi-aries-vcx/core/src/core/mod.rs delete mode 100644 aries/wrappers/uniffi-aries-vcx/core/src/core/profile/askar.rs delete mode 100644 aries/wrappers/uniffi-aries-vcx/core/src/core/profile/mod.rs delete mode 100644 aries/wrappers/uniffi-aries-vcx/core/src/core/unpack_message.rs delete mode 100644 aries/wrappers/uniffi-aries-vcx/core/src/errors/error.rs delete mode 100644 aries/wrappers/uniffi-aries-vcx/core/src/errors/mapping_from_ariesvcx.rs delete mode 100644 aries/wrappers/uniffi-aries-vcx/core/src/errors/mapping_from_others.rs delete mode 100644 aries/wrappers/uniffi-aries-vcx/core/src/errors/mod.rs delete mode 100644 aries/wrappers/uniffi-aries-vcx/core/src/handlers/connection.rs delete mode 100644 aries/wrappers/uniffi-aries-vcx/core/src/handlers/holder.rs delete mode 100644 aries/wrappers/uniffi-aries-vcx/core/src/handlers/mod.rs delete mode 100644 aries/wrappers/uniffi-aries-vcx/core/src/lib.rs delete mode 100644 aries/wrappers/uniffi-aries-vcx/core/src/runtime.rs delete mode 100644 aries/wrappers/uniffi-aries-vcx/core/src/vcx.udl delete mode 100644 aries/wrappers/uniffi-aries-vcx/core/uniffi-bindgen.rs delete mode 100644 aries/wrappers/uniffi-aries-vcx/core/uniffi.toml delete mode 100644 aries/wrappers/uniffi-aries-vcx/scripts/android.build.cargo.ndk.sh delete mode 100644 aries/wrappers/uniffi-aries-vcx/scripts/android.build.sh delete mode 100644 aries/wrappers/uniffi-aries-vcx/scripts/android.prepare.sh delete mode 100644 aries/wrappers/uniffi-aries-vcx/scripts/android.toolchain.sh delete mode 100644 aries/wrappers/uniffi-aries-vcx/scripts/android.utils.sh diff --git a/Cargo.lock b/Cargo.lock index b3d0799721..abf8c67bab 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -284,23 +284,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee5cca1ddc8b9dceb55b7f1272a9d1e643d73006f350a20ab4926d24e33f0f0d" -[[package]] -name = "android_log-sys" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84521a3cf562bc62942e294181d9eef17eb38ceb8c68677bc49f144e4c3d4f8d" - -[[package]] -name = "android_logger" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05b07e8e73d720a1f2e4b6014766e6039fd2e96a4fa44e2a78d0e1fa2ff49826" -dependencies = [ - "android_log-sys", - "env_filter", - "log", -] - [[package]] name = "android_system_properties" version = "0.1.5" @@ -513,7 +496,7 @@ dependencies = [ "actix-web", "anoncreds_types", "aries-vcx-agent", - "clap 4.5.53", + "clap", "derive_more", "display_as_json", "env_logger 0.11.8", @@ -634,51 +617,6 @@ dependencies = [ "uuid", ] -[[package]] -name = "askama" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb98f10f371286b177db5eeb9a6e5396609555686a35e1d4f7b9a9c6d8af0139" -dependencies = [ - "askama_derive", - "askama_escape", - "askama_shared", -] - -[[package]] -name = "askama_derive" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87bf87e6e8b47264efa9bde63d6225c6276a52e05e91bf37eaa8afd0032d6b71" -dependencies = [ - "askama_shared", - "proc-macro2", - "syn 1.0.109", -] - -[[package]] -name = "askama_escape" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "619743e34b5ba4e9703bba34deac3427c72507c7159f5fd030aea8cac0cfe341" - -[[package]] -name = "askama_shared" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf722b94118a07fcbc6640190f247334027685d4e218b794dbfe17c32bf38ed0" -dependencies = [ - "askama_escape", - "mime", - "mime_guess", - "nom", - "proc-macro2", - "quote", - "serde", - "syn 1.0.109", - "toml 0.5.11", -] - [[package]] name = "askar-crypto" version = "0.3.7" @@ -933,15 +871,6 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - [[package]] name = "bitflags" version = "1.3.2" @@ -1073,38 +1002,6 @@ dependencies = [ "bytes", ] -[[package]] -name = "camino" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "276a59bf2b2c967788139340c9f0c5b12d7fd6630315c15c217e559de85d2609" -dependencies = [ - "serde_core", -] - -[[package]] -name = "cargo-platform" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo_metadata" -version = "0.15.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a" -dependencies = [ - "camino", - "cargo-platform", - "semver", - "serde", - "serde_json", - "thiserror 1.0.69", -] - [[package]] name = "cbc" version = "0.1.2" @@ -1215,23 +1112,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "clap" -version = "3.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" -dependencies = [ - "atty", - "bitflags 1.3.2", - "clap_derive 3.2.25", - "clap_lex 0.2.4", - "indexmap 1.9.3", - "once_cell", - "strsim 0.10.0", - "termcolor", - "textwrap", -] - [[package]] name = "clap" version = "4.5.53" @@ -1239,7 +1119,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9e340e012a1bf4935f5282ed1436d1489548e8f72308207ea5df0e23d2d03f8" dependencies = [ "clap_builder", - "clap_derive 4.5.49", + "clap_derive", ] [[package]] @@ -1250,21 +1130,8 @@ checksum = "d76b5d13eaa18c901fd2f7fca939fefe3a0727a953561fefdf3b2922b8569d00" dependencies = [ "anstream", "anstyle", - "clap_lex 0.7.6", - "strsim 0.11.1", -] - -[[package]] -name = "clap_derive" -version = "3.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008" -dependencies = [ - "heck 0.4.1", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", + "clap_lex", + "strsim", ] [[package]] @@ -1273,21 +1140,12 @@ version = "4.5.49" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a0b5487afeab2deb2ff4e03a807ad1a03ac532ff5a2cee5d86884440c7f7671" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro2", "quote", "syn 2.0.111", ] -[[package]] -name = "clap_lex" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" -dependencies = [ - "os_str_bytes", -] - [[package]] name = "clap_lex" version = "0.7.6" @@ -1647,7 +1505,7 @@ dependencies = [ "ident_case", "proc-macro2", "quote", - "strsim 0.11.1", + "strsim", "syn 2.0.111", ] @@ -2364,15 +2222,6 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" -[[package]] -name = "fs-err" -version = "2.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41" -dependencies = [ - "autocfg", -] - [[package]] name = "fs2" version = "0.4.3" @@ -2575,23 +2424,6 @@ dependencies = [ "rand_core 0.6.4", ] -[[package]] -name = "glob" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" - -[[package]] -name = "goblin" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d6b4de4a8eb6c46a8c77e1d3be942cb9a8bf073c22374578e5ba4b08ed0ff68" -dependencies = [ - "log", - "plain", - "scroll", -] - [[package]] name = "group" version = "0.13.0" @@ -2684,12 +2516,6 @@ dependencies = [ "hashbrown 0.15.5", ] -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - [[package]] name = "heck" version = "0.5.0" @@ -3538,7 +3364,7 @@ checksum = "73b122901b3a675fac8cecf68dcb2f0d3036193bc861d1ac0e1c337f7d5254c2" dependencies = [ "error-chain", "pkg-config", - "toml 0.2.1", + "toml", ] [[package]] @@ -3863,12 +3689,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "os_str_bytes" -version = "6.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" - [[package]] name = "owning_ref" version = "0.4.1" @@ -4023,7 +3843,7 @@ version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" dependencies = [ - "siphasher 1.0.1", + "siphasher", ] [[package]] @@ -4085,12 +3905,6 @@ version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" -[[package]] -name = "plain" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" - [[package]] name = "poly1305" version = "0.8.0" @@ -4208,30 +4022,6 @@ dependencies = [ "elliptic-curve", ] -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn 1.0.109", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - [[package]] name = "proc-macro2" version = "1.0.103" @@ -4257,7 +4047,7 @@ version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf" dependencies = [ - "heck 0.5.0", + "heck", "itertools", "log", "multimap", @@ -4683,26 +4473,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "scroll" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da" -dependencies = [ - "scroll_derive", -] - -[[package]] -name = "scroll_derive" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.111", -] - [[package]] name = "sec1" version = "0.7.3" @@ -4744,10 +4514,6 @@ name = "semver" version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" -dependencies = [ - "serde", - "serde_core", -] [[package]] name = "serde" @@ -4949,12 +4715,6 @@ dependencies = [ "actix-web", ] -[[package]] -name = "siphasher" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" - [[package]] name = "siphasher" version = "1.0.1" @@ -5102,7 +4862,7 @@ checksum = "19a9c1841124ac5a61741f96e1d9e2ec77424bf323962dd894bdb93f37d5219b" dependencies = [ "dotenvy", "either", - "heck 0.5.0", + "heck", "hex", "once_cell", "proc-macro2", @@ -5231,12 +4991,6 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - [[package]] name = "stringprep" version = "0.1.5" @@ -5248,12 +5002,6 @@ dependencies = [ "unicode-properties", ] -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - [[package]] name = "strsim" version = "0.11.1" @@ -5272,7 +5020,7 @@ version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7695ce3845ea4b33927c055a39dc438a45b059f7c1b3d91d38d10355fb8cbca7" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro2", "quote", "syn 2.0.111", @@ -5440,12 +5188,6 @@ dependencies = [ "uuid", ] -[[package]] -name = "textwrap" -version = "0.16.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057" - [[package]] name = "thiserror" version = "1.0.69" @@ -5635,15 +5377,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "736b60249cb25337bc196faa43ee12c705e426f3d55c214d73a4e7be06f92cb4" -[[package]] -name = "toml" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" -dependencies = [ - "serde", -] - [[package]] name = "tonic" version = "0.12.3" @@ -5878,148 +5611,6 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" -[[package]] -name = "uniffi" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f71cc01459bc34cfe43fabf32b39f1228709bc6db1b3a664a92940af3d062376" -dependencies = [ - "anyhow", - "camino", - "clap 3.2.25", - "uniffi_bindgen", - "uniffi_build", - "uniffi_core", - "uniffi_macros", -] - -[[package]] -name = "uniffi_aries_vcx" -version = "0.67.0" -dependencies = [ - "android_logger", - "aries_vcx", - "aries_vcx_anoncreds", - "aries_vcx_ledger", - "async-trait", - "did_parser_nom", - "indy-vdr", - "log", - "once_cell", - "serde_json", - "shared", - "thiserror 2.0.17", - "tokio", - "uniffi", - "url", -] - -[[package]] -name = "uniffi_bindgen" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbbba5103051c18f10b22f80a74439ddf7100273f217a547005d2735b2498994" -dependencies = [ - "anyhow", - "askama", - "bincode", - "camino", - "fs-err", - "glob", - "goblin", - "heck 0.4.1", - "once_cell", - "paste", - "serde", - "serde_json", - "toml 0.5.11", - "uniffi_meta", - "uniffi_testing", - "weedle2", -] - -[[package]] -name = "uniffi_build" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ee1a28368ff3d83717e3d3e2e15a66269c43488c3f036914131bb68892f29fb" -dependencies = [ - "anyhow", - "camino", - "uniffi_bindgen", -] - -[[package]] -name = "uniffi_checksum_derive" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03de61393a42b4ad4984a3763c0600594ac3e57e5aaa1d05cede933958987c03" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "uniffi_core" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2b4852d638d74ca2d70e450475efb6d91fe6d54a7cd8d6bd80ad2ee6cd7daa" -dependencies = [ - "anyhow", - "bytes", - "camino", - "cargo_metadata", - "log", - "once_cell", - "paste", - "static_assertions", -] - -[[package]] -name = "uniffi_macros" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa03394de21e759e0022f1ea8d992d2e39290d735b9ed52b1f74b20a684f794e" -dependencies = [ - "bincode", - "camino", - "fs-err", - "once_cell", - "proc-macro2", - "quote", - "serde", - "syn 1.0.109", - "toml 0.5.11", - "uniffi_build", - "uniffi_meta", -] - -[[package]] -name = "uniffi_meta" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66fdab2c436aed7a6391bec64204ec33948bfed9b11b303235740771f85c4ea6" -dependencies = [ - "serde", - "siphasher 0.3.11", - "uniffi_checksum_derive", -] - -[[package]] -name = "uniffi_testing" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92b0570953ec41d97ce23e3b92161ac18231670a1f97523258a6d2ab76d7f76c" -dependencies = [ - "anyhow", - "camino", - "cargo_metadata", - "fs-err", - "once_cell", - "serde", - "serde_json", -] - [[package]] name = "uniresid" version = "0.1.5" @@ -6217,15 +5808,6 @@ dependencies = [ "rustls-pki-types", ] -[[package]] -name = "weedle2" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e79c5206e1f43a2306fd64bdb95025ee4228960f2e6c5a8b173f3caaf807741" -dependencies = [ - "nom", -] - [[package]] name = "whoami" version = "1.6.1" diff --git a/Cargo.toml b/Cargo.toml index 166157ea7a..bd8a926208 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,7 +11,6 @@ members = [ "aries/agents/mediator/client-tui", "aries/agents/aries-vcx-agent", "aries/agents/aath-backchannel", - "aries/wrappers/uniffi-aries-vcx/core", "aries/aries_vcx_anoncreds", "aries/aries_vcx_wallet", "aries/aries_vcx_ledger", @@ -152,7 +151,6 @@ prost-types = "0.13.3" # common dev mockall = "0.13.1" env_logger = "0.11.6" -uniffi = "0.23.0" pretty_assertions = "1.4.0" dotenvy = "0.15" serde_test = "1.0.176" diff --git a/aries/README.md b/aries/README.md index 4ae7cef009..f53013054d 100644 --- a/aries/README.md +++ b/aries/README.md @@ -7,8 +7,3 @@ - [`aries_vcx_core`](aries_vcx_core) - Interfaces for interaction with ledgers, wallets and credentials. - [`aries-vcx-agent`](agents/rust/aries-vcx-agent) - simple aries agent framework built on top of `aries_vcx` library. Not intended for production use. A new Aries VCX Framework is in development to provide simple, easy to use, and production ready functions for use. - [`mediator`](agents/rust/mediator) - Aries message mediator service - -## Aries mobile 📱 components - -- [`uniffi-aries-vcx`](wrappers/uniffi-aries-vcx) - UniFFI wrapper for `aries_vcx`. -- [`mobile-demo`](agents/mobile_demo/) - Sample Android App using UniFFI wrapper. diff --git a/aries/agents/README.md b/aries/agents/README.md index 42e95a2ae1..a6da700ee6 100644 --- a/aries/agents/README.md +++ b/aries/agents/README.md @@ -4,4 +4,3 @@ This directory contains some of Rust agents built on top of the `aries_vcx` crat - [`aries-vcx-agent`](./aries-vcx-agent) - aries agent library used to build our cross-framework testing [backchannel](https://github.com/openwallet-foundation/owl-agent-test-harness/tree/main/aries-backchannels/aries-vcx). Not intended for production use. A new VCX Framework is in development to provide simple, easy to use, and production ready functions for use. - [`mediator`](./mediator) - didcomm mediator service -- [`mobile-demo`](./mobile_demo) - android mobile app demo created using UniFFI bindings for aries-vcx library diff --git a/aries/agents/aath-backchannel/src/controllers/connection.rs b/aries/agents/aath-backchannel/src/controllers/connection.rs index b85947656e..e8bcdd4eb2 100644 --- a/aries/agents/aath-backchannel/src/controllers/connection.rs +++ b/aries/agents/aath-backchannel/src/controllers/connection.rs @@ -154,7 +154,7 @@ pub async fn get_connection_state( .unwrap() .get_connection_state(&path.into_inner()) .await; - info!("Connection state: {:?}", connection_state); + info!("Connection state: {connection_state:?}"); connection_state } diff --git a/aries/agents/aath-backchannel/src/controllers/credential_definition.rs b/aries/agents/aath-backchannel/src/controllers/credential_definition.rs index 54e2605e03..6806ae7f5c 100644 --- a/aries/agents/aath-backchannel/src/controllers/credential_definition.rs +++ b/aries/agents/aath-backchannel/src/controllers/credential_definition.rs @@ -21,7 +21,7 @@ pub struct CredentialDefinition { } async fn upload_tails_file(tails_url: &str, tails_file: &str) -> HarnessResult<()> { - info!("Going to upload tails file {} to {}", tails_file, tails_url); + info!("Going to upload tails file {tails_file} to {tails_url}"); let client = reqwest::Client::new(); let genesis_file = std::env::var("GENESIS_FILE").unwrap_or( std::env::current_dir() @@ -79,7 +79,7 @@ impl HarnessAgent { .rev_regs() .create_rev_reg(&CredentialDefinitionId::new(cred_def_id.clone())?, 50) .await?; - let tails_url = format!("{}/{}", tails_base_url, rev_reg_id); + let tails_url = format!("{tails_base_url}/{rev_reg_id}"); self.aries_agent .rev_regs() .publish_rev_reg(&rev_reg_id, &tails_url) diff --git a/aries/agents/aath-backchannel/src/controllers/did_exchange.rs b/aries/agents/aath-backchannel/src/controllers/did_exchange.rs index 41337c19c8..9a8b0c0c84 100644 --- a/aries/agents/aath-backchannel/src/controllers/did_exchange.rs +++ b/aries/agents/aath-backchannel/src/controllers/did_exchange.rs @@ -66,8 +66,7 @@ impl HarnessAgent { recipient_verkey: String, ) -> HarnessResult<()> { info!( - "queue_didexchange_request >> request: {:?} for recipient {}", - request, recipient_verkey + "queue_didexchange_request >> request: {request:?} for recipient {recipient_verkey}" ); let thid = request @@ -167,8 +166,7 @@ impl HarnessAgent { // from invitation) That's why we need pthid -> thid translation on AATH layer. fn store_mapping_pthid_thid(&self, pthid: String, thid: String) { info!( - "store_mapping_pthid_thid >> pthid: {}, thid: {}", - pthid, thid + "store_mapping_pthid_thid >> pthid: {pthid}, thid: {thid}" ); self.didx_pthid_to_thid .lock() @@ -257,8 +255,7 @@ impl HarnessAgent { let thid = match self.didx_pthid_to_thid.lock().unwrap().get(connection_id) { Some(thid) => { debug!( - "didx_get_state >> connection_id {} (pthid) was mapped to {} (thid)", - connection_id, thid + "didx_get_state >> connection_id {connection_id} (pthid) was mapped to {thid} (thid)" ); thid.clone() // connection_id was in fact pthread_id, mapping pthid -> thid exists } diff --git a/aries/agents/aath-backchannel/src/controllers/didcomm.rs b/aries/agents/aath-backchannel/src/controllers/didcomm.rs index 5596076678..51aceee691 100644 --- a/aries/agents/aath-backchannel/src/controllers/didcomm.rs +++ b/aries/agents/aath-backchannel/src/controllers/didcomm.rs @@ -67,7 +67,7 @@ impl HarnessAgent { .await?; } m => { - warn!("Received unexpected connection protocol message: {:?}", m); + warn!("Received unexpected connection protocol message: {m:?}"); } }; Ok(()) @@ -121,7 +121,7 @@ impl HarnessAgent { .await?; } m => { - warn!("Received unexpected issuance protocol message: {:?}", m); + warn!("Received unexpected issuance protocol message: {m:?}"); } }; Ok(()) @@ -160,7 +160,7 @@ impl HarnessAgent { } m => { // todo: use {} display formatter - warn!("Received unexpected presentation protocol message: {:?}", m); + warn!("Received unexpected presentation protocol message: {m:?}"); } }; Ok(()) @@ -185,7 +185,7 @@ impl HarnessAgent { .handle_msg_response(response.into()) .await; if let Err(err) = res { - error!("Error sending complete: {:?}", err); + error!("Error sending complete: {err:?}"); }; } DidExchange::V1_1(DidExchangeV1_1::Response(response)) => { @@ -195,7 +195,7 @@ impl HarnessAgent { .handle_msg_response(response.into()) .await; if let Err(err) = res { - error!("Error sending complete: {:?}", err); + error!("Error sending complete: {err:?}"); }; } DidExchange::V1_0(DidExchangeV1_0::Complete(complete)) @@ -228,7 +228,7 @@ impl HarnessAgent { ) })?; - info!("Received message: {}", message); + info!("Received message: {message}"); match message { AriesMessage::Notification(msg) => { match msg { @@ -239,7 +239,7 @@ impl HarnessAgent { .await?; } Notification::ProblemReport(err) => { - error!("Received problem report: {:?}", err); + error!("Received problem report: {err:?}"); // todo: we should reflect this in the status of connection so aath won't // keep polling } @@ -275,7 +275,7 @@ impl HarnessAgent { self.handle_presentation_msg(msg, &connection_id).await? } m => { - warn!("Received message of unexpected type: {}", m); + warn!("Received message of unexpected type: {m}"); } }; Ok(HttpResponse::Ok().finish()) diff --git a/aries/agents/aath-backchannel/src/controllers/general.rs b/aries/agents/aath-backchannel/src/controllers/general.rs index 0007af8a6c..d24d93ad2d 100644 --- a/aries/agents/aath-backchannel/src/controllers/general.rs +++ b/aries/agents/aath-backchannel/src/controllers/general.rs @@ -41,7 +41,7 @@ pub async fn get_start( agent: web::Data>, payload: web::Json, ) -> impl Responder { - info!("Payload: {:?}", payload); + info!("Payload: {payload:?}"); HttpResponse::Ok().body(agent.read().unwrap().get_start().unwrap()) } diff --git a/aries/agents/aath-backchannel/src/controllers/issuance.rs b/aries/agents/aath-backchannel/src/controllers/issuance.rs index 34a27d5a03..2725b224fd 100644 --- a/aries/agents/aath-backchannel/src/controllers/issuance.rs +++ b/aries/agents/aath-backchannel/src/controllers/issuance.rs @@ -89,11 +89,10 @@ async fn download_tails_file( tails_hash: &str, ) -> HarnessResult<()> { info!( - "issuance::download_tails_file >> tails_base_url: {:?}, rev_reg_id: {:?}, tails_hash: {:?}", - tails_base_url, rev_reg_id, tails_hash + "issuance::download_tails_file >> tails_base_url: {tails_base_url:?}, rev_reg_id: {rev_reg_id:?}, tails_hash: {tails_hash:?}" ); let url = match tails_base_url.to_string().matches('/').count() { - 0 => format!("{}/{}", tails_base_url, rev_reg_id), + 0 => format!("{tails_base_url}/{rev_reg_id}"), 1.. => tails_base_url.to_string(), }; let client = reqwest::Client::new(); @@ -146,14 +145,14 @@ impl HarnessAgent { .send_credential_proposal(&cred_proposal.connection_id, proposal_data) .await?; let state = to_backchannel_state_holder(self.aries_agent.holder().get_state(&id)?); - info!("issuance::send_credential_proposal << id: {:?}", id); + info!("issuance::send_credential_proposal << id: {id:?}"); // todo: we are not saving (or creating) the holder Ok(json!({ "state": state, "thread_id": id }).to_string()) } pub async fn send_credential_request(&self, thread_id: &str) -> HarnessResult { - info!("issuance::send_credential_request >> id: {:?}", thread_id); + info!("issuance::send_credential_request >> id: {thread_id:?}"); self.aries_agent .holder() .send_credential_request(thread_id) @@ -168,8 +167,7 @@ impl HarnessAgent { thread_id: &str, ) -> HarnessResult { info!( - "issuance::send_credential_offer >> cred_offer: {}, thread_id: {}", - cred_offer, thread_id + "issuance::send_credential_offer >> cred_offer: {cred_offer}, thread_id: {thread_id}" ); let get_tails_rev_id = |cred_def_id: &str| -> HarnessResult<(Option, Option)> { @@ -200,8 +198,7 @@ impl HarnessAgent { serde_json::to_string(&cred_offer.credential_preview.0.attributes)?; info!( "issuance::send_credential_offer >> no thread_id provided, this offer initiates \ - new didcomm conversation, using credential_preview: {:?}", - credential_preview + new didcomm conversation, using credential_preview: {credential_preview:?}" ); let (tails_file, rev_reg_id) = get_tails_rev_id(&cred_offer.cred_def_id)?; ( @@ -217,8 +214,7 @@ impl HarnessAgent { let proposal = self.aries_agent.issuer().get_proposal(thread_id)?; info!( "issuance::send_credential_offer >> thread_id is available, this offer will be \ - built based on previous proposal: {:?}", - proposal + built based on previous proposal: {proposal:?}" ); let (tails_file, rev_reg_id) = get_tails_rev_id(&proposal.content.cred_def_id)?; ( @@ -235,8 +231,7 @@ impl HarnessAgent { ) }; info!( - "issuance::send_credential_offer >> offer_info: {:?}", - offer_info + "issuance::send_credential_offer >> offer_info: {offer_info:?}" ); let id = self .aries_agent @@ -252,14 +247,14 @@ impl HarnessAgent { id: &str, _credential: &Credential, ) -> HarnessResult { - info!("issuance::issue_credential >> id: {:?}", id); + info!("issuance::issue_credential >> id: {id:?}"); self.aries_agent.issuer().send_credential(id).await?; let state = to_backchannel_state_issuer(self.aries_agent.issuer().get_state(id)?); Ok(json!({ "state": state }).to_string()) } pub async fn store_credential(&self, id: &str) -> HarnessResult { - info!("issuance::store_credential >> id: {:?}", id); + info!("issuance::store_credential >> id: {id:?}"); let state = self.aries_agent.holder().get_state(id)?; if self.aries_agent.holder().is_revokable(id).await? { let rev_reg_id = self.aries_agent.holder().get_rev_reg_id(id).await?; @@ -271,7 +266,7 @@ impl HarnessAgent { } pub async fn get_issuer_state(&self, id: &str) -> HarnessResult { - info!("issuance::get_issuer_state >> id: {:?}", id); + info!("issuance::get_issuer_state >> id: {id:?}"); let state = if self.aries_agent.issuer().exists_by_id(id) { to_backchannel_state_issuer(self.aries_agent.issuer().get_state(id)?) } else if self.aries_agent.holder().exists_by_id(id) { diff --git a/aries/agents/aath-backchannel/src/controllers/out_of_band.rs b/aries/agents/aath-backchannel/src/controllers/out_of_band.rs index ee04aa9f4b..579cbffae4 100644 --- a/aries/agents/aath-backchannel/src/controllers/out_of_band.rs +++ b/aries/agents/aath-backchannel/src/controllers/out_of_band.rs @@ -12,12 +12,12 @@ use crate::{ impl HarnessAgent { pub async fn create_oob_invitation(&self) -> HarnessResult { let invitation = self.aries_agent.out_of_band().create_invitation().await?; - info!("Created out-of-band invitation: {}", invitation); + info!("Created out-of-band invitation: {invitation}"); Ok(json!({ "invitation": invitation, "state": "invitation-sent" }).to_string()) } pub async fn receive_oob_invitation(&self, invitation: AriesMessage) -> HarnessResult { - info!("Received out-of-band invitation: {}", invitation); + info!("Received out-of-band invitation: {invitation}"); let id = self .aries_agent .out_of_band() diff --git a/aries/agents/aath-backchannel/src/controllers/schema.rs b/aries/agents/aath-backchannel/src/controllers/schema.rs index 94239b877c..3f1cf5bec0 100644 --- a/aries/agents/aath-backchannel/src/controllers/schema.rs +++ b/aries/agents/aath-backchannel/src/controllers/schema.rs @@ -23,7 +23,7 @@ impl HarnessAgent { schema_version, .. } = &schema; - format!("{}:2:{}:{}", did, schema_name, schema_version) + format!("{did}:2:{schema_name}:{schema_version}") } async fn schema_published(&self, id: &str) -> bool { diff --git a/aries/agents/aath-backchannel/src/error.rs b/aries/agents/aath-backchannel/src/error.rs index 97f4a932cc..75cb6be45d 100644 --- a/aries/agents/aath-backchannel/src/error.rs +++ b/aries/agents/aath-backchannel/src/error.rs @@ -39,7 +39,7 @@ pub struct HarnessError { impl error::ResponseError for HarnessError { fn error_response(&self) -> HttpResponse { - error!("{}", self.to_string()); + error!("{self}"); HttpResponseBuilder::new(self.status_code()).body(self.to_string()) } @@ -96,7 +96,7 @@ impl std::convert::From for HarnessError { fn from(serde_err: serde_json::Error) -> HarnessError { let kind = HarnessErrorType::InternalServerError; - let message = format!("(De)serialization failed; err: {}", serde_err); + let message = format!("(De)serialization failed; err: {serde_err}"); HarnessError { message, kind } } } @@ -104,7 +104,7 @@ impl std::convert::From for HarnessError { impl std::convert::From for HarnessError { fn from(io_err: std::io::Error) -> HarnessError { let kind = HarnessErrorType::InternalServerError; - let message = format!("I/O error: {}", io_err); + let message = format!("I/O error: {io_err}"); HarnessError { message, kind } } } @@ -112,7 +112,7 @@ impl std::convert::From for HarnessError { impl std::convert::From for HarnessError { fn from(rw_err: reqwest::Error) -> HarnessError { let kind = HarnessErrorType::InternalServerError; - let message = format!("Reqwest error: {}", rw_err); + let message = format!("Reqwest error: {rw_err}"); HarnessError { message, kind } } } @@ -120,7 +120,7 @@ impl std::convert::From for HarnessError { impl std::convert::From for HarnessError { fn from(err: AgentError) -> HarnessError { let kind = HarnessErrorType::InternalServerError; - let message = format!("AgentError: {}", err); + let message = format!("AgentError: {err}"); HarnessError { message, kind } } } @@ -128,7 +128,7 @@ impl std::convert::From for HarnessError { impl std::convert::From for HarnessError { fn from(err: MsgTypeError) -> HarnessError { let kind = HarnessErrorType::InternalServerError; - let message = format!("MsgTypeError: {}", err); + let message = format!("MsgTypeError: {err}"); HarnessError { message, kind } } } @@ -136,7 +136,7 @@ impl std::convert::From for HarnessError { impl std::convert::From for HarnessError { fn from(err: ParseError) -> HarnessError { let kind = HarnessErrorType::InternalServerError; - let message = format!("MsgTypeError: {}", err); + let message = format!("MsgTypeError: {err}"); HarnessError { message, kind } } } @@ -144,7 +144,7 @@ impl std::convert::From for HarnessError { impl std::convert::From for HarnessError { fn from(err: anoncreds_types::Error) -> HarnessError { let kind = HarnessErrorType::InternalServerError; - let message = format!("MsgTypeError: {}", err); + let message = format!("MsgTypeError: {err}"); HarnessError { message, kind } } } diff --git a/aries/agents/aath-backchannel/src/setup.rs b/aries/agents/aath-backchannel/src/setup.rs index 944da02dd9..1111d7b617 100644 --- a/aries/agents/aath-backchannel/src/setup.rs +++ b/aries/agents/aath-backchannel/src/setup.rs @@ -22,7 +22,7 @@ struct WriterSeed { /// If not available, then default to using the local ledger Trustee seed. async fn get_writer_seed() -> WriterSeed { if let Ok(ledger_url) = std::env::var("LEDGER_URL") { - let url = format!("{}/register", ledger_url); + let url = format!("{ledger_url}/register"); let mut rng = rng(); let client = reqwest::Client::new(); let body = json!({ @@ -56,16 +56,16 @@ async fn download_genesis_file() -> std::result::Result { match std::env::var("GENESIS_FILE").ok() { Some(genesis_file) => { if !std::path::Path::new(&genesis_file).exists() { - Err(format!("The file {} does not exist", genesis_file)) + Err(format!("The file {genesis_file} does not exist")) } else { - info!("Using genesis file {}", genesis_file); + info!("Using genesis file {genesis_file}"); Ok(genesis_file) } } None => match std::env::var("LEDGER_URL").ok() { Some(ledger_url) => { - info!("Downloading genesis file from {}", ledger_url); - let genesis_url = format!("{}/genesis", ledger_url); + info!("Downloading genesis file from {ledger_url}"); + let genesis_url = format!("{ledger_url}/genesis"); let body = reqwest::get(&genesis_url) .await .expect("Failed to get genesis file from ledger") @@ -76,7 +76,7 @@ async fn download_genesis_file() -> std::result::Result { .expect("Failed to obtain the current directory path") .join("resource") .join("genesis_file.txn"); - info!("Storing genesis file to {:?}", path); + info!("Storing genesis file to {path:?}"); let mut f = std::fs::OpenOptions::new() .write(true) .create(true) @@ -84,7 +84,7 @@ async fn download_genesis_file() -> std::result::Result { .open(path.clone()) .expect("Unable to open file"); f.write_all(body.as_bytes()).expect("Unable to write data"); - debug!("Genesis file downloaded and saved to {:?}", path); + debug!("Genesis file downloaded and saved to {path:?}"); path.to_str() .map(|s| s.to_string()) .ok_or("Failed to convert genesis file path to string".to_string()) @@ -106,7 +106,7 @@ pub async fn initialize(port: u32) -> AriesAgent { .await .expect("Failed to download the genesis file"); let dockerhost = std::env::var("DOCKERHOST").unwrap_or("localhost".to_string()); - let service_endpoint = Url::parse(&format!("http://{}:{}/didcomm", dockerhost, port)).unwrap(); + let service_endpoint = Url::parse(&format!("http://{dockerhost}:{port}/didcomm")).unwrap(); let wallet_config = WalletInitConfig { wallet_name: format!("rust_agent_{}", uuid::Uuid::new_v4()), diff --git a/aries/agents/aries-vcx-agent/src/agent/init.rs b/aries/agents/aries-vcx-agent/src/agent/init.rs index 01e0a39af5..9e64a53e34 100644 --- a/aries/agents/aries-vcx-agent/src/agent/init.rs +++ b/aries/agents/aries-vcx-agent/src/agent/init.rs @@ -105,8 +105,7 @@ impl Agent { .set_types(Some(vec![ServiceType::DIDCommV1.to_string()])); write_endpoint(wallet.as_ref(), &ledger_write, &public_did, &endpoint).await?; info!( - "Agent::setup_ledger >> wrote data on ledger, public_did: {}, endpoint: {}", - public_did, service_endpoint + "Agent::setup_ledger >> wrote data on ledger, public_did: {public_did}, endpoint: {service_endpoint}" ); Ok(public_did) } diff --git a/aries/agents/aries-vcx-agent/src/error/convertors.rs b/aries/agents/aries-vcx-agent/src/error/convertors.rs index 6786035a57..596889f7cc 100644 --- a/aries/agents/aries-vcx-agent/src/error/convertors.rs +++ b/aries/agents/aries-vcx-agent/src/error/convertors.rs @@ -16,8 +16,8 @@ impl From for AgentError { AriesVcxErrorKind::CredDefAlreadyCreated => AgentErrorKind::CredDefAlreadyCreated, _ => AgentErrorKind::GenericAriesVcxError, }; - error!("AriesVCX Error: {}", err.to_string()); - let message = format!("AriesVCX Error: {}", err); + error!("AriesVCX Error: {err}"); + let message = format!("AriesVCX Error: {err}"); AgentError { message, kind } } } diff --git a/aries/agents/aries-vcx-agent/src/handlers/connection.rs b/aries/agents/aries-vcx-agent/src/handlers/connection.rs index ca667bb886..b3d4c8de6b 100644 --- a/aries/agents/aries-vcx-agent/src/handlers/connection.rs +++ b/aries/agents/aries-vcx-agent/src/handlers/connection.rs @@ -57,8 +57,7 @@ impl ServiceConnections { let connection = self.get_by_id(connection_id)?; let wallet = self.wallet.as_ref(); info!( - "Sending message to connection identified by id {}. Plaintext message payload: {}", - connection_id, message + "Sending message to connection identified by id {connection_id}. Plaintext message payload: {message}" ); connection .send_message(wallet, message, &VcxHttpClient) @@ -116,8 +115,7 @@ impl ServiceConnections { s => Err(AgentError::from_msg( AgentErrorKind::GenericAriesVcxError, &format!( - "Connection with handle {} cannot process a request; State: {:?}", - thread_id, s + "Connection with handle {thread_id} cannot process a request; State: {s:?}" ), )), }?; @@ -199,8 +197,7 @@ impl ServiceConnections { return Err(AgentError::from_msg( AgentErrorKind::GenericAriesVcxError, &format!( - "Connection with handle {} cannot process a trust ping; State: {:?}", - connection_id, s + "Connection with handle {connection_id} cannot process a trust ping; State: {s:?}" ), )) } @@ -242,14 +239,13 @@ impl ServiceConnections { return Err(AgentError::from_msg( AgentErrorKind::InvalidState, &format!( - "Found multiple connections by sender's verkey {}", - sender_vk + "Found multiple connections by sender's verkey {sender_vk}" ), )); } conns.into_iter().next().ok_or(AgentError::from_msg( AgentErrorKind::InvalidState, - &format!("Found no connections by sender's verkey {}", sender_vk), + &format!("Found no connections by sender's verkey {sender_vk}"), )) } diff --git a/aries/agents/aries-vcx-agent/src/handlers/did_exchange.rs b/aries/agents/aries-vcx-agent/src/handlers/did_exchange.rs index 101b508110..0621c39d90 100644 --- a/aries/agents/aries-vcx-agent/src/handlers/did_exchange.rs +++ b/aries/agents/aries-vcx-agent/src/handlers/did_exchange.rs @@ -88,7 +88,7 @@ impl DidcommHandlerDidExchange { // /agent/command/did-exchange/{id} where {id} is actually {pthid}. // We should have internal strategy to manage threads ourselves, and build necessary // extensions/mappings/accommodations in AATH backchannel - warn!("send_request >>> request: {:?}", request); + warn!("send_request >>> request: {request:?}"); let req_thread = request.inner().decorators.thread.as_ref().ok_or_else(|| { AgentError::from_msg( AgentErrorKind::InvalidState, @@ -186,7 +186,7 @@ impl DidcommHandlerDidExchange { // todo: perhaps injectable transports? Or just return the message let the caller send it? // The transports abstraction could understand https, wss, didcomm etc. pub async fn send_response(&self, thid: String) -> AgentResult { - info!("ServiceDidExchange::send_response >>> thid: {}", thid); + info!("ServiceDidExchange::send_response >>> thid: {thid}"); let (responder, aries_msg) = self.did_exchange.get(&thid)?; let aries_msg: AriesMessage = aries_msg.unwrap(); debug!( @@ -301,7 +301,7 @@ pub async fn pairwise_encrypt( .map_err(|err| { AgentError::from_msg( AgentErrorKind::InvalidState, - &format!("Failed to pairwise encrypt message due err: {}", err), + &format!("Failed to pairwise encrypt message due err: {err}"), ) }) } diff --git a/aries/agents/aries-vcx-agent/src/handlers/issuer.rs b/aries/agents/aries-vcx-agent/src/handlers/issuer.rs index 50238216fa..1814add521 100644 --- a/aries/agents/aries-vcx-agent/src/handlers/issuer.rs +++ b/aries/agents/aries-vcx-agent/src/handlers/issuer.rs @@ -77,8 +77,7 @@ impl ServiceCredentialsIssuer { self.creds_issuer .insert(&thread_id, IssuerWrapper::new(issuer, connection_id))?; info!( - "Created new IssuerCredential with resource id: {}", - thread_id + "Created new IssuerCredential with resource id: {thread_id}" ); Ok(thread_id) } diff --git a/aries/agents/aries-vcx-agent/src/storage/agent_storage_inmem.rs b/aries/agents/aries-vcx-agent/src/storage/agent_storage_inmem.rs index 44dbcd07c0..9a97670c21 100644 --- a/aries/agents/aries-vcx-agent/src/storage/agent_storage_inmem.rs +++ b/aries/agents/aries-vcx-agent/src/storage/agent_storage_inmem.rs @@ -43,7 +43,7 @@ where match self.store.write() { Ok(g) => Ok(g), Err(e) => { - error!("Unable to write-lock Object Store: {:?}", e); + error!("Unable to write-lock Object Store: {e:?}"); Err(AgentError::from_msg( AgentErrorKind::LockError, &format!( diff --git a/aries/agents/mediator/client-tui/src/tui.rs b/aries/agents/mediator/client-tui/src/tui.rs index 5670abc450..342efab3f6 100644 --- a/aries/agents/mediator/client-tui/src/tui.rs +++ b/aries/agents/mediator/client-tui/src/tui.rs @@ -88,19 +88,19 @@ pub fn client_register_connect_cb("oob_text_area").unwrap(); let mut output = s.find_name::("client_register_result").unwrap(); let oob_text = oob_text_area.get_content(); - info!("{:#?}", oob_text); + info!("{oob_text:#?}"); let oob_invite = match serde_json::from_str::(oob_text) { Ok(oob_invite) => oob_invite, Err(err) => { - output.set_content(format!("{:?}", err)); + output.set_content(format!("{err:?}")); return; } }; - info!("{:#?}", oob_invite); + info!("{oob_invite:#?}"); let agent: &mut Arc> = s.user_data().expect("Userdata should contain Agent"); - output.set_content(format!("{:#?}", oob_invite)); + output.set_content(format!("{oob_invite:#?}")); match block_on(handle_register(agent.to_owned(), oob_invite)) { Ok(res_json) => output.set_content(serde_json::to_string_pretty(&res_json).unwrap()), Err(err) => output.set_content(err), diff --git a/aries/agents/mediator/src/aries_agent/client/mod.rs b/aries/agents/mediator/src/aries_agent/client/mod.rs index 14e240500a..faae1bf9bc 100644 --- a/aries/agents/mediator/src/aries_agent/client/mod.rs +++ b/aries/agents/mediator/src/aries_agent/client/mod.rs @@ -62,7 +62,7 @@ impl Agent { .unwrap(); // Extract the actual connection request message to be sent let msg_connection_request = client_conn.get_request().clone(); - info!("Client Connection Request: {:#?}", msg_connection_request); + info!("Client Connection Request: {msg_connection_request:#?}"); let req_msg = client_conn.get_request(); debug!( "Connection Request: {},", @@ -140,7 +140,7 @@ impl Agent { let AriesMessage::Connection(Connection::Response(connection_response)) = response_message else { return Err(GenericStringError { - msg: format!("Expected connection response, got {:?}", response_message), + msg: format!("Expected connection response, got {response_message:?}"), } .into()); }; diff --git a/aries/agents/mediator/src/aries_agent/client/transports.rs b/aries/agents/mediator/src/aries_agent/client/transports.rs index b5b22be9cd..b4a303deab 100644 --- a/aries/agents/mediator/src/aries_agent/client/transports.rs +++ b/aries/agents/mediator/src/aries_agent/client/transports.rs @@ -53,7 +53,7 @@ impl AriesTransport for reqwest::Client { .json() .await .map_err(AriesTransportError::from_std_error)?; - debug!("Received response envelope {:?}", res_json); + debug!("Received response envelope {res_json:?}"); Ok(res_json) } } diff --git a/aries/agents/mediator/src/aries_agent/mod.rs b/aries/agents/mediator/src/aries_agent/mod.rs index 2b1312bfea..98c66b4ccc 100644 --- a/aries/agents/mediator/src/aries_agent/mod.rs +++ b/aries/agents/mediator/src/aries_agent/mod.rs @@ -124,7 +124,7 @@ impl Agent { .unpack_message(didcomm_msg) .await .expect("Valid didcomm?"); - info!("{:#?}", unpacked); + info!("{unpacked:#?}"); Ok(unpacked) } @@ -164,7 +164,7 @@ impl Agent { request: Request, ) -> Result { if let Err(err) = request.content.connection.did_doc.validate() { - return Err(format!("Request DidDoc validation failed! {:?}", err)); + return Err(format!("Request DidDoc validation failed! {err:?}")); } let thread_id = request @@ -267,7 +267,7 @@ mod test { .await .unwrap(); let unpacked = agent.unpack_didcomm(&packed).await.unwrap(); - info!("{:?}", unpacked); - print!("{:?}", unpacked); + info!("{unpacked:?}"); + print!("{unpacked:?}"); } } diff --git a/aries/agents/mediator/src/bin/mediator.rs b/aries/agents/mediator/src/bin/mediator.rs index 05734c6db2..ab26233311 100644 --- a/aries/agents/mediator/src/bin/mediator.rs +++ b/aries/agents/mediator/src/bin/mediator.rs @@ -11,7 +11,7 @@ async fn main() { setup_logging(); info!("Starting up mediator! ⚙️⚙️"); let endpoint_root = std::env::var("ENDPOINT_ROOT").unwrap_or("127.0.0.1:8005".into()); - info!("Mediator endpoint root address: {}", endpoint_root); + info!("Mediator endpoint root address: {endpoint_root}"); // default wallet config for a dummy in-memory wallet let default_wallet_config = AskarWalletConfig::new( "sqlite://:memory:", @@ -25,7 +25,7 @@ async fn main() { .map_or(default_wallet_config, |json| { serde_json::from_str(&json).unwrap() }); - info!("Wallet Config: {:?}", wallet_config); + info!("Wallet Config: {wallet_config:?}"); let mut agent = AgentBuilder::::new_from_wallet_config(wallet_config) .await .unwrap(); diff --git a/aries/agents/mediator/src/didcomm_handlers/forward.rs b/aries/agents/mediator/src/didcomm_handlers/forward.rs index 4d4cdbd9d9..8ae7495fbe 100644 --- a/aries/agents/mediator/src/didcomm_handlers/forward.rs +++ b/aries/agents/mediator/src/didcomm_handlers/forward.rs @@ -8,7 +8,7 @@ pub async fn handle_routing_forward( agent: ArcAgent, forward: Forward, ) -> Result { - info!("{:?}", forward); + info!("{forward:?}"); let ack = handle_forward(agent.get_persistence_ref(), forward).await; Ok(ack) diff --git a/aries/agents/mediator/src/didcomm_handlers/mod.rs b/aries/agents/mediator/src/didcomm_handlers/mod.rs index 1eff01104d..54e16e40c1 100644 --- a/aries/agents/mediator/src/didcomm_handlers/mod.rs +++ b/aries/agents/mediator/src/didcomm_handlers/mod.rs @@ -24,7 +24,7 @@ enum GeneralAriesMessage { AriesVCXSupported(AriesMessage), } pub fn unhandled_aries_message(message: impl Debug) -> String { - format!("Don't know how to handle this message type {:#?}", message) + format!("Don't know how to handle this message type {message:#?}") } pub async fn handle_aries( diff --git a/aries/agents/mediator/src/mediation/forward.rs b/aries/agents/mediator/src/mediation/forward.rs index 4981fcfcab..a3548e182a 100644 --- a/aries/agents/mediator/src/mediation/forward.rs +++ b/aries/agents/mediator/src/mediation/forward.rs @@ -33,7 +33,7 @@ where AckStatus::Ok } Err(e) => { - info!("Error when persisting forward: {}", e); + info!("Error when persisting forward: {e}"); AckStatus::Pending } }; diff --git a/aries/agents/mediator/src/persistence/database/mysql.rs b/aries/agents/mediator/src/persistence/database/mysql.rs index d395d80018..512bcb5732 100644 --- a/aries/agents/mediator/src/persistence/database/mysql.rs +++ b/aries/agents/mediator/src/persistence/database/mysql.rs @@ -58,7 +58,7 @@ impl MediatorPersistence for sqlx::MySqlPool { .execute(self) .await; if let Err(err) = insert_result { - info!("Error during creating new account, {:#?}", err); + info!("Error during creating new account, {err:#?}"); return Err(StorageBackendError { source: Box::new(err), } @@ -181,13 +181,13 @@ impl MediatorPersistence for sqlx::MySqlPool { message_data: &str, ) -> Result<(), PersistForwardMessageError> { // Fetch recipient with given recipient_key - info!("Fetching recipient with recipient_key {:#?}", recipient_key); + info!("Fetching recipient with recipient_key {recipient_key:#?}"); let recipient_row = sqlx::query("SELECT * FROM recipients WHERE recipient_key = ?") .bind(recipient_key) .fetch_one(self) .await; if let Err(err) = recipient_row { - info!("Error while finding target recipient, {:#}", err); + info!("Error while finding target recipient, {err:#}"); let mapped_err = match err { sqlx::Error::RowNotFound => PersistForwardMessageError::AccountNotFound( AccountNotFound(format!("reipient_key={}", recipient_key.to_owned())), @@ -198,7 +198,7 @@ impl MediatorPersistence for sqlx::MySqlPool { } let account_id: Vec = recipient_row.unwrap().get("account_id"); // Save message for recipient - info!("Persisting message for account {:x?}", account_id); + info!("Persisting message for account {account_id:x?}"); let insert_result = sqlx::query( "INSERT INTO messages (account_id, recipient_key, message_data) VALUES (?, ?, ?)", ) @@ -209,8 +209,7 @@ impl MediatorPersistence for sqlx::MySqlPool { .await; if let Err(err) = insert_result { info!( - "Error while saving message for recipient {:x?}, {:#}", - recipient_key, err + "Error while saving message for recipient {recipient_key:x?}, {err:#}" ); return Err(PersistForwardMessageError::StorageBackendError( StorageBackendError { source: err.into() }, @@ -271,8 +270,7 @@ impl MediatorPersistence for sqlx::MySqlPool { recipient_key: Option<&VerKey>, ) -> Result)>, RetrievePendingMessagesError> { info!( - "Processing retrieve for messages to recipient_key {:#?} of auth_pubkey {:#?}", - recipient_key, auth_pubkey + "Processing retrieve for messages to recipient_key {recipient_key:#?} of auth_pubkey {auth_pubkey:#?}" ); let account_id: Vec = self .get_account_id(auth_pubkey) @@ -305,7 +303,7 @@ impl MediatorPersistence for sqlx::MySqlPool { // debug!("message {:x?}", msg); messages.push((id, msg)); if u32::try_from(messages.len()).map_err(|e| anyhow!(e))? >= limit { - info!("Found enough messages {:#?}", limit); + info!("Found enough messages {limit:#?}"); break; } } @@ -321,8 +319,7 @@ impl MediatorPersistence for sqlx::MySqlPool { recipient_key: &str, ) -> Result<(), AddRecipientError> { info!( - "Adding recipient_key to account with auth_pubkey {:#?}", - auth_pubkey + "Adding recipient_key to account with auth_pubkey {auth_pubkey:#?}" ); let account_id: Vec = self .get_account_id(auth_pubkey) @@ -335,9 +332,8 @@ impl MediatorPersistence for sqlx::MySqlPool { ), })?; info!( - "Found matching account {:x?}. Proceeding with attempt to add recipient recipient_key \ - {:#?} ", - account_id, recipient_key + "Found matching account {account_id:x?}. Proceeding with attempt to add recipient recipient_key \ + {recipient_key:#?} " ); sqlx::query("INSERT INTO recipients (account_id, recipient_key) VALUES (?, ?);") .bind(&account_id) @@ -355,8 +351,7 @@ impl MediatorPersistence for sqlx::MySqlPool { recipient_key: &str, ) -> Result<(), RemoveRecipientError> { info!( - "Removing recipient_key from account with auth_pubkey {:#?}", - auth_pubkey + "Removing recipient_key from account with auth_pubkey {auth_pubkey:#?}" ); let account_id: Vec = self .get_account_id(auth_pubkey) @@ -371,9 +366,8 @@ impl MediatorPersistence for sqlx::MySqlPool { } })?; info!( - "Found matching account {:x?}. Proceeding with attempt to remove recipient \ - recipient_key {:#?} ", - account_id, recipient_key + "Found matching account {account_id:x?}. Proceeding with attempt to remove recipient \ + recipient_key {recipient_key:#?} " ); sqlx::query("DELETE FROM recipients WHERE (account_id = ?) AND (recipient_key = ?);") .bind(&account_id) @@ -390,8 +384,7 @@ impl MediatorPersistence for sqlx::MySqlPool { auth_pubkey: &str, ) -> Result, ListRecipientKeysError> { info!( - "Retrieving recipient_keys for account with auth_pubkey {:#?}", - auth_pubkey + "Retrieving recipient_keys for account with auth_pubkey {auth_pubkey:#?}" ); let account_id: Vec = self .get_account_id(auth_pubkey) diff --git a/aries/agents/mediator/tests/common/agent_and_transport_utils.rs b/aries/agents/mediator/tests/common/agent_and_transport_utils.rs index 5320d97076..c7691f6450 100644 --- a/aries/agents/mediator/tests/common/agent_and_transport_utils.rs +++ b/aries/agents/mediator/tests/common/agent_and_transport_utils.rs @@ -44,7 +44,7 @@ pub async fn didcomm_connection( .error_for_status()? .json() .await?; - info!("Got invitation {:?}", oobi); + info!("Got invitation {oobi:?}"); let state: InviteeConnection = agent.establish_connection(oobi, aries_transport).await?; @@ -166,12 +166,11 @@ pub async fn get_mediator_grant_data( if let AriesMessage::CoordinateMediation(CoordinateMediation::MediateGrant(grant_data)) = serde_json::from_str(&response_message).unwrap() { - info!("Grant Data {:?}", grant_data); + info!("Grant Data {grant_data:?}"); grant_data.content } else { panic!( - "Should get response that is of type Mediator Grant. Found {:?}", - response_message + "Should get response that is of type Mediator Grant. Found {response_message:?}" ) } } diff --git a/aries/agents/mediator/tests/mediator-coord-protocol.rs b/aries/agents/mediator/tests/mediator-coord-protocol.rs index c9f5fa62f0..96d8541e8e 100644 --- a/aries/agents/mediator/tests/mediator-coord-protocol.rs +++ b/aries/agents/mediator/tests/mediator-coord-protocol.rs @@ -47,15 +47,14 @@ async fn test_mediate_grant() -> Result<()> { if let AriesMessage::CoordinateMediation(CoordinateMediation::MediateGrant(grant_data)) = serde_json::from_str(&response_message).unwrap() { - info!("Grant Data {:?}", grant_data); + info!("Grant Data {grant_data:?}"); } else if let AriesMessage::CoordinateMediation(CoordinateMediation::MediateDeny(deny_data)) = serde_json::from_str(&response_message).unwrap() { - info!("Deny Data {:?}", deny_data); + info!("Deny Data {deny_data:?}"); } else { panic!( - "Should get response that is of type Mediator Grant / Deny. Found {:?}", - response_message + "Should get response that is of type Mediator Grant / Deny. Found {response_message:?}" ) }; @@ -102,11 +101,10 @@ async fn test_mediate_keylist_update_add() -> Result<()> { update_response_data, )) = serde_json::from_str(&response_message)? { - info!("Received update response {:?}", update_response_data); + info!("Received update response {update_response_data:?}"); } else { panic!( - "Expected message of type KeylistUpdateResponse. Found {:?}", - response_message + "Expected message of type KeylistUpdateResponse. Found {response_message:?}" ) } @@ -173,8 +171,7 @@ async fn test_mediate_keylist_query() -> Result<()> { info!("Keylist mediator sent {:?}", keylist.content) } else { panic!( - "Expected message of type Keylist. Found {:?}", - response_message + "Expected message of type Keylist. Found {response_message:?}" ) } @@ -245,11 +242,10 @@ async fn test_mediate_keylist_update_remove() -> Result<()> { update_response_data, )) = serde_json::from_str(&response_message)? { - info!("Received update response {:?}", update_response_data); + info!("Received update response {update_response_data:?}"); } else { panic!( - "Expected message of type KeylistUpdateResponse. Found {:?}", - response_message + "Expected message of type KeylistUpdateResponse. Found {response_message:?}" ) } Ok(()) diff --git a/aries/agents/mediator/tests/mediator-oob-invitation.rs b/aries/agents/mediator/tests/mediator-oob-invitation.rs index 03b4b930b8..e67c924b93 100644 --- a/aries/agents/mediator/tests/mediator-oob-invitation.rs +++ b/aries/agents/mediator/tests/mediator-oob-invitation.rs @@ -23,7 +23,7 @@ async fn endpoint_invitation_returns_oob() -> Result<()> { .send() .await? .error_for_status()?; - info!("{:?}", res); + info!("{res:?}"); let _oob: OOBInvitation = res.json().await?; diff --git a/aries/agents/mediator/tests/mediator-protocol-pickup.rs b/aries/agents/mediator/tests/mediator-protocol-pickup.rs index dcd4e5d086..b5008aa3c2 100644 --- a/aries/agents/mediator/tests/mediator-protocol-pickup.rs +++ b/aries/agents/mediator/tests/mediator-protocol-pickup.rs @@ -57,11 +57,11 @@ async fn forward_basic_anoncrypt_message( .await?; // Send forward message to provided endpoint let packed_json = serde_json::from_slice(&packed_message)?; - info!("Sending anoncrypt packed message{}", packed_json); + info!("Sending anoncrypt packed message{packed_json}"); let response_envelope = agent_f_aries_transport .send_aries_envelope(packed_json, agent_diddoc) .await?; - info!("Response of forward{:?}", response_envelope); + info!("Response of forward{response_envelope:?}"); Ok(()) } @@ -115,12 +115,11 @@ async fn test_pickup_flow() -> Result<()> { .await?; // Verify expected if let AriesMessage::Pickup(Pickup::Status(status)) = serde_json::from_str(&response_message)? { - info!("Received status as expected {:?}", status); + info!("Received status as expected {status:?}"); assert_eq!(status.content.message_count, 2) } else { panic!( - "Expected status with message count = 2, received {:?}", - response_message + "Expected status with message count = 2, received {response_message:?}" ) } // // Delivery @@ -146,13 +145,12 @@ async fn test_pickup_flow() -> Result<()> { let delivery = if let AriesMessage::Pickup(Pickup::Delivery(delivery)) = serde_json::from_str(&response_message)? { - info!("Received delivery as expected {:?}", delivery); + info!("Received delivery as expected {delivery:?}"); assert_eq!(delivery.content.attach.len(), 2); delivery } else { panic!( - "Expected delivery with num_attachment = 2, received {:?}", - response_message + "Expected delivery with num_attachment = 2, received {response_message:?}" ) }; // verify valid attachment @@ -165,7 +163,7 @@ async fn test_pickup_flow() -> Result<()> { String::from_utf8(message_bytes.clone())? ); let unpack = agent.unpack_didcomm(&encrypted_message_bytes).await; - info!("Decoded attachment 1 {:?}", unpack); + info!("Decoded attachment 1 {unpack:?}"); } Ok(()) diff --git a/aries/agents/mediator/tests/mediator-readme.rs b/aries/agents/mediator/tests/mediator-readme.rs index d8ce821d9d..a20040bdee 100644 --- a/aries/agents/mediator/tests/mediator-readme.rs +++ b/aries/agents/mediator/tests/mediator-readme.rs @@ -25,7 +25,7 @@ async fn base_path_returns_readme() -> Result<()> { .send() .await? .error_for_status()?; - info!("{:?}", res); + info!("{res:?}"); let _: ReadmeInfo = res.json().await?; diff --git a/aries/agents/mediator/tests/mediator-routing-forward.rs b/aries/agents/mediator/tests/mediator-routing-forward.rs index 17d017ecf8..3c9eed636c 100644 --- a/aries/agents/mediator/tests/mediator-routing-forward.rs +++ b/aries/agents/mediator/tests/mediator-routing-forward.rs @@ -70,7 +70,7 @@ async fn test_forward_flow() -> Result<()> { let response = agent_f_aries_transport .send_aries_envelope(packed_json, &agent_diddoc) .await?; - info!("Response of forward{:?}", response); + info!("Response of forward{response:?}"); Ok(()) } diff --git a/aries/agents/mobile_demo/.gitignore b/aries/agents/mobile_demo/.gitignore deleted file mode 100644 index 0b3c816503..0000000000 --- a/aries/agents/mobile_demo/.gitignore +++ /dev/null @@ -1,17 +0,0 @@ -*.iml -.gradle -/local.properties -/.idea/caches -/.idea/libraries -/.idea/modules.xml -/.idea/workspace.xml -/.idea/navEditor.xml -/.idea/assetWizardSettings.xml -.DS_Store -/build -/captures -.externalNativeBuild -.cxx -local.properties -*.so -/app/src/main/java/org/hyperledger/ariesvcx/vcx.kt diff --git a/aries/agents/mobile_demo/app/.gitignore b/aries/agents/mobile_demo/app/.gitignore deleted file mode 100644 index 42afabfd2a..0000000000 --- a/aries/agents/mobile_demo/app/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build \ No newline at end of file diff --git a/aries/agents/mobile_demo/app/build.gradle b/aries/agents/mobile_demo/app/build.gradle deleted file mode 100644 index 33dbef9bd7..0000000000 --- a/aries/agents/mobile_demo/app/build.gradle +++ /dev/null @@ -1,87 +0,0 @@ -plugins { - id 'com.android.application' - id 'org.jetbrains.kotlin.android' -} - -android { - namespace 'org.hyperledger.ariesvcx' - compileSdk 34 - - defaultConfig { - applicationId "org.hyperledger.ariesvcx" - minSdk 26 - targetSdk 33 - versionCode 1 - versionName "1.0" - - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - vectorDrawables { - useSupportLibrary true - } - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' - } - } - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - kotlinOptions { - jvmTarget = '1.8' - } - buildFeatures { - compose true - } - composeOptions { - kotlinCompilerExtensionVersion '1.5.14' - } - packagingOptions { - resources { - excludes += '/META-INF/{AL2.0,LGPL2.1}' - } - } -} - -dependencies { - - implementation 'androidx.core:core-ktx:1.8.0' - implementation platform('org.jetbrains.kotlin:kotlin-bom:1.9.24') - implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1' - implementation 'androidx.activity:activity-compose:1.9.0' - implementation platform('androidx.compose:compose-bom:2022.12.00') - implementation 'androidx.compose.ui:ui' - implementation 'androidx.compose.ui:ui-graphics' - implementation 'androidx.compose.ui:ui-tooling-preview' - implementation 'androidx.compose.material3:material3' - testImplementation 'junit:junit:4.13.2' - androidTestImplementation 'androidx.test.ext:junit:1.1.5' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' - androidTestImplementation platform('androidx.compose:compose-bom:2022.12.00') - androidTestImplementation 'androidx.compose.ui:ui-test-junit4' - debugImplementation 'androidx.compose.ui:ui-tooling' - debugImplementation 'androidx.compose.ui:ui-test-manifest' - - // JNA - implementation "net.java.dev.jna:jna:5.14.0@aar" - - // Navigation - implementation "androidx.navigation:navigation-compose:2.7.1" - - // Camera - implementation "androidx.camera:camera-camera2:1.3.4" - implementation "androidx.camera:camera-lifecycle:1.2.3" - implementation "androidx.camera:camera-view:1.2.3" - - // QR - implementation 'com.google.zxing:core:3.5.2' - - // HTTP requests - implementation("com.squareup.okhttp3:okhttp:4.12.0") - - // JSON - implementation "com.google.code.gson:gson:2.11.0" -} diff --git a/aries/agents/mobile_demo/app/proguard-rules.pro b/aries/agents/mobile_demo/app/proguard-rules.pro deleted file mode 100644 index 481bb43481..0000000000 --- a/aries/agents/mobile_demo/app/proguard-rules.pro +++ /dev/null @@ -1,21 +0,0 @@ -# Add project specific ProGuard rules here. -# You can control the set of applied configuration files using the -# proguardFiles setting in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} - -# Uncomment this to preserve the line number information for -# debugging stack traces. -#-keepattributes SourceFile,LineNumberTable - -# If you keep the line number information, uncomment this to -# hide the original source file name. -#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/aries/agents/mobile_demo/app/src/androidTest/java/org/hyperledger/ariesvcx/ExampleInstrumentedTest.kt b/aries/agents/mobile_demo/app/src/androidTest/java/org/hyperledger/ariesvcx/ExampleInstrumentedTest.kt deleted file mode 100644 index d94d1467ab..0000000000 --- a/aries/agents/mobile_demo/app/src/androidTest/java/org/hyperledger/ariesvcx/ExampleInstrumentedTest.kt +++ /dev/null @@ -1,24 +0,0 @@ -package org.hyperledger.ariesvcx - -import androidx.test.platform.app.InstrumentationRegistry -import androidx.test.ext.junit.runners.AndroidJUnit4 - -import org.junit.Test -import org.junit.runner.RunWith - -import org.junit.Assert.* - -/** - * Instrumented test, which will execute on an Android device. - * - * See [testing documentation](http://d.android.com/tools/testing). - */ -@RunWith(AndroidJUnit4::class) -class ExampleInstrumentedTest { - @Test - fun useAppContext() { - // Context of the app under test. - val appContext = InstrumentationRegistry.getInstrumentation().targetContext - assertEquals("org.hyperledger.ariesvcx", appContext.packageName) - } -} \ No newline at end of file diff --git a/aries/agents/mobile_demo/app/src/main/AndroidManifest.xml b/aries/agents/mobile_demo/app/src/main/AndroidManifest.xml deleted file mode 100644 index cd4f593e74..0000000000 --- a/aries/agents/mobile_demo/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/AppDemoController.kt b/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/AppDemoController.kt deleted file mode 100644 index 525dfe886a..0000000000 --- a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/AppDemoController.kt +++ /dev/null @@ -1,167 +0,0 @@ -package org.hyperledger.ariesvcx - -import android.util.Log -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember -import androidx.compose.runtime.setValue -import androidx.lifecycle.ViewModel -import androidx.lifecycle.viewModelScope -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.delay -import kotlinx.coroutines.flow.MutableStateFlow -import kotlinx.coroutines.flow.StateFlow -import kotlinx.coroutines.flow.asStateFlow -import kotlinx.coroutines.flow.update -import kotlinx.coroutines.launch -import kotlinx.coroutines.withContext -import okhttp3.OkHttpClient -import okhttp3.Request -import org.hyperledger.ariesvcx.utils.await - -data class AppUiState( - val profileReady: Boolean = false, - val connectionInvitationReceived: Boolean = false, - val connectionCompleted: Boolean = false, - val offerReceived: Boolean = false -) - -class AppDemoController : ViewModel() { - private val httpClient = OkHttpClient() - - private var profile: ProfileHolder? = null - private var connection: Connection? = null - private var holder: Holder? = null - - private var onConnectionComplete: (connection: Connection) -> Unit = {} - private var onOfferReceived: () -> Unit = {} - - // Expose screen UI state - private val _state = MutableStateFlow(AppUiState()) - val states: StateFlow = _state.asStateFlow() - - fun getHolder (): Holder? { - return holder - } - - fun getProfileHolder (): ProfileHolder { - return profile!! - } - - private val walletConfig = AskarWalletConfig( - dbUrl = "sqlite://:memory:", - keyMethod = KeyMethod.DeriveKey(AskarKdfMethod.Argon2i(ArgonLevel.INTERACTIVE)), - passKey = "test", - profile = "profile") - - suspend fun setupProfile(genesisFilePath: String) { - withContext(Dispatchers.IO) { - val newProfile = newIndyProfile(walletConfig, genesisFilePath) - profile = newProfile - connection = createInvitee(newProfile) - } - _state.update { current -> - current.copy(profileReady = true) - } - } - - suspend fun acceptConnectionInvitation(invitation: String) { - if (connection == null || profile == null) { - throw Exception("Connection or Profile is null") - } - withContext(Dispatchers.IO) { - connection!!.acceptInvitation( - profile = profile!!, - invitation = invitation - ) - _state.update { it.copy(connectionInvitationReceived = true) } - - connection!!.sendRequest( - profile!!, - "$BASE_RELAY_ENDPOINT/send_user_message/$RELAY_USER_ID", - emptyList() - ) - - // use viewmodel scope to finish off this work - viewModelScope.launch(Dispatchers.IO) { - awaitConnectionCompletion() - } - } - } - - private suspend fun awaitConnectionCompletion() { - val pollRelayRequest = Request.Builder() - .url("$BASE_RELAY_ENDPOINT/pop_user_message/$RELAY_USER_ID") - .build() - while (true) { - delay(500) - val relayResponse = httpClient.newCall(pollRelayRequest).await() - if (relayResponse.code == 200) { - Log.d("RELAY RESPONSE", "RELAY RESPONDED WITH 200") - val message = relayResponse.body!!.string() - Log.d("MESSAGE", "awaitConnectionCompletion: $message") - Log.d("PROFILE", "profile: ${profile.toString()}") - val unpackedMessage = unpackMessage( - profile!!, - message - ) - - Log.d("AppDemoController", unpackedMessage.message) - connection!!.handleResponse(profile!!, unpackedMessage.message) - connection!!.sendAck(profile!!) - - Log.d("AppDemoController", "connection state: ${connection!!.getState()}") - - _state.update { it.copy(connectionCompleted = true) } - onConnectionComplete.invoke(connection!!) - break - } - } - } - - fun subscribeToConnectionComplete(onComplete: (connection: Connection) -> Unit) { - onConnectionComplete = onComplete - } - - suspend fun processOfferRequest() { - withContext(Dispatchers.IO) { - holder?.prepareCredentialRequest(profile!!, "4xE68b6S5VRFrKMMG1U95M") - Log.d("HOLDER", "processOfferRequest: ${holder?.getState()}") - val message = holder?.getMsgCredentialRequest() - connection?.sendMessage(profile!!, message!!) - } - } - - suspend fun awaitCredentialPolling() { - val pollRelayRequest = Request.Builder() - .url("$BASE_RELAY_ENDPOINT/pop_user_message/$RELAY_USER_ID") - .build() - while(true) { - delay(2000) - val relayResponse = httpClient.newCall(pollRelayRequest).await() - if (relayResponse.code == 200) { - val message = relayResponse.body!!.string() - - val unpackedMessage = unpackMessage( - profile!!, - message - ) - - Log.d("MESSAGE", "$unpackedMessage.message") - - if (!_state.value.offerReceived) { - Log.d("OFFER", "awaitCredentialPolling: received OFFER") - holder = createFromOffer("", unpackedMessage.message) - - _state.update { it.copy(offerReceived = true) } - onOfferReceived.invoke() - } else { - Log.d("CREDENTIAL", "awaitCredentialPolling: received CREDENTIAL") - holder?.processCredential(profile!!, unpackedMessage.message) - - _state.update { it.copy(offerReceived = false) } - } - } - } - } -} diff --git a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/Constants.kt b/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/Constants.kt deleted file mode 100644 index a0f89e5bb8..0000000000 --- a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/Constants.kt +++ /dev/null @@ -1,5 +0,0 @@ -package org.hyperledger.ariesvcx - -// Set your public IP address here, this endpoint will be used while communicating with the peer(agent). -const val BASE_RELAY_ENDPOINT = "https://8200-122-164-109-164.ngrok-free.app"; -const val RELAY_USER_ID = "demo-user-1"; diff --git a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/CredentialScreen.kt b/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/CredentialScreen.kt deleted file mode 100644 index 2056506170..0000000000 --- a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/CredentialScreen.kt +++ /dev/null @@ -1,57 +0,0 @@ -package org.hyperledger.ariesvcx - -import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.lazy.LazyColumn -import androidx.compose.foundation.lazy.items -import androidx.compose.material3.Card -import androidx.compose.material3.Text -import androidx.compose.runtime.Composable -import androidx.compose.ui.Modifier -import androidx.compose.ui.text.style.TextAlign -import androidx.compose.ui.unit.dp -import androidx.compose.ui.unit.sp -import androidx.navigation.NavHostController -import com.google.gson.Gson -import com.google.gson.reflect.TypeToken - -@Composable -fun CredentialScreen( - demoController: AppDemoController, - navController: NavHostController, -) { - val jsonString = getCredentials(demoController.getProfileHolder()); - val gson = Gson() - val typeToken = object : TypeToken>() {}.type - val credentialList: List = gson.fromJson(jsonString, typeToken) - val credentialAttrs = credentialList.map { it.attrs } - - Column( - modifier = Modifier - .fillMaxSize(), - verticalArrangement = Arrangement.spacedBy(12.dp) - ) { - Text( - text = "Received Credentials", - textAlign = TextAlign.Center, - fontSize = 30.sp - ) - LazyColumn (verticalArrangement = Arrangement.spacedBy(12.dp)) { - items(credentialAttrs) { attrs -> - Card(Modifier.fillMaxWidth()) { - Column(Modifier.padding(16.dp)) { - attrs.forEach { (attributeName, attributeValue) -> - Text( - text = "$attributeName : $attributeValue", - textAlign = TextAlign.Center - ) - } - } - } - } - } - } -} diff --git a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/Credentials.kt b/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/Credentials.kt deleted file mode 100644 index ceffa85f36..0000000000 --- a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/Credentials.kt +++ /dev/null @@ -1,10 +0,0 @@ -package org.hyperledger.ariesvcx - -data class Credential( - val attrs: Map, - val cred_def_id: String, - val cred_rev_id: Any?, - val referent: String, - val rev_reg_id: Any?, - val schema_id: String -) diff --git a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/HolderScreen.kt b/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/HolderScreen.kt deleted file mode 100644 index dd1255605c..0000000000 --- a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/HolderScreen.kt +++ /dev/null @@ -1,66 +0,0 @@ -package org.hyperledger.ariesvcx - -import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.layout.padding -import androidx.compose.material3.AlertDialog -import androidx.compose.material3.Text -import androidx.compose.material3.TextButton -import androidx.compose.runtime.Composable -import androidx.compose.runtime.LaunchedEffect -import androidx.compose.runtime.collectAsState -import androidx.compose.runtime.getValue -import androidx.compose.runtime.rememberCoroutineScope -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.unit.dp -import androidx.navigation.NavHostController -import kotlinx.coroutines.launch - -@Composable -fun HolderScreen( - demoController: AppDemoController, - navController: NavHostController, -) { - val demoState by demoController.states.collectAsState() - val scope = rememberCoroutineScope() - - LaunchedEffect(Unit) { - demoController.awaitCredentialPolling() - } - - if (demoState.offerReceived) { - AlertDialog( - onDismissRequest = { }, - title = { Text("Accept this credential?") }, - text = { Text(demoController.getHolder()?.getAttributes()!!) }, - confirmButton = { - TextButton(onClick = { - scope.launch { - demoController.processOfferRequest() - navController.navigate(Destination.Credential.route) - } - }) { - Text("Accept") - } - }, - dismissButton = { - TextButton(onClick = { }) { - Text("Cancel") - } - }, - ) - } - - Column( - modifier = Modifier - .fillMaxSize() - .padding(50.dp), - verticalArrangement = Arrangement.Center, - horizontalAlignment = Alignment.CenterHorizontally, - ) { - Text(text = "Waiting for credential offer") - } -} diff --git a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/HomeScreen.kt b/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/HomeScreen.kt deleted file mode 100644 index 30e34450f0..0000000000 --- a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/HomeScreen.kt +++ /dev/null @@ -1,93 +0,0 @@ -package org.hyperledger.ariesvcx - -import android.widget.Toast -import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.material3.AlertDialog -import androidx.compose.material3.Button -import androidx.compose.material3.Text -import androidx.compose.material3.TextButton -import androidx.compose.runtime.Composable -import androidx.compose.runtime.LaunchedEffect -import androidx.compose.runtime.collectAsState -import androidx.compose.runtime.getValue -import androidx.compose.runtime.rememberCoroutineScope -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.platform.LocalContext -import androidx.navigation.NavHostController -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.launch -import kotlinx.coroutines.withContext -import org.hyperledger.ariesvcx.utils.prepareGenesisFile -import java.io.BufferedWriter -import java.io.File -import java.io.FileWriter - - -@Composable -fun HomeScreen( - demoController: AppDemoController, - navController: NavHostController, -) { - - val demoState by demoController.states.collectAsState() - - val scope = rememberCoroutineScope() - val context = LocalContext.current - val file = prepareGenesisFile(context) - - LaunchedEffect(key1 = Unit) { - demoController.subscribeToConnectionComplete { - scope.launch(Dispatchers.Main) { - Toast.makeText( - context, - "New Connection Created", - Toast.LENGTH_LONG - ).show() - } - } - } - - Column( - modifier = Modifier.fillMaxSize(), - horizontalAlignment = Alignment.CenterHorizontally, - verticalArrangement = Arrangement.Center - ) { - Button( - enabled = (!demoState.profileReady), - onClick = { - scope.launch { - demoController.setupProfile(file.absolutePath) - withContext(Dispatchers.Main) { - Toast.makeText( - context, - "New Profile Created", - Toast.LENGTH_SHORT - ).show() - } - } - }) { - Text(text = "New Indy Profile") - } - Button(enabled = (demoState.profileReady && !demoState.connectionInvitationReceived), - onClick = { - navController.navigate(Destination.QRScan.route) - }) { - Text(text = "Scan QR Code") - } - Button(enabled = (demoState.connectionCompleted), - onClick = { - navController.navigate(Destination.Holder.route) - }) { - Text(text = "Receive a credential") - } - Button(enabled = (demoState.connectionCompleted), - onClick = { - navController.navigate(Destination.Credential.route) - }) { - Text(text = "Show credentials") - } - } -} diff --git a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/MainActivity.kt b/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/MainActivity.kt deleted file mode 100644 index de45e3f078..0000000000 --- a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/MainActivity.kt +++ /dev/null @@ -1,81 +0,0 @@ -package org.hyperledger.ariesvcx - -import android.os.Bundle -import android.system.Os -import androidx.activity.ComponentActivity -import androidx.activity.compose.setContent -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.Surface -import androidx.compose.runtime.Composable -import androidx.compose.ui.Modifier -import androidx.navigation.NavHostController -import androidx.navigation.compose.NavHost -import androidx.navigation.compose.composable -import androidx.navigation.compose.rememberNavController -import org.hyperledger.ariesvcx.ui.theme.DemoTheme - - -sealed class Destination(val route: String) { - object Home : Destination("home") - object QRScan : Destination("scan") - object Holder : Destination("holder") - object Credential : Destination("credential") -} - -class MainActivity : ComponentActivity() { - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - Os.setenv("EXTERNAL_STORAGE", this.filesDir.absolutePath, true) - setContent { - DemoTheme { - Surface( - modifier = Modifier.fillMaxSize(), - color = MaterialTheme.colorScheme.background - ) { - val navController = rememberNavController() - NavigationAppHost( - demoController = AppDemoController(), - navController = navController, - ) - } - } - } - } -} - -@Composable -fun NavigationAppHost( - demoController: AppDemoController, - navController: NavHostController, -) { - NavHost(navController = navController, startDestination = "home") { - composable(Destination.Home.route) { - HomeScreen( - demoController = demoController, - navController = navController, - ) - } - - composable(Destination.QRScan.route) { - ScanScreen( - demoController = demoController, - navController = navController, - ) - } - - composable(Destination.Holder.route) { - HolderScreen( - demoController = demoController, - navController = navController, - ) - } - - composable(Destination.Credential.route) { - CredentialScreen( - demoController = demoController, - navController = navController, - ) - } - } -} diff --git a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/QrCodeAnalyzer.kt b/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/QrCodeAnalyzer.kt deleted file mode 100644 index 09e686e3be..0000000000 --- a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/QrCodeAnalyzer.kt +++ /dev/null @@ -1,59 +0,0 @@ -package org.hyperledger.ariesvcx - -import android.graphics.ImageFormat -import androidx.camera.core.ImageAnalysis -import androidx.camera.core.ImageProxy -import com.google.zxing.* -import com.google.zxing.common.HybridBinarizer -import java.nio.ByteBuffer - -class QrCodeAnalyzer( - private val onQrCodeScanned: (String) -> Unit -): ImageAnalysis.Analyzer { - - private val supportedImageFormats = listOf( - ImageFormat.YUV_420_888, - ImageFormat.YUV_422_888, - ImageFormat.YUV_444_888, - ) - - override fun analyze(image: ImageProxy) { - if(image.format in supportedImageFormats) { - val bytes = image.planes.first().buffer.toByteArray() - val source = PlanarYUVLuminanceSource( - bytes, - image.width, - image.height, - 0, - 0, - image.width, - image.height, - false - ) - val binaryBmp = BinaryBitmap(HybridBinarizer(source)) - try { - val result = MultiFormatReader().apply { - setHints( - mapOf( - DecodeHintType.POSSIBLE_FORMATS to arrayListOf( - BarcodeFormat.QR_CODE - ) - ) - ) - }.decode(binaryBmp) - onQrCodeScanned(result.text) - } catch(e: Exception) { - e.printStackTrace() - } finally { - image.close() - } - } - } - - private fun ByteBuffer.toByteArray(): ByteArray { - rewind() - return ByteArray(remaining()).also { - get(it) - } - } -} diff --git a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/ScanScreen.kt b/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/ScanScreen.kt deleted file mode 100644 index a98c329b47..0000000000 --- a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/ScanScreen.kt +++ /dev/null @@ -1,148 +0,0 @@ -package org.hyperledger.ariesvcx - -import android.Manifest -import android.content.pm.PackageManager -import android.net.Uri -import androidx.activity.compose.rememberLauncherForActivityResult -import androidx.activity.result.contract.ActivityResultContracts -import androidx.camera.core.CameraSelector -import androidx.camera.core.ImageAnalysis -import androidx.camera.core.Preview -import androidx.camera.lifecycle.ProcessCameraProvider -import androidx.camera.view.PreviewView -import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.layout.padding -import androidx.compose.material3.AlertDialog -import androidx.compose.material3.Text -import androidx.compose.material3.TextButton -import androidx.compose.runtime.Composable -import androidx.compose.runtime.LaunchedEffect -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember -import androidx.compose.runtime.setValue -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.platform.LocalLifecycleOwner -import androidx.compose.ui.unit.dp -import androidx.compose.ui.viewinterop.AndroidView -import androidx.core.content.ContextCompat -import android.util.Base64 -import androidx.compose.runtime.rememberCoroutineScope -import androidx.navigation.NavHostController -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.launch -import kotlinx.coroutines.withContext - -@Composable -fun ScanScreen( - demoController: AppDemoController, - navController: NavHostController, -) { - var scannedQRCodeText by remember { - mutableStateOf(null) - } - val scope = rememberCoroutineScope() - - val context = LocalContext.current - val lifecycleOwner = LocalLifecycleOwner.current - val cameraProviderFuture = remember { - ProcessCameraProvider.getInstance(context) - } - - scannedQRCodeText?.let { text -> - val encoded = Uri.parse(text)?.getQueryParameter("c_i") - if (encoded == null) { - scannedQRCodeText = null - return@let - } - val decoded = String(Base64.decode(encoded, Base64.DEFAULT)) - - AlertDialog( - onDismissRequest = { scannedQRCodeText = null }, - title = { Text("Accept this invitation?") }, - text = { Text(decoded) }, - confirmButton = { - TextButton(onClick = { - scope.launch { - demoController.acceptConnectionInvitation(decoded) - withContext(Dispatchers.Main) { - navController.navigate("home") - } - } - }) { - Text("Accept") - } - }, - dismissButton = { - TextButton(onClick = { scannedQRCodeText = null }) { - Text("Cancel") - } - }, - ) - } - - var hasCamPermission by remember { - mutableStateOf( - ContextCompat.checkSelfPermission( - context, - Manifest.permission.CAMERA - ) == PackageManager.PERMISSION_GRANTED - ) - } - - val launcher = rememberLauncherForActivityResult( - contract = ActivityResultContracts.RequestPermission(), - onResult = { granted -> - hasCamPermission = granted - } - ) - - LaunchedEffect(key1 = true) { - launcher.launch(Manifest.permission.CAMERA) - } - - Column( - modifier = Modifier - .fillMaxSize() - .padding(50.dp), - verticalArrangement = Arrangement.Center, - horizontalAlignment = Alignment.CenterHorizontally, - ) { - if (hasCamPermission) { - AndroidView( - factory = { context -> - val previewView = PreviewView(context) - val preview = Preview.Builder().build() - val selector = CameraSelector.Builder() - .requireLensFacing(CameraSelector.LENS_FACING_BACK) - .build() - preview.setSurfaceProvider(previewView.surfaceProvider) - val imageAnalysis = ImageAnalysis.Builder() - .setBackpressureStrategy(ImageAnalysis.STRATEGY_KEEP_ONLY_LATEST) - .build() - imageAnalysis.setAnalyzer( - ContextCompat.getMainExecutor(context), - QrCodeAnalyzer { result -> - scannedQRCodeText = result - } - ) - try { - cameraProviderFuture.get().bindToLifecycle( - lifecycleOwner, - selector, - preview, - imageAnalysis - ) - } catch (e: Exception) { - e.printStackTrace() - } - previewView - }, - ) - } - } -} diff --git a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/ui/theme/Color.kt b/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/ui/theme/Color.kt deleted file mode 100644 index 410d9313d1..0000000000 --- a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/ui/theme/Color.kt +++ /dev/null @@ -1,11 +0,0 @@ -package org.hyperledger.ariesvcx.ui.theme - -import androidx.compose.ui.graphics.Color - -val Purple80 = Color(0xFFD0BCFF) -val PurpleGrey80 = Color(0xFFCCC2DC) -val Pink80 = Color(0xFFEFB8C8) - -val Purple40 = Color(0xFF6650a4) -val PurpleGrey40 = Color(0xFF625b71) -val Pink40 = Color(0xFF7D5260) \ No newline at end of file diff --git a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/ui/theme/Theme.kt b/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/ui/theme/Theme.kt deleted file mode 100644 index f5276ecb61..0000000000 --- a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/ui/theme/Theme.kt +++ /dev/null @@ -1,70 +0,0 @@ -package org.hyperledger.ariesvcx.ui.theme - -import android.app.Activity -import android.os.Build -import androidx.compose.foundation.isSystemInDarkTheme -import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.darkColorScheme -import androidx.compose.material3.dynamicDarkColorScheme -import androidx.compose.material3.dynamicLightColorScheme -import androidx.compose.material3.lightColorScheme -import androidx.compose.runtime.Composable -import androidx.compose.runtime.SideEffect -import androidx.compose.ui.graphics.toArgb -import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.platform.LocalView -import androidx.core.view.WindowCompat - -private val DarkColorScheme = darkColorScheme( - primary = Purple80, - secondary = PurpleGrey80, - tertiary = Pink80 -) - -private val LightColorScheme = lightColorScheme( - primary = Purple40, - secondary = PurpleGrey40, - tertiary = Pink40 - - /* Other default colors to override - background = Color(0xFFFFFBFE), - surface = Color(0xFFFFFBFE), - onPrimary = Color.White, - onSecondary = Color.White, - onTertiary = Color.White, - onBackground = Color(0xFF1C1B1F), - onSurface = Color(0xFF1C1B1F), - */ -) - -@Composable -fun DemoTheme( - darkTheme: Boolean = isSystemInDarkTheme(), - // Dynamic color is available on Android 12+ - dynamicColor: Boolean = true, - content: @Composable () -> Unit -) { - val colorScheme = when { - dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> { - val context = LocalContext.current - if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context) - } - - darkTheme -> DarkColorScheme - else -> LightColorScheme - } - val view = LocalView.current - if (!view.isInEditMode) { - SideEffect { - val window = (view.context as Activity).window - window.statusBarColor = colorScheme.primary.toArgb() - WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = darkTheme - } - } - - MaterialTheme( - colorScheme = colorScheme, - typography = Typography, - content = content - ) -} \ No newline at end of file diff --git a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/ui/theme/Type.kt b/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/ui/theme/Type.kt deleted file mode 100644 index 17f38335d6..0000000000 --- a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/ui/theme/Type.kt +++ /dev/null @@ -1,34 +0,0 @@ -package org.hyperledger.ariesvcx.ui.theme - -import androidx.compose.material3.Typography -import androidx.compose.ui.text.TextStyle -import androidx.compose.ui.text.font.FontFamily -import androidx.compose.ui.text.font.FontWeight -import androidx.compose.ui.unit.sp - -// Set of Material typography styles to start with -val Typography = Typography( - bodyLarge = TextStyle( - fontFamily = FontFamily.Default, - fontWeight = FontWeight.Normal, - fontSize = 16.sp, - lineHeight = 24.sp, - letterSpacing = 0.5.sp - ) - /* Other default text styles to override - titleLarge = TextStyle( - fontFamily = FontFamily.Default, - fontWeight = FontWeight.Normal, - fontSize = 22.sp, - lineHeight = 28.sp, - letterSpacing = 0.sp - ), - labelSmall = TextStyle( - fontFamily = FontFamily.Default, - fontWeight = FontWeight.Medium, - fontSize = 11.sp, - lineHeight = 16.sp, - letterSpacing = 0.5.sp - ) - */ -) \ No newline at end of file diff --git a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/utils/OkHttpAwait.kt b/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/utils/OkHttpAwait.kt deleted file mode 100644 index e37fe4a9bb..0000000000 --- a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/utils/OkHttpAwait.kt +++ /dev/null @@ -1,59 +0,0 @@ -@file:Suppress("RedundantVisibilityModifier") - -package org.hyperledger.ariesvcx.utils - - -import kotlinx.coroutines.suspendCancellableCoroutine -import okhttp3.Call -import okhttp3.Callback -import okhttp3.Response -import java.io.IOException -import kotlin.coroutines.resume -import kotlin.coroutines.resumeWithException - -/** - * Suspend extension that allows suspend [Call] inside coroutine. - * - * [recordStack] enables track recording, so in case of exception stacktrace will contain call stacktrace, may be useful for debugging - * Not free! Creates exception on each request so disabled by default, but may be enabled using system properties: - * - * ``` - * System.setProperty(OKHTTP_STACK_RECORDER_PROPERTY, OKHTTP_STACK_RECORDER_ON) - * ``` - * see [README.md](https://github.com/gildor/kotlin-coroutines-okhttp/blob/master/README.md#Debugging) with details about debugging using this feature - * - * @return Result of request or throw exception - */ -public suspend fun Call.await(recordStack: Boolean = true): Response { - val callStack = if (recordStack) { - IOException().apply { - // Remove unnecessary lines from stacktrace - // This doesn't remove await$default, but better than nothing - stackTrace = stackTrace.copyOfRange(1, stackTrace.size) - } - } else { - null - } - return suspendCancellableCoroutine { continuation -> - enqueue(object : Callback { - override fun onResponse(call: Call, response: Response) { - continuation.resume(response) - } - - override fun onFailure(call: Call, e: IOException) { - // Don't bother with resuming the continuation if it is already cancelled. - if (continuation.isCancelled) return - callStack?.initCause(e) - continuation.resumeWithException(callStack ?: e) - } - }) - - continuation.invokeOnCancellation { - try { - cancel() - } catch (ex: Throwable) { - //Ignore cancel exception - } - } - } -} diff --git a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/utils/PrepareGenesisFile.kt b/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/utils/PrepareGenesisFile.kt deleted file mode 100644 index b9f929d861..0000000000 --- a/aries/agents/mobile_demo/app/src/main/java/org/hyperledger/ariesvcx/utils/PrepareGenesisFile.kt +++ /dev/null @@ -1,21 +0,0 @@ -package org.hyperledger.ariesvcx.utils - -import android.content.Context -import android.util.Log -import org.hyperledger.ariesvcx.R -import java.io.BufferedWriter -import java.io.File -import java.io.FileWriter - -fun prepareGenesisFile(context: Context): File { - val file = File(context.filesDir, "genesis") - if (!file.exists()) { - val transactions = context.resources.openRawResource(R.raw.bcovrin_transactions).bufferedReader() - .use { it.readText() } - val bufferedWriter = BufferedWriter(FileWriter(file)) - bufferedWriter.write(transactions) - bufferedWriter.close() - Log.d("GENESIS", "transactions written") - } - return file -} diff --git a/aries/agents/mobile_demo/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/aries/agents/mobile_demo/app/src/main/res/drawable-v24/ic_launcher_foreground.xml deleted file mode 100644 index 2b068d1146..0000000000 --- a/aries/agents/mobile_demo/app/src/main/res/drawable-v24/ic_launcher_foreground.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/aries/agents/mobile_demo/app/src/main/res/drawable/ic_launcher_background.xml b/aries/agents/mobile_demo/app/src/main/res/drawable/ic_launcher_background.xml deleted file mode 100644 index 07d5da9cbf..0000000000 --- a/aries/agents/mobile_demo/app/src/main/res/drawable/ic_launcher_background.xml +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/aries/agents/mobile_demo/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/aries/agents/mobile_demo/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml deleted file mode 100644 index 6f3b755bf5..0000000000 --- a/aries/agents/mobile_demo/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/aries/agents/mobile_demo/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/aries/agents/mobile_demo/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml deleted file mode 100644 index 6f3b755bf5..0000000000 --- a/aries/agents/mobile_demo/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/aries/agents/mobile_demo/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/aries/agents/mobile_demo/app/src/main/res/mipmap-hdpi/ic_launcher.webp deleted file mode 100644 index c209e78ecd372343283f4157dcfd918ec5165bb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1404 zcmV-?1%vuhNk&F=1pok7MM6+kP&il$0000G0000-002h-06|PpNX!5L00Dqw+t%{r zzW2vH!KF=w&cMnnN@{whkTw+#mAh0SV?YL=)3MimFYCWp#fpdtz~8$hD5VPuQgtcN zXl<@<#Cme5f5yr2h%@8TWh?)bSK`O z^Z@d={gn7J{iyxL_y_%J|L>ep{dUxUP8a{byupH&!UNR*OutO~0{*T4q5R6@ApLF! z5{w?Z150gC7#>(VHFJZ-^6O@PYp{t!jH(_Z*nzTK4 zkc{fLE4Q3|mA2`CWQ3{8;gxGizgM!zccbdQoOLZc8hThi-IhN90RFT|zlxh3Ty&VG z?Fe{#9RrRnxzsu|Lg2ddugg7k%>0JeD+{XZ7>Z~{=|M+sh1MF7~ zz>To~`~LVQe1nNoR-gEzkpe{Ak^7{{ZBk2i_<+`Bq<^GB!RYG+z)h;Y3+<{zlMUYd zrd*W4w&jZ0%kBuDZ1EW&KLpyR7r2=}fF2%0VwHM4pUs}ZI2egi#DRMYZPek*^H9YK zay4Iy3WXFG(F14xYsoDA|KXgGc5%2DhmQ1gFCkrgHBm!lXG8I5h*uf{rn48Z!_@ z4Bk6TJAB2CKYqPjiX&mWoW>OPFGd$wqroa($ne7EUK;#3VYkXaew%Kh^3OrMhtjYN?XEoY`tRPQsAkH-DSL^QqyN0>^ zmC>{#F14jz4GeW{pJoRpLFa_*GI{?T93^rX7SPQgT@LbLqpNA}<@2wH;q493)G=1Y z#-sCiRNX~qf3KgiFzB3I>4Z%AfS(3$`-aMIBU+6?gbgDb!)L~A)je+;fR0jWLL-Fu z4)P{c7{B4Hp91&%??2$v9iRSFnuckHUm}or9seH6 z>%NbT+5*@L5(I9j@06@(!{ZI?U0=pKn8uwIg&L{JV14+8s2hnvbRrU|hZCd}IJu7*;;ECgO%8_*W Kmw_-CKmY()leWbG diff --git a/aries/agents/mobile_demo/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/aries/agents/mobile_demo/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp deleted file mode 100644 index b2dfe3d1ba5cf3ee31b3ecc1ced89044a1f3b7a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2898 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 diff --git a/aries/agents/mobile_demo/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/aries/agents/mobile_demo/app/src/main/res/mipmap-mdpi/ic_launcher.webp deleted file mode 100644 index 4f0f1d64e58ba64d180ce43ee13bf9a17835fbca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 982 zcmV;{11bDcNk&G_0{{S5MM6+kP&il$0000G0000l001ul06|PpNU8t;00Dqo+t#w^ z^1csucXz7-Qrhzl9HuHB%l>&>1tG2^vb*E&k^T3$FG1eQZ51g$uv4V+kI`0<^1Z@N zk?Jjh$olyC%l>)Xq;7!>{iBj&BjJ`P&$fsCfpve_epJOBkTF?nu-B7D!hO=2ZR}

C%4 zc_9eOXvPbC4kzU8YowIA8cW~Uv|eB&yYwAObSwL2vY~UYI7NXPvf3b+c^?wcs~_t{ ze_m66-0)^{JdOMKPwjpQ@Sna!*?$wTZ~su*tNv7o!gXT!GRgivP}ec?5>l1!7<(rT zds|8x(qGc673zrvYIz;J23FG{9nHMnAuP}NpAED^laz3mAN1sy+NXK)!6v1FxQ;lh zOBLA>$~P3r4b*NcqR;y6pwyhZ3_PiDb|%n1gGjl3ZU}ujInlP{eks-#oA6>rh&g+!f`hv#_%JrgYPu z(U^&XLW^QX7F9Z*SRPpQl{B%x)_AMp^}_v~?j7 zapvHMKxSf*Mtyx8I}-<*UGn3)oHd(nn=)BZ`d$lDBwq_GL($_TPaS{UeevT(AJ`p0 z9%+hQb6z)U9qjbuXjg|dExCLjpS8$VKQ55VsIC%@{N5t{NsW)=hNGI`J=x97_kbz@ E0Of=7!TQj4N+cqN`nQhxvX7dAV-`K|Ub$-q+H-5I?Tx0g9jWxd@A|?POE8`3b8fO$T))xP* z(X?&brZw({`)WU&rdAs1iTa0x6F@PIxJ&&L|dpySV!ID|iUhjCcKz(@mE z!x@~W#3H<)4Ae(4eQJRk`Iz3<1)6^m)0b_4_TRZ+cz#eD3f8V;2r-1fE!F}W zEi0MEkTTx}8i1{`l_6vo0(Vuh0HD$I4SjZ=?^?k82R51bC)2D_{y8mi_?X^=U?2|F{Vr7s!k(AZC$O#ZMyavHhlQ7 zUR~QXuH~#o#>(b$u4?s~HLF*3IcF7023AlwAYudn0FV~|odGH^05AYPEfR)8p`i{n zwg3zPVp{+wOsxKc>)(pMupKF!Y2HoUqQ3|Yu|8lwR=?5zZuhG6J?H`bSNk_wPoM{u zSL{c@pY7+c2kck>`^q1^^gR0QB7Y?KUD{vz-uVX~;V-rW)PDcI)$_UjgVV?S?=oLR zf4}zz{#*R_{LkiJ#0RdQLNC^2Vp%JPEUvG9ra2BVZ92(p9h7Ka@!yf9(lj#}>+|u* z;^_?KWdzkM`6gqPo9;;r6&JEa)}R3X{(CWv?NvgLeOTq$cZXqf7|sPImi-7cS8DCN zGf;DVt3Am`>hH3{4-WzH43Ftx)SofNe^-#|0HdCo<+8Qs!}TZP{HH8~z5n`ExcHuT zDL1m&|DVpIy=xsLO>8k92HcmfSKhflQ0H~9=^-{#!I1g(;+44xw~=* zxvNz35vfsQE)@)Zsp*6_GjYD};Squ83<_?^SbALb{a`j<0Gn%6JY!zhp=Fg}Ga2|8 z52e1WU%^L1}15Ex0fF$e@eCT(()_P zvV?CA%#Sy08_U6VPt4EtmVQraWJX` zh=N|WQ>LgrvF~R&qOfB$!%D3cGv?;Xh_z$z7k&s4N)$WYf*k=|*jCEkO19{h_(%W4 zPuOqbCw`SeAX*R}UUsbVsgtuG?xs(#Ikx9`JZoQFz0n*7ZG@Fv@kZk`gzO$HoA9kN z8U5{-yY zvV{`&WKU2$mZeoBmiJrEdzUZAv1sRxpePdg1)F*X^Y)zp^Y*R;;z~vOv-z&)&G)JQ{m!C9cmziu1^nHA z`#`0c>@PnQ9CJKgC5NjJD8HM3|KC(g5nnCq$n0Gsu_DXk36@ql%npEye|?%RmG)

FJ$wK}0tWNB{uH;AM~i diff --git a/aries/agents/mobile_demo/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/aries/agents/mobile_demo/app/src/main/res/mipmap-xhdpi/ic_launcher.webp deleted file mode 100644 index 948a3070fe34c611c42c0d3ad3013a0dce358be0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1900 zcmV-y2b1_xNk&Fw2LJ$9MM6+kP&il$0000G0001A003VA06|PpNH75a00DqwTbm-~ zullQTcXxO9ki!OCRx^i?oR|n!<8G0=kI^!JSjFi-LL*`V;ET0H2IXfU0*i>o6o6Gy zRq6Ap5(_{XLdXcL-MzlN`ugSdZY_`jXhcENAu)N_0?GhF))9R;E`!bo9p?g?SRgw_ zEXHhFG$0{qYOqhdX<(wE4N@es3VIo$%il%6xP9gjiBri+2pI6aY4 zJbgh-Ud|V%3O!IcHKQx1FQH(_*TK;1>FQWbt^$K1zNn^cczkBs=QHCYZ8b&l!UV{K z{L0$KCf_&KR^}&2Fe|L&?1I7~pBENnCtCuH3sjcx6$c zwqkNkru);ie``q+_QI;IYLD9OV0ZxkuyBz|5<$1BH|vtey$> z5oto4=l-R-Aaq`Dk0}o9N0VrkqW_#;!u{!bJLDq%0092{Ghe=F;(kn} z+sQ@1=UlX30+2nWjkL$B^b!H2^QYO@iFc0{(-~yXj2TWz?VG{v`Jg zg}WyYnwGgn>{HFaG7E~pt=)sOO}*yd(UU-D(E&x{xKEl6OcU?pl)K%#U$dn1mDF19 zSw@l8G!GNFB3c3VVK0?uyqN&utT-D5%NM4g-3@Sii9tSXKtwce~uF zS&Jn746EW^wV~8zdQ1XC28~kXu8+Yo9p!<8h&(Q({J*4DBglPdpe4M_mD8AguZFn~ ztiuO~{6Bx?SfO~_ZV(GIboeR9~hAym{{fV|VM=77MxDrbW6`ujX z<3HF(>Zr;#*uCvC*bpoSr~C$h?_%nXps@A)=l_;({Fo#6Y1+Zv`!T5HB+)#^-Ud_; zBwftPN=d8Vx)*O1Mj+0oO=mZ+NVH*ptNDC-&zZ7Hwho6UQ#l-yNvc0Cm+2$$6YUk2D2t#vdZX-u3>-Be1u9gtTBiMB^xwWQ_rgvGpZ6(C@e23c!^K=>ai-Rqu zhqT`ZQof;9Bu!AD(i^PCbYV%yha9zuoKMp`U^z;3!+&d@Hud&_iy!O-$b9ZLcSRh? z)R|826w}TU!J#X6P%@Zh=La$I6zXa#h!B;{qfug}O%z@K{EZECu6zl)7CiNi%xti0 zB{OKfAj83~iJvmpTU|&q1^?^cIMn2RQ?jeSB95l}{DrEPTW{_gmU_pqTc)h@4T>~& zluq3)GM=xa(#^VU5}@FNqpc$?#SbVsX!~RH*5p0p@w z;~v{QMX0^bFT1!cXGM8K9FP+=9~-d~#TK#ZE{4umGT=;dfvWi?rYj;^l_Zxywze`W z^Cr{55U@*BalS}K%Czii_80e0#0#Zkhlij4-~I@}`-JFJ7$5{>LnoJSs??J8kWVl6|8A}RCGAu9^rAsfCE=2}tHwl93t0C?#+jMpvr7O3`2=tr{Hg$=HlnjVG^ewm|Js0J*kfPa6*GhtB>`fN!m#9J(sU!?(OSfzY*zS(FJ<-Vb zfAIg+`U)YaXv#sY(c--|X zEB+TVyZ%Ie4L$gi#Fc++`h6%vzsS$pjz9aLt+ZL(g;n$Dzy5=m=_TV(3H8^C{r0xd zp#a%}ht55dOq?yhwYPrtp-m1xXp;4X;)NhxxUpgP%XTLmO zcjaFva^}dP3$&sfFTIR_jC=2pHh9kpI@2(6V*GQo7Ws)`j)hd+tr@P~gR*2gO@+1? zG<`_tB+LJuF|SZ9tIec;h%}}6WClT`L>HSW?E{Hp1h^+mlbf_$9zA>!ug>NALJsO{ mU%z=YwVD?}XMya)Bp;vlyE5&E_6!fzx9pwrdz474!~g(M6R?N? diff --git a/aries/agents/mobile_demo/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/aries/agents/mobile_demo/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp deleted file mode 100644 index 1b9a6956b3acdc11f40ce2bb3f6efbd845cc243f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3918 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�(p-{x$&=IACIfoAR!za)F-^da-t3#0Dycnp zwO~NVXwXCl;jE<}>%@xz|=8fIJAB?>+E{7)|4l${4ngA3G|=r z2Dyv;VVWSgZx9Wj>qUjleGl3Ei9K4>h!(lPS%8VOG>Xu0%6VDz^O=bjJmuP7>DeUv zrbI}MlHB^^d?{zv6d=@_ZD2lg1&G7UjnVN{1}9WkaM3H~btX0GtSzB+tZ^qRgWo4m z!GmimlG$=wgXCnr6j@m<1gAL46#T~5Bnm=2{^@>|t&`9mkEPddj zAvG~@Tv~TAm2i%VW}R-g(Z0)z-Y|szHr@rk>4MAyG*Ma*7Yh#H7(!-5>DZ@8r;_dx z{prSe<>~099F8vsYd2xff7uAS%7{S)f(|@me3t2$iy&NEc7OUEchp@9A|X;;IA>8!oX+y(BKJ$EzV* znR$z;!L$s7uy@{OT~nG#B!NRraT8(X##Ho!0r_o@gg0CA-9H^;-uE&?$2$nHv_00o z%cbuUc-tCx$Uh&EZ4Nf4Zgqv)Y6>usG3>GeQnxx_Z6+PcbX-+ysbt1hQ`K1LDpOE? zrAhIZhSN9yVIAOa22gn577tbc&i3|3V8NWy&!tw##`}9*x}gtI^h1DzZRA>UuaJG) zaZ7j)dq!O}{?#8Y7~7i6fHh4{`pL?>-18|p!S75Y#^DM>-S3)vuZG+Q7l@ek zQP~#cBpWgg#mApc_sPYjpw8odQuRokmTkzcNl`^CcKB7e&;zViV;{Y{o^Y$%7i0m# z62%#1Lq!RC?}lK>%mp}T!3Xv;L*0v*>USLm``N%>w>@fwC+#T&Tx2bN4w(20JB}oU zuSa6v^kXi0xPs?pbaOHnyiqq6By1EZY9OZ^^QA>{q-Hsd&m`pbQ%8121aWG-F5xf zlZ%;B{;C>X19|`^_?dVyCq>n+41w7|!tUS!{9rHlbhX=SZO5CQ^;!Du_E7*`GiR^Q w)2!4MKjfSAeNo!9>IaV6aUZ*?W>} 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

UmY2RIYtNPVDpE$%vda+HD#3m z&VuXJ{BK&Qe+rBa7eq}Q(bq|tn(RrJAk|ztj2(i{d>nmQnM?;HF2k&9sA6up5tmjl z7lySlzMbifH17-m-Lwa_F&e7nOH?ESi3#ckR3tsM+jsck3`oG!uMS}|eAwVXv>}qxwq?QY%QJ0}r@^;fhuUA9W z*BVl>TGo&N004@xSiwDUXUvp51sVmqO3m)=B55aPwf@0=e}cN+$-BdKxY`YrT_4)0 z_d10#i44Q*rFr8MC>*)v$EJvz``(pb{e&*6k+b zsMz%($|1+8hn8c2?P(l@;Rb&CsZeYoCI3?2!LqjbwPXW3z4G$Qfj=cT5Yb%vY0(AX oeb?AaKtwrnc|$|zzw9vfvn^aJJ!zd)XFXqqy0000001=f@-~a#s diff --git a/aries/agents/mobile_demo/app/src/main/res/raw/bcovrin_transactions b/aries/agents/mobile_demo/app/src/main/res/raw/bcovrin_transactions deleted file mode 100644 index 0f1e4fa10d..0000000000 --- a/aries/agents/mobile_demo/app/src/main/res/raw/bcovrin_transactions +++ /dev/null @@ -1,4 +0,0 @@ -{"reqSignature":{},"txn":{"data":{"data":{"alias":"Node1","blskey":"4N8aUNHSgjQVgkpm8nhNEfDf6txHznoYREg9kirmJrkivgL4oSEimFF6nsQ6M41QvhM2Z33nves5vfSn9n1UwNFJBYtWVnHYMATn76vLuL3zU88KyeAYcHfsih3He6UHcXDxcaecHVz6jhCYz1P2UZn2bDVruL5wXpehgBfBaLKm3Ba","blskey_pop":"RahHYiCvoNCtPTrVtP7nMC5eTYrsUA8WjXbdhNc8debh1agE9bGiJxWBXYNFbnJXoXhWFMvyqhqhRoq737YQemH5ik9oL7R4NTTCz2LEZhkgLJzB3QRQqJyBNyv7acbdHrAT8nQ9UkLbaVL9NBpnWXBTw4LEMePaSHEw66RzPNdAX1","client_ip":"138.197.138.255","client_port":9702,"node_ip":"138.197.138.255","node_port":9701,"services":["VALIDATOR"]},"dest":"Gw6pDLhcBcoQesN72qfotTgFa7cbuqZpkX3Xo6pLhPhv"},"metadata":{"from":"Th7MpTaRZVRYnPiabds81Y"},"type":"0"},"txnMetadata":{"seqNo":1,"txnId":"fea82e10e894419fe2bea7d96296a6d46f50f93f9eeda954ec461b2ed2950b62"},"ver":"1"} -{"reqSignature":{},"txn":{"data":{"data":{"alias":"Node2","blskey":"37rAPpXVoxzKhz7d9gkUe52XuXryuLXoM6P6LbWDB7LSbG62Lsb33sfG7zqS8TK1MXwuCHj1FKNzVpsnafmqLG1vXN88rt38mNFs9TENzm4QHdBzsvCuoBnPH7rpYYDo9DZNJePaDvRvqJKByCabubJz3XXKbEeshzpz4Ma5QYpJqjk","blskey_pop":"Qr658mWZ2YC8JXGXwMDQTzuZCWF7NK9EwxphGmcBvCh6ybUuLxbG65nsX4JvD4SPNtkJ2w9ug1yLTj6fgmuDg41TgECXjLCij3RMsV8CwewBVgVN67wsA45DFWvqvLtu4rjNnE9JbdFTc1Z4WCPA3Xan44K1HoHAq9EVeaRYs8zoF5","client_ip":"138.197.138.255","client_port":9704,"node_ip":"138.197.138.255","node_port":9703,"services":["VALIDATOR"]},"dest":"8ECVSk179mjsjKRLWiQtssMLgp6EPhWXtaYyStWPSGAb"},"metadata":{"from":"EbP4aYNeTHL6q385GuVpRV"},"type":"0"},"txnMetadata":{"seqNo":2,"txnId":"1ac8aece2a18ced660fef8694b61aac3af08ba875ce3026a160acbc3a3af35fc"},"ver":"1"} -{"reqSignature":{},"txn":{"data":{"data":{"alias":"Node3","blskey":"3WFpdbg7C5cnLYZwFZevJqhubkFALBfCBBok15GdrKMUhUjGsk3jV6QKj6MZgEubF7oqCafxNdkm7eswgA4sdKTRc82tLGzZBd6vNqU8dupzup6uYUf32KTHTPQbuUM8Yk4QFXjEf2Usu2TJcNkdgpyeUSX42u5LqdDDpNSWUK5deC5","blskey_pop":"QwDeb2CkNSx6r8QC8vGQK3GRv7Yndn84TGNijX8YXHPiagXajyfTjoR87rXUu4G4QLk2cF8NNyqWiYMus1623dELWwx57rLCFqGh7N4ZRbGDRP4fnVcaKg1BcUxQ866Ven4gw8y4N56S5HzxXNBZtLYmhGHvDtk6PFkFwCvxYrNYjh","client_ip":"138.197.138.255","client_port":9706,"node_ip":"138.197.138.255","node_port":9705,"services":["VALIDATOR"]},"dest":"DKVxG2fXXTU8yT5N7hGEbXB3dfdAnYv1JczDUHpmDxya"},"metadata":{"from":"4cU41vWW82ArfxJxHkzXPG"},"type":"0"},"txnMetadata":{"seqNo":3,"txnId":"7e9f355dffa78ed24668f0e0e369fd8c224076571c51e2ea8be5f26479edebe4"},"ver":"1"} -{"reqSignature":{},"txn":{"data":{"data":{"alias":"Node4","blskey":"2zN3bHM1m4rLz54MJHYSwvqzPchYp8jkHswveCLAEJVcX6Mm1wHQD1SkPYMzUDTZvWvhuE6VNAkK3KxVeEmsanSmvjVkReDeBEMxeDaayjcZjFGPydyey1qxBHmTvAnBKoPydvuTAqx5f7YNNRAdeLmUi99gERUU7TD8KfAa6MpQ9bw","blskey_pop":"RPLagxaR5xdimFzwmzYnz4ZhWtYQEj8iR5ZU53T2gitPCyCHQneUn2Huc4oeLd2B2HzkGnjAff4hWTJT6C7qHYB1Mv2wU5iHHGFWkhnTX9WsEAbunJCV2qcaXScKj4tTfvdDKfLiVuU2av6hbsMztirRze7LvYBkRHV3tGwyCptsrP","client_ip":"138.197.138.255","client_port":9708,"node_ip":"138.197.138.255","node_port":9707,"services":["VALIDATOR"]},"dest":"4PS3EDQ3dW1tci1Bp6543CfuuebjFrg36kLAUcskGfaA"},"metadata":{"from":"TWwCRQRZ2ZHMJFn9TzLp7W"},"type":"0"},"txnMetadata":{"seqNo":4,"txnId":"aa5e817d7cc626170eca175822029339a444eb0ee8f0bd20d3b0b76e566fb008"},"ver":"1"} diff --git a/aries/agents/mobile_demo/app/src/main/res/values/colors.xml b/aries/agents/mobile_demo/app/src/main/res/values/colors.xml deleted file mode 100644 index f8c6127d32..0000000000 --- a/aries/agents/mobile_demo/app/src/main/res/values/colors.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - #FFBB86FC - #FF6200EE - #FF3700B3 - #FF03DAC5 - #FF018786 - #FF000000 - #FFFFFFFF - \ No newline at end of file diff --git a/aries/agents/mobile_demo/app/src/main/res/values/strings.xml b/aries/agents/mobile_demo/app/src/main/res/values/strings.xml deleted file mode 100644 index ad12620a2e..0000000000 --- a/aries/agents/mobile_demo/app/src/main/res/values/strings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - demo - diff --git a/aries/agents/mobile_demo/app/src/main/res/values/themes.xml b/aries/agents/mobile_demo/app/src/main/res/values/themes.xml deleted file mode 100644 index f8dcc514d4..0000000000 --- a/aries/agents/mobile_demo/app/src/main/res/values/themes.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - -