From f07967e7780f5f80d3193b7418877953d375d2af Mon Sep 17 00:00:00 2001 From: Alexey Vavilin Date: Tue, 7 Nov 2023 15:04:29 +0300 Subject: [PATCH 1/4] Fetch account from blockchain API --- CHANGELOG.md | 6 + Cargo.lock | 510 +++++++++++++------------- api/derive/Cargo.toml | 2 +- api/info/Cargo.toml | 2 +- api/test/Cargo.toml | 2 +- ton_client/Cargo.toml | 2 +- ton_client/src/processing/fetching.rs | 16 +- ton_client_processing/Cargo.toml | 2 +- ton_sdk/Cargo.toml | 2 +- toncli/Cargo.toml | 2 +- 10 files changed, 285 insertions(+), 261 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index efcdd159..3f3855d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ All notable changes to this project will be documented in this file. +## [1.44.4] – 2023-11-07 + +### New + +- Account BOC for local error resolving is fetched from blockchain API instead of collections API + ## [1.44.3] – 2023-09-05 ### New diff --git a/Cargo.lock b/Cargo.lock index 83c0b76b..09e44179 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -63,9 +63,9 @@ dependencies = [ [[package]] name = "ahash" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" dependencies = [ "getrandom 0.2.10", "once_cell", @@ -74,9 +74,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.0.5" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c378d78423fdad8089616f827526ee33c19f2fddbd5de1629152c9593ba4783" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" dependencies = [ "memchr", ] @@ -113,7 +113,7 @@ checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" [[package]] name = "api_derive" -version = "1.44.3" +version = "1.44.4" dependencies = [ "api_info", "proc-macro2", @@ -124,7 +124,7 @@ dependencies = [ [[package]] name = "api_info" -version = "1.44.3" +version = "1.44.4" dependencies = [ "serde", "serde_derive", @@ -133,7 +133,7 @@ dependencies = [ [[package]] name = "api_test" -version = "1.44.3" +version = "1.44.4" dependencies = [ "api_derive", "api_info", @@ -176,13 +176,13 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.73" +version = "0.1.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" +checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.31", + "syn 2.0.39", ] [[package]] @@ -235,9 +235,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.3" +version = "0.21.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "414dcefbc63d77c526a76b3afcf6fbb9b5e2791c19c3aa2297733208750c6e53" +checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" [[package]] name = "base64ct" @@ -262,9 +262,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" +checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" [[package]] name = "block-buffer" @@ -319,15 +319,15 @@ checksum = "b4ae4235e6dac0694637c763029ecea1a2ec9e4e06ec2729bd21ba4d9c863eb7" [[package]] name = "bumpalo" -version = "3.13.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" @@ -368,9 +368,9 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.30" +version = "0.4.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defd4e7873dbddba6c7c91e199c7fcb946abc4a6a4ac3195400bcfb01b5de877" +checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" dependencies = [ "android-tzdata", "iana-time-zone", @@ -463,9 +463,9 @@ checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" [[package]] name = "cpufeatures" -version = "0.2.9" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" +checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" dependencies = [ "libc", ] @@ -490,9 +490,9 @@ dependencies = [ [[package]] name = "crc-catalog" -version = "2.2.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" [[package]] name = "crunchy" @@ -554,9 +554,9 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.1.0" +version = "4.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622178105f911d937a42cdb140730ba4a3ed2becd8ae6ce39c7d28b5d75d4588" +checksum = "e89b8c6a2e4b1f45971ad09761aafb85514a84744b67a95e32c3cc1352d1f65c" dependencies = [ "cfg-if 1.0.0", "cpufeatures", @@ -571,13 +571,13 @@ dependencies = [ [[package]] name = "curve25519-dalek-derive" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.31", + "syn 2.0.39", ] [[package]] @@ -592,9 +592,12 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" +checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" +dependencies = [ + "powerfmt", +] [[package]] name = "derivative" @@ -706,9 +709,9 @@ dependencies = [ [[package]] name = "ed25519" -version = "2.2.2" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60f6d271ca33075c88028be6f04d502853d63a5ece419d269c15315d4fc1cf1d" +checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" dependencies = [ "pkcs8", "signature 2.1.0", @@ -734,11 +737,11 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980" dependencies = [ - "curve25519-dalek 4.1.0", - "ed25519 2.2.2", + "curve25519-dalek 4.1.1", + "ed25519 2.2.3", "rand_core 0.6.4", "serde", - "sha2 0.10.7", + "sha2 0.10.8", "zeroize", ] @@ -765,25 +768,14 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.3" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd" +checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860" dependencies = [ - "errno-dragonfly", "libc", "windows-sys", ] -[[package]] -name = "errno-dragonfly" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" -dependencies = [ - "cc", - "libc", -] - [[package]] name = "ever-struct" version = "1.0.7" @@ -826,15 +818,15 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" +checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" [[package]] name = "fiat-crypto" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0870c84016d4b481be5c9f323c24f65e31e901ae618f0e80f4308fb00de1d2d" +checksum = "a481586acf778f1b1455424c343f71124b048ffa5f4fc3f8f6ae9dc432dcb3c7" [[package]] name = "float-cmp" @@ -877,9 +869,9 @@ dependencies = [ [[package]] name = "futures" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335" dependencies = [ "futures-channel", "futures-core", @@ -892,9 +884,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" dependencies = [ "futures-core", "futures-sink", @@ -902,15 +894,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" +checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" [[package]] name = "futures-executor" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc" dependencies = [ "futures-core", "futures-task", @@ -919,38 +911,38 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" +checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" [[package]] name = "futures-macro" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.31", + "syn 2.0.39", ] [[package]] name = "futures-sink" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" +checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" [[package]] name = "futures-task" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" +checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" [[package]] name = "futures-util" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" dependencies = [ "futures-channel", "futures-core", @@ -1046,15 +1038,15 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.0" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" +checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" [[package]] name = "hermit-abi" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" +checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" [[package]] name = "hex" @@ -1171,7 +1163,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.4.9", + "socket2 0.4.10", "tokio", "tower-service", "tracing", @@ -1193,16 +1185,16 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.57" +version = "0.1.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" +checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "windows", + "windows-core", ] [[package]] @@ -1277,19 +1269,19 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" dependencies = [ "equivalent", - "hashbrown 0.14.0", + "hashbrown 0.14.2", ] [[package]] name = "ipnet" -version = "2.8.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" [[package]] name = "itertools" @@ -1308,18 +1300,18 @@ checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "jobserver" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" +checksum = "8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.64" +version = "0.3.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8" dependencies = [ "wasm-bindgen", ] @@ -1343,9 +1335,20 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.147" +version = "0.2.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" + +[[package]] +name = "libredox" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" +dependencies = [ + "bitflags 2.4.1", + "libc", + "redox_syscall", +] [[package]] name = "libsecp256k1" @@ -1403,15 +1406,15 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linux-raw-sys" -version = "0.4.5" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503" +checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" [[package]] name = "lock_api" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" dependencies = [ "autocfg", "scopeguard", @@ -1483,9 +1486,9 @@ checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" [[package]] name = "memchr" -version = "2.6.3" +version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" [[package]] name = "mime" @@ -1504,9 +1507,9 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" dependencies = [ "libc", "wasi 0.11.0+wasi-snapshot-preview1", @@ -1617,9 +1620,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" dependencies = [ "autocfg", ] @@ -1657,11 +1660,11 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openssl" -version = "0.10.57" +version = "0.10.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bac25ee399abb46215765b1cb35bc0212377e58a061560d8b29b024fd0430e7c" +checksum = "7a257ad03cd8fb16ad4172fedf8094451e1af1c4b70097636ef2eac9a5f0cc33" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.4.1", "cfg-if 1.0.0", "foreign-types", "libc", @@ -1678,7 +1681,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.31", + "syn 2.0.39", ] [[package]] @@ -1689,9 +1692,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.93" +version = "0.9.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db4d56a4c0478783083cfafcc42493dd4a981d41669da64b4572a2a089b51b1d" +checksum = "40a4130519a360279579c2053038317e40eff64d13fd3f004f9e1b72b8a6aaf9" dependencies = [ "cc", "libc", @@ -1701,9 +1704,9 @@ dependencies = [ [[package]] name = "ordered-float" -version = "2.10.0" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7940cf2ca942593318d07fcf2596cdca60a85c9e7fab408a5e21a4f9dcd40d87" +checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" dependencies = [ "num-traits", ] @@ -1726,13 +1729,13 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.8" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall 0.3.5", + "redox_syscall", "smallvec", "windows-targets", ] @@ -1763,9 +1766,9 @@ checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" [[package]] name = "pest" -version = "2.7.3" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7a4d085fd991ac8d5b05a147b437791b4260b76326baf0fc60cf7c9c27ecd33" +checksum = "ae9cee2a55a544be8b89dc6848072af97a20f2422603c10865be2a42b580fff5" dependencies = [ "memchr", "thiserror", @@ -1774,9 +1777,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.3" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2bee7be22ce7918f641a33f08e3f43388c7656772244e2bbb2477f44cc9021a" +checksum = "81d78524685f5ef2a3b3bd1cafbc9fcabb036253d9b1463e726a91cd16e2dfc2" dependencies = [ "pest", "pest_generator", @@ -1784,26 +1787,26 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.3" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1511785c5e98d79a05e8a6bc34b4ac2168a0e3e92161862030ad84daa223141" +checksum = "68bd1206e71118b5356dae5ddc61c8b11e28b09ef6a31acbd15ea48a28e0c227" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.31", + "syn 2.0.39", ] [[package]] name = "pest_meta" -version = "2.7.3" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42f0394d3123e33353ca5e1e89092e533d2cc490389f2bd6131c43c634ebc5f" +checksum = "7c747191d4ad9e4a4ab9c8798f1e82a39affe7ef9648390b7e5548d18e099de6" dependencies = [ "once_cell", "pest", - "sha2 0.10.7", + "sha2 0.10.8", ] [[package]] @@ -1836,9 +1839,9 @@ checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" [[package]] name = "platforms" -version = "3.1.2" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4503fa043bf02cee09a9582e9554b4c6403b2ef55e4612e96561d294419429f8" +checksum = "14e6ab3f592e6fb464fc9712d8d6e6912de6473954635fd76a589d832cffcbb0" [[package]] name = "pom" @@ -1846,6 +1849,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60f6ce597ecdcc9a098e7fddacb1065093a3d66446fa16c675e7e71d1b5c28e6" +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + [[package]] name = "ppv-lite86" version = "0.2.17" @@ -1904,9 +1913,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" dependencies = [ "unicode-ident", ] @@ -2009,42 +2018,33 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "redox_syscall" -version = "0.3.5" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" dependencies = [ "bitflags 1.3.2", ] [[package]] name = "redox_users" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" dependencies = [ "getrandom 0.2.10", - "redox_syscall 0.2.16", + "libredox", "thiserror", ] [[package]] name = "regex" -version = "1.9.5" +version = "1.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.3.8", + "regex-automata 0.4.3", "regex-syntax", ] @@ -2056,9 +2056,9 @@ checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" [[package]] name = "regex-automata" -version = "0.3.8" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" dependencies = [ "aho-corasick", "memchr", @@ -2067,17 +2067,17 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.7.5" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "reqwest" -version = "0.11.20" +version = "0.11.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e9ad3fe7488d7e34558a2033d45a0c90b72d97b4f80705666fea71472e2e6a1" +checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" dependencies = [ - "base64 0.21.3", + "base64 0.21.5", "bytes", "cookie", "cookie_store", @@ -2100,6 +2100,7 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", + "system-configuration", "tokio", "tokio-native-tls", "tower-service", @@ -2133,11 +2134,11 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.11" +version = "0.38.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0c3dde1fc030af041adc40e79c0e7fbcf431dd24870053d187d7c66e4b87453" +checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.4.1", "errno", "libc", "linux-raw-sys", @@ -2220,15 +2221,15 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.18" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918" +checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" [[package]] name = "serde" -version = "1.0.188" +version = "1.0.192" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" +checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001" dependencies = [ "serde_derive", ] @@ -2245,22 +2246,22 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.188" +version = "1.0.192" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" +checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.31", + "syn 2.0.39", ] [[package]] name = "serde_json" -version = "1.0.105" +version = "1.0.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360" +checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" dependencies = [ - "indexmap 2.0.0", + "indexmap 2.1.0", "itoa", "ryu", "serde", @@ -2268,13 +2269,13 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.16" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00" +checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145" dependencies = [ "proc-macro2", "quote", - "syn 2.0.31", + "syn 2.0.39", ] [[package]] @@ -2327,9 +2328,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.7" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if 1.0.0", "cpufeatures", @@ -2350,9 +2351,9 @@ checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500" [[package]] name = "similar" -version = "2.2.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "420acb44afdae038210c99e69aae24109f32f15500aa708e81d46c9f29d55fcf" +checksum = "2aeaf503862c419d66959f5d7ca015337d864e9c49485d771b732e2a20453597" dependencies = [ "bstr", ] @@ -2368,15 +2369,15 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "socket2" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" dependencies = [ "libc", "winapi", @@ -2384,9 +2385,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.3" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877" +checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" dependencies = [ "libc", "windows-sys", @@ -2430,9 +2431,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.31" +version = "2.0.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "718fa2415bcb8d8bd775917a1bf12a7931b6dfa890753378538118181e0cb398" +checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" dependencies = [ "proc-macro2", "quote", @@ -2451,15 +2452,36 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "tempfile" -version = "3.8.0" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" +checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" dependencies = [ "cfg-if 1.0.0", "fastrand", - "redox_syscall 0.3.5", + "redox_syscall", "rustix", "windows-sys", ] @@ -2472,43 +2494,43 @@ checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" [[package]] name = "thiserror" -version = "1.0.48" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d6d7a740b8a666a7e828dd00da9c0dc290dff53154ea77ac109281de90589b7" +checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.48" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35" +checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.31", + "syn 2.0.39", ] [[package]] name = "thread-id" -version = "4.2.0" +version = "4.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79474f573561cdc4871a0de34a51c92f7f5a56039113fbb5b9c9f96bdb756669" +checksum = "f0ec81c46e9eb50deaa257be2f148adf052d1fb7701cfd55ccfab2525280b70b" dependencies = [ "libc", - "redox_syscall 0.2.16", "winapi", ] [[package]] name = "time" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17f6bb557fd245c28e6411aa56b6403c689ad95061f50e4be16c274e70a17e48" +checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" dependencies = [ "deranged", "itoa", + "powerfmt", "serde", "time-core", "time-macros", @@ -2516,15 +2538,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a942f44339478ef67935ab2bbaec2fb0322496cf3cbe84b261e06ac3814c572" +checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" dependencies = [ "time-core", ] @@ -2565,9 +2587,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.32.0" +version = "1.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9" +checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653" dependencies = [ "backtrace", "bytes", @@ -2575,7 +2597,7 @@ dependencies = [ "mio", "num_cpus", "pin-project-lite", - "socket2 0.5.3", + "socket2 0.5.5", "tokio-macros", "windows-sys", ] @@ -2588,7 +2610,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.31", + "syn 2.0.39", ] [[package]] @@ -2628,9 +2650,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.8" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" dependencies = [ "bytes", "futures-core", @@ -2657,7 +2679,7 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "sha2 0.10.7", + "sha2 0.10.8", "ton_block", "ton_types 2.0.26", ] @@ -2696,7 +2718,7 @@ dependencies = [ "log", "num", "num-traits", - "sha2 0.10.7", + "sha2 0.10.8", "ton_types 2.0.26", ] @@ -2720,7 +2742,7 @@ dependencies = [ [[package]] name = "ton_client" -version = "1.44.3" +version = "1.44.4" dependencies = [ "aes", "api_derive", @@ -2787,12 +2809,12 @@ dependencies = [ [[package]] name = "ton_client_processing" -version = "1.44.3" +version = "1.44.4" dependencies = [ "api_derive", "api_info", "async-trait", - "base64 0.21.3", + "base64 0.21.5", "futures", "log", "serde", @@ -2807,7 +2829,7 @@ dependencies = [ [[package]] name = "ton_executor" version = "1.16.75" -source = "git+https://github.com/tonlabs/ever-executor.git?tag=1.16.75#7d318977e1e21261c46b787c67fbe04896d93f50" +source = "git+https://github.com/tonlabs/ever-executor.git?tag=1.16.75#aed35e336ed5fc803c0d4869e852cf129a1edb3d" dependencies = [ "failure", "lazy_static", @@ -2819,7 +2841,7 @@ dependencies = [ [[package]] name = "ton_sdk" -version = "1.44.3" +version = "1.44.4" dependencies = [ "api_derive", "api_info", @@ -2884,8 +2906,8 @@ dependencies = [ "aes-ctr", "base64 0.13.1", "crc 3.0.1", - "curve25519-dalek 4.1.0", - "ed25519 2.2.2", + "curve25519-dalek 4.1.1", + "ed25519 2.2.3", "ed25519-dalek 2.0.0", "failure", "hex 0.4.3", @@ -2898,7 +2920,7 @@ dependencies = [ "rand 0.8.5", "serde", "serde_json", - "sha2 0.10.7", + "sha2 0.10.8", "smallvec", "x25519-dalek", ] @@ -2926,7 +2948,7 @@ dependencies = [ [[package]] name = "toncli" -version = "1.44.3" +version = "1.44.4" dependencies = [ "api_info", "assert_cmd", @@ -2949,20 +2971,19 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.37" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "cfg-if 1.0.0", "pin-project-lite", "tracing-core", ] [[package]] name = "tracing-core" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ "once_cell", ] @@ -3004,9 +3025,9 @@ dependencies = [ [[package]] name = "typenum" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "ucd-trie" @@ -3022,9 +3043,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-normalization" @@ -3149,9 +3170,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -3159,24 +3180,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.31", + "syn 2.0.39", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.37" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" +checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -3186,9 +3207,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3196,28 +3217,28 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907" dependencies = [ "proc-macro2", "quote", - "syn 2.0.31", + "syn 2.0.39", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" +checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b" [[package]] name = "web-sys" -version = "0.3.64" +version = "0.3.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85" dependencies = [ "js-sys", "wasm-bindgen", @@ -3246,10 +3267,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] -name = "windows" -version = "0.48.0" +name = "windows-core" +version = "0.51.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" dependencies = [ "windows-targets", ] @@ -3336,7 +3357,7 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb66477291e7e8d2b0ff1bcb900bf29489a9692816d79874bea351e7a8b6de96" dependencies = [ - "curve25519-dalek 4.1.0", + "curve25519-dalek 4.1.1", "rand_core 0.6.4", "serde", "zeroize", @@ -3374,7 +3395,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.31", + "syn 2.0.39", ] [[package]] @@ -3398,11 +3419,10 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.8+zstd.1.5.5" +version = "2.0.9+zstd.1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c" +checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" dependencies = [ "cc", - "libc", "pkg-config", ] diff --git a/api/derive/Cargo.toml b/api/derive/Cargo.toml index bf2780bf..5a6cf71b 100644 --- a/api/derive/Cargo.toml +++ b/api/derive/Cargo.toml @@ -2,7 +2,7 @@ authors = [ 'TON Labs LTD ' ] edition = '2018' name = 'api_derive' -version = '1.44.3' +version = '1.44.4' [dependencies] quote = '1.0.26' diff --git a/api/info/Cargo.toml b/api/info/Cargo.toml index d239f55f..215def40 100644 --- a/api/info/Cargo.toml +++ b/api/info/Cargo.toml @@ -2,7 +2,7 @@ authors = [ 'TON Labs LTD ' ] edition = '2018' name = 'api_info' -version = '1.44.3' +version = '1.44.4' [dependencies] serde = '1.0.115' diff --git a/api/test/Cargo.toml b/api/test/Cargo.toml index 6d60befb..ba1b15d3 100644 --- a/api/test/Cargo.toml +++ b/api/test/Cargo.toml @@ -2,7 +2,7 @@ authors = [ 'TON Labs LTD ' ] edition = '2018' name = 'api_test' -version = '1.44.3' +version = '1.44.4' [dependencies] serde = '1.0.115' diff --git a/ton_client/Cargo.toml b/ton_client/Cargo.toml index ceec255a..3ceeaa16 100644 --- a/ton_client/Cargo.toml +++ b/ton_client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = 'ton_client' -version = '1.44.3' +version = '1.44.4' authors = [ 'TON Labs LTD ' ] edition = '2018' license = 'Apache-2.0' diff --git a/ton_client/src/processing/fetching.rs b/ton_client/src/processing/fetching.rs index 4bfe36f0..fa653e38 100644 --- a/ton_client/src/processing/fetching.rs +++ b/ton_client/src/processing/fetching.rs @@ -140,23 +140,21 @@ pub(crate) async fn fetch_account( address: &MsgAddressInt, result: &str, ) -> ClientResult { - let mut result = crate::net::query_collection( + let mut result = crate::net::query( context, - crate::net::ParamsOfQueryCollection { - collection: "accounts".to_owned(), - filter: Some(serde_json::json!({ - "id": { "eq": address.to_string() } + crate::net::ParamsOfQuery { + query: format!("query account($address:String!){{blockchain{{account(address:$address){{info{{{}}}}}}}}}", result), + variables: Some(json!({ + "address": address.to_string(), })), - limit: None, - order: None, - result: result.to_owned(), }, ) .await?; result .result - .pop() + .pointer_mut("/data/blockchain/account/info") + .map(|value| value.take()) .ok_or(crate::tvm::Error::account_missing(address)) } diff --git a/ton_client_processing/Cargo.toml b/ton_client_processing/Cargo.toml index 83848a6f..86f94d62 100644 --- a/ton_client_processing/Cargo.toml +++ b/ton_client_processing/Cargo.toml @@ -1,6 +1,6 @@ [package] name = 'ton_client_processing' -version = '1.44.3' +version = '1.44.4' authors = [ 'TON Labs LTD ' ] edition = '2018' license = 'Apache-2.0' diff --git a/ton_sdk/Cargo.toml b/ton_sdk/Cargo.toml index 3456e2f9..2be7b0e7 100644 --- a/ton_sdk/Cargo.toml +++ b/ton_sdk/Cargo.toml @@ -1,6 +1,6 @@ [package] name = 'ton_sdk' -version = '1.44.3' +version = '1.44.4' edition = '2018' license = 'Apache-2.0' authors = [ 'TON Labs LTD ' ] diff --git a/toncli/Cargo.toml b/toncli/Cargo.toml index f7b34476..e3422d4c 100644 --- a/toncli/Cargo.toml +++ b/toncli/Cargo.toml @@ -9,7 +9,7 @@ license = 'Apache-2.0' name = 'toncli' readme = 'README.md' repository = 'https://github.com/tonlabs/ever-sdk' -version = '1.44.3' +version = '1.44.4' [dependencies] base64 = '0.13.0' From 8783a095d39fe08697e0929937b17985c5ac5444 Mon Sep 17 00:00:00 2001 From: tonjen Date: Tue, 7 Nov 2023 14:27:35 +0000 Subject: [PATCH 2/4] Update docs --- tools/api.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/api.json b/tools/api.json index 95d23fd7..879c01f2 100644 --- a/tools/api.json +++ b/tools/api.json @@ -1,5 +1,5 @@ { - "version": "1.44.3", + "version": "1.44.4", "modules": [ { "name": "client", From f64b16e57a835ad5446c03ab6183f85e917cdefa Mon Sep 17 00:00:00 2001 From: tonjen Date: Tue, 7 Nov 2023 14:31:17 +0000 Subject: [PATCH 3/4] Update trusted blocks --- ton_client/src/proofs/trusted_key_blocks.bin | Bin 476224 -> 516364 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ton_client/src/proofs/trusted_key_blocks.bin b/ton_client/src/proofs/trusted_key_blocks.bin index 1d381032c69859103d6a1cbc64600cbebb438378..867967e7f106e533f972f8c5f7e35bb4d6a987a4 100644 GIT binary patch delta 40515 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 delta 62 zcmeA Date: Wed, 8 Nov 2023 14:55:54 +0300 Subject: [PATCH 4/4] Fetch account BOC from blockchain API in tests --- ton_client/src/tests/mod.rs | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/ton_client/src/tests/mod.rs b/ton_client/src/tests/mod.rs index 81260107..70c746f7 100644 --- a/ton_client/src/tests/mod.rs +++ b/ton_client/src/tests/mod.rs @@ -20,14 +20,14 @@ use crate::crypto::{ ParamsOfNaclSignDetached, ParamsOfNaclSignKeyPairFromSecret, ResultOfNaclSignDetached, }; use crate::json_interface::interop::{ResponseType, StringData}; -use crate::json_interface::modules::{AbiModule, NetModule, ProcessingModule}; +use crate::json_interface::modules::{AbiModule, ProcessingModule}; use crate::json_interface::runtime::Runtime; use crate::net::{ParamsOfQuery, ResultOfQuery}; use crate::processing::{ParamsOfProcessMessage, ResultOfProcessMessage}; use crate::{ crypto::KeyPair, error::{ClientError, ClientResult}, - net::{ParamsOfQueryTransactionTree, ParamsOfWaitForCollection, ResultOfQueryTransactionTree}, + net::{ParamsOfQueryTransactionTree, ResultOfQueryTransactionTree}, tc_create_context, tc_destroy_context, ContextHandle, }; use api_info::ApiModule; @@ -668,23 +668,21 @@ impl TestClient { } pub(crate) async fn fetch_account(&self, address: &str) -> Value { - let wait_for = self.wrap_async( - crate::net::wait_for_collection, - NetModule::api(), - crate::net::queries::wait_for_collection_api(), - ); - let result = wait_for - .call(ParamsOfWaitForCollection { - collection: "accounts".into(), - filter: Some(json!({ - "id": { "eq": address.to_string() } + let mut result: ResultOfQuery = self.request_async( + "net.query", + ParamsOfQuery { + query: "query account($address:String!){blockchain{account(address:$address){info{boc}}}}".to_owned(), + variables: Some(json!({ + "address": address.to_string(), })), - result: "id boc".into(), - ..Default::default() }) .await .unwrap(); - result.result + result + .result + .pointer_mut("/data/blockchain/account/info") + .unwrap() + .take() } pub(crate) async fn net_process_function(