From def97ce53ccdc8dfe141ba4c5741b5b07b9f47ac Mon Sep 17 00:00:00 2001 From: Michael Vlasov Date: Fri, 23 Jun 2023 11:13:22 +0300 Subject: [PATCH 1/8] FIX: `MonitoredMessage` API representation simplified. --- CHANGELOG.md | 6 ++++++ Cargo.lock | 14 +++++++------- api/derive/Cargo.toml | 2 +- api/info/Cargo.toml | 2 +- api/test/Cargo.toml | 2 +- ton_client/Cargo.toml | 2 +- ton_client/src/client/tests.rs | 26 ++++++++++++++++++++++---- ton_client/src/net/websocket_link.rs | 18 ++++++++++++++++++ ton_client_processing/Cargo.toml | 2 +- ton_sdk/Cargo.toml | 2 +- toncli/Cargo.toml | 2 +- tools/package.json | 2 +- 12 files changed, 61 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d22f6d5eb..5857fb218 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. +## [1.43.3] – 2023-06-09 + +### Fixed + +- Memory leak in a spawned loop of the web socket link. + ## [1.43.2] – 2023-06-09 ### Fixed diff --git a/Cargo.lock b/Cargo.lock index 532014801..0d6da6d4d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -107,7 +107,7 @@ checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" [[package]] name = "api_derive" -version = "1.43.2" +version = "1.43.3" dependencies = [ "api_info", "proc-macro2", @@ -118,7 +118,7 @@ dependencies = [ [[package]] name = "api_info" -version = "1.43.2" +version = "1.43.3" dependencies = [ "serde", "serde_derive", @@ -127,7 +127,7 @@ dependencies = [ [[package]] name = "api_test" -version = "1.43.2" +version = "1.43.3" dependencies = [ "api_derive", "api_info", @@ -2585,7 +2585,7 @@ dependencies = [ [[package]] name = "ton_client" -version = "1.43.2" +version = "1.43.3" dependencies = [ "aes", "api_derive", @@ -2652,7 +2652,7 @@ dependencies = [ [[package]] name = "ton_client_processing" -version = "1.43.0" +version = "1.43.3" dependencies = [ "api_derive", "api_info", @@ -2684,7 +2684,7 @@ dependencies = [ [[package]] name = "ton_sdk" -version = "1.43.2" +version = "1.43.3" dependencies = [ "api_derive", "api_info", @@ -2792,7 +2792,7 @@ dependencies = [ [[package]] name = "toncli" -version = "1.43.2" +version = "1.43.3" dependencies = [ "api_info", "assert_cmd", diff --git a/api/derive/Cargo.toml b/api/derive/Cargo.toml index d7ca0c6d4..3fdd0b80b 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.43.2' +version = '1.43.3' [dependencies] quote = '1.0.26' diff --git a/api/info/Cargo.toml b/api/info/Cargo.toml index bd535d533..bf246596f 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.43.2' +version = '1.43.3' [dependencies] serde = '1.0.115' diff --git a/api/test/Cargo.toml b/api/test/Cargo.toml index 0ccc65ccc..4e08034c6 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.43.2' +version = '1.43.3' [dependencies] serde = '1.0.115' diff --git a/ton_client/Cargo.toml b/ton_client/Cargo.toml index ebf047d09..4b61b52c7 100644 --- a/ton_client/Cargo.toml +++ b/ton_client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = 'ton_client' -version = '1.43.2' +version = '1.43.3' authors = [ 'TON Labs LTD ' ] edition = '2018' license = 'Apache-2.0' diff --git a/ton_client/src/client/tests.rs b/ton_client/src/client/tests.rs index 0196ba7e6..ff8e2b658 100644 --- a/ton_client/src/client/tests.rs +++ b/ton_client/src/client/tests.rs @@ -2,8 +2,11 @@ use crate::client::ResultOfGetApiReference; use crate::crypto::default_mnemonic_word_count; use crate::json_interface::modules::ClientModule; use crate::tests::TestClient; -use crate::ClientConfig; +use crate::{ClientConfig, ClientContext}; use api_info::ApiModule; +use std::time::Duration; +use tokio::time::sleep; +use crate::net::NetworkConfig; #[test] fn test_config_fields() { @@ -71,10 +74,25 @@ fn test_invalid_params_error_secret_stripped() { r#"{{"address":"0:1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef", "public":"{}", "secret":"{}"}}"#, - public, - secret + public, secret ), - "error" + "error", ); assert!(!error.message.contains(secret)); } + +#[tokio::test] +async fn test_memory_leak() { + let mut context = Some(ClientContext::new(ClientConfig { + network: NetworkConfig { + endpoints: Some(vec!["http://localhost".to_string()]), + ..Default::default() + }, + ..Default::default() + }).unwrap()); + println!("context will be dropped"); + context = None; + println!("context dropped. waiting for 1 second..."); + sleep(Duration::from_millis(1000)).await; + println!("after 1 second since context dropped"); +} diff --git a/ton_client/src/net/websocket_link.rs b/ton_client/src/net/websocket_link.rs index fa5080004..f25c520b8 100644 --- a/ton_client/src/net/websocket_link.rs +++ b/ton_client/src/net/websocket_link.rs @@ -40,6 +40,8 @@ enum HandlerAction { Resume, CheckKeepAlivePassed, + + Terminate, } impl HandlerAction { @@ -54,6 +56,7 @@ impl HandlerAction { #[derive(Clone)] pub(crate) struct WebsocketLink { + client_env: Arc, handler_action_sender: Sender, } @@ -64,6 +67,7 @@ impl WebsocketLink { config: NetworkConfig, ) -> Self { Self { + client_env: client_env.clone(), handler_action_sender: LinkHandler::run(client_env, state, config), } } @@ -96,6 +100,15 @@ impl WebsocketLink { } } +impl Drop for WebsocketLink { + fn drop(&mut self) { + let mut sender = self.handler_action_sender.clone(); + self.client_env.spawn(async move { + HandlerAction::Terminate.send(&mut sender).await; + }); + } +} + #[derive(Clone)] struct RunningOperation { operation: GraphQLQuery, @@ -122,6 +135,7 @@ enum Phase { Connected, Suspended, Reconnecting, + Terminated, } pub(crate) struct LinkHandler { @@ -259,6 +273,7 @@ impl LinkHandler { HandlerAction::Suspend => Phase::Suspended, HandlerAction::Resume => Phase::Connecting, HandlerAction::CheckKeepAlivePassed => phase, + HandlerAction::Terminate => Phase::Terminated, } } @@ -337,6 +352,9 @@ impl LinkHandler { self.start_keep_alive_timer(timeout); } }, + HandlerAction::Terminate => { + next_phase = Phase::Terminated; + } } next_phase } diff --git a/ton_client_processing/Cargo.toml b/ton_client_processing/Cargo.toml index 48654596f..6ff1e7159 100644 --- a/ton_client_processing/Cargo.toml +++ b/ton_client_processing/Cargo.toml @@ -1,6 +1,6 @@ [package] name = 'ton_client_processing' -version = '1.43.0' +version = '1.43.3' authors = [ 'TON Labs LTD ' ] edition = '2018' license = 'Apache-2.0' diff --git a/ton_sdk/Cargo.toml b/ton_sdk/Cargo.toml index f7fbb500b..2a5b64462 100644 --- a/ton_sdk/Cargo.toml +++ b/ton_sdk/Cargo.toml @@ -1,6 +1,6 @@ [package] name = 'ton_sdk' -version = '1.43.2' +version = '1.43.3' edition = '2018' license = 'Apache-2.0' authors = [ 'TON Labs LTD ' ] diff --git a/toncli/Cargo.toml b/toncli/Cargo.toml index b2e52aac5..5cf2c2051 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.43.2' +version = '1.43.3' [dependencies] base64 = '0.13.0' diff --git a/tools/package.json b/tools/package.json index 31c5846c7..de7b1e1fd 100644 --- a/tools/package.json +++ b/tools/package.json @@ -1,6 +1,6 @@ { "name": "tools", - "version": "1.10.0", + "version": "1.43.3", "description": "", "main": "index.js", "scripts": { From 7f3f1bc1ad7d16bcbd43efc0dfc4844742813cdf Mon Sep 17 00:00:00 2001 From: Michael Vlasov Date: Fri, 23 Jun 2023 16:17:07 +0300 Subject: [PATCH 2/8] FIX: Memory leak in a spawned loop of the web socket link. --- ton_client/src/client/tests.rs | 40 +++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/ton_client/src/client/tests.rs b/ton_client/src/client/tests.rs index ff8e2b658..6b219267e 100644 --- a/ton_client/src/client/tests.rs +++ b/ton_client/src/client/tests.rs @@ -2,11 +2,9 @@ use crate::client::ResultOfGetApiReference; use crate::crypto::default_mnemonic_word_count; use crate::json_interface::modules::ClientModule; use crate::tests::TestClient; -use crate::{ClientConfig, ClientContext}; +use crate::{ClientConfig, create_context, destroy_context}; use api_info::ApiModule; -use std::time::Duration; -use tokio::time::sleep; -use crate::net::NetworkConfig; +use serde_json::Value; #[test] fn test_config_fields() { @@ -81,18 +79,24 @@ fn test_invalid_params_error_secret_stripped() { assert!(!error.message.contains(secret)); } -#[tokio::test] -async fn test_memory_leak() { - let mut context = Some(ClientContext::new(ClientConfig { - network: NetworkConfig { - endpoints: Some(vec!["http://localhost".to_string()]), - ..Default::default() - }, - ..Default::default() - }).unwrap()); - println!("context will be dropped"); - context = None; - println!("context dropped. waiting for 1 second..."); - sleep(Duration::from_millis(1000)).await; - println!("after 1 second since context dropped"); +#[test] +fn test_memory_leak() { + for _ in 0..100 { + let ctx = create_context( + r#" + { + "network": { "endpoints": ["http://localhost"] }, + "queries_protocol": "WS" + }"#.to_string()); + let context = serde_json::from_str::(&ctx).unwrap()["result"].as_i64().unwrap() as u32; + { + // let context = Runtime::required_context(context).unwrap(); + // query_collection(context, ParamsOfQueryCollection { + // collection: "blocks".to_string(), + // result: "id".to_string(), + // ..Default::default() + // }).await.unwrap(); + } + destroy_context(context); + } } From 46c5ad5c78a01fcc22cf825ed7901dc7daf03e79 Mon Sep 17 00:00:00 2001 From: Alexey Vavilin Date: Sat, 24 Jun 2023 11:00:24 +0300 Subject: [PATCH 3/8] Support experimental block structure --- Cargo.lock | 384 +++++++++++++++---------------- ton_client/Cargo.toml | 14 +- ton_client/src/debot/calltype.rs | 4 +- ton_client_processing/Cargo.toml | 4 +- ton_sdk/Cargo.toml | 6 +- 5 files changed, 201 insertions(+), 211 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0d6da6d4d..34ec7ab93 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -67,20 +67,26 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" dependencies = [ - "getrandom 0.2.9", + "getrandom 0.2.10", "once_cell", "version_check", ] [[package]] name = "aho-corasick" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04" +checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" dependencies = [ "memchr", ] +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + [[package]] name = "android_system_properties" version = "0.1.5" @@ -176,7 +182,7 @@ checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842" dependencies = [ "proc-macro2", "quote", - "syn 2.0.16", + "syn 2.0.18", ] [[package]] @@ -229,9 +235,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.0" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" +checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" [[package]] name = "bincode" @@ -301,9 +307,9 @@ checksum = "b4ae4235e6dac0694637c763029ecea1a2ec9e4e06ec2729bd21ba4d9c863eb7" [[package]] name = "bumpalo" -version = "3.12.2" +version = "3.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c6ed94e98ecff0c12dd1b04c15ec0d7d9458ca8fe806cea6f12954efe74c63b" +checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" [[package]] name = "byteorder" @@ -349,13 +355,13 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.24" +version = "0.4.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b" +checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5" dependencies = [ + "android-tzdata", "iana-time-zone", "js-sys", - "num-integer", "num-traits", "time 0.1.45", "wasm-bindgen", @@ -400,23 +406,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb" dependencies = [ "percent-encoding", - "time 0.3.21", + "time 0.3.22", "version_check", ] [[package]] name = "cookie_store" -version = "0.16.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e4b6aa369f41f5faa04bb80c9b1f4216ea81646ed6124d76ba5c49a7aafd9cd" +checksum = "d606d0fba62e13cf04db20536c05cb7f13673c161cb47a47a82b9b9e7d3f1daa" dependencies = [ "cookie", "idna 0.2.3", "log", "publicsuffix", "serde", + "serde_derive", "serde_json", - "time 0.3.21", + "time 0.3.22", "url", ] @@ -438,9 +445,9 @@ checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" [[package]] name = "cpufeatures" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58" +checksum = "03e69e28e9f7f77debdedbaafa2866e1de9ba56df55a8bd7cfc724c25a09987c" dependencies = [ "libc", ] @@ -592,9 +599,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer 0.10.4", "crypto-common", @@ -697,14 +704,14 @@ dependencies = [ [[package]] name = "ever-struct" -version = "1.0.0" -source = "git+https://github.com/tonlabs/ever-struct.git?tag=0.1.1#1a5c8d3d95c01cfe924416cefe1f679ebbf1a681" +version = "0.1.2" +source = "git+https://github.com/tonlabs/ever-struct.git?tag=0.1.2#aef694e4fa00040c51c05b71f4a83f0a50030a5b" dependencies = [ "anyhow", "failure", "hex-literal", "ton_block", - "ton_types 2.0.5", + "ton_types 2.0.15", ] [[package]] @@ -776,9 +783,9 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" dependencies = [ "percent-encoding", ] @@ -839,7 +846,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.16", + "syn 2.0.18", ] [[package]] @@ -897,9 +904,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -910,9 +917,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.27.2" +version = "0.27.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4" +checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" [[package]] name = "graphql-parser" @@ -1104,9 +1111,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.56" +version = "0.1.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c" +checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -1146,6 +1153,16 @@ dependencies = [ "unicode-normalization", ] +[[package]] +name = "idna" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + [[package]] name = "index-fixed" version = "0.3.1" @@ -1187,9 +1204,9 @@ dependencies = [ [[package]] name = "io-lifetimes" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220" +checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ "hermit-abi 0.3.1", "libc", @@ -1228,9 +1245,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.62" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68c16e1bfd491478ab155fd8b4896b86f9ede344949b641e61501e07c2b8b4d5" +checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" dependencies = [ "wasm-bindgen", ] @@ -1254,9 +1271,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.144" +version = "0.2.146" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1" +checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b" [[package]] name = "libsecp256k1" @@ -1314,15 +1331,15 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linux-raw-sys" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ece97ea872ece730aed82664c424eb4c8291e1ff2480247ccf7409044bc6479f" +checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "lock_api" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" dependencies = [ "autocfg", "scopeguard", @@ -1338,11 +1355,10 @@ dependencies = [ [[package]] name = "log" -version = "0.4.17" +version = "0.4.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" dependencies = [ - "cfg-if 1.0.0", "serde", ] @@ -1416,14 +1432,13 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.6" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" +checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" dependencies = [ "libc", - "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.45.0", + "windows-sys 0.48.0", ] [[package]] @@ -1549,18 +1564,18 @@ dependencies = [ [[package]] name = "object" -version = "0.30.3" +version = "0.30.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439" +checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.17.1" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "opaque-debug" @@ -1570,9 +1585,9 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openssl" -version = "0.10.52" +version = "0.10.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01b8574602df80f7b85fdfc5392fa884a4e3b3f4f35402c070ab34c3d3f78d56" +checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d" dependencies = [ "bitflags", "cfg-if 1.0.0", @@ -1591,7 +1606,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.16", + "syn 2.0.18", ] [[package]] @@ -1602,9 +1617,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.87" +version = "0.9.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e17f59264b2809d77ae94f0e1ebabc434773f370d6ca667bd223ea10e06cc7e" +checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6" dependencies = [ "cc", "libc", @@ -1648,15 +1663,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.7" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" +checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall 0.2.16", + "redox_syscall 0.3.5", "smallvec", - "windows-sys 0.45.0", + "windows-targets", ] [[package]] @@ -1679,15 +1694,15 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" [[package]] name = "pest" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e68e84bfb01f0507134eac1e9b410a12ba379d064eab48c50ba4ce329a527b70" +checksum = "f73935e4d55e2abf7f130186537b19e7a4abc886a0252380b59248af473a3fc9" dependencies = [ "thiserror", "ucd-trie", @@ -1695,9 +1710,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b79d4c71c865a25a4322296122e3924d30bc8ee0834c8bfc8b95f7f054afbfb" +checksum = "aef623c9bbfa0eedf5a0efba11a5ee83209c326653ca31ff019bec3a95bfff2b" dependencies = [ "pest", "pest_generator", @@ -1705,26 +1720,26 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c435bf1076437b851ebc8edc3a18442796b30f1728ffea6262d59bbe28b077e" +checksum = "b3e8cba4ec22bada7fc55ffe51e2deb6a0e0db2d0b7ab0b103acc80d2510c190" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.16", + "syn 2.0.18", ] [[package]] name = "pest_meta" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "745a452f8eb71e39ffd8ee32b3c5f51d03845f99786fa9b68db6ff509c505411" +checksum = "a01f71cb40bd8bb94232df14b946909e14660e33fc05db3e50ae2a82d7ea0ca0" dependencies = [ "once_cell", "pest", - "sha2 0.10.6", + "sha2 0.10.7", ] [[package]] @@ -1811,9 +1826,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.56" +version = "1.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435" +checksum = "dec2b086b7a862cf4de201096214fa870344cf922b2b30c167badb3af3195406" dependencies = [ "unicode-ident", ] @@ -1836,9 +1851,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.27" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f4f29d145265ec1c483c7c654450edde0bfe043d3938d6972630663356d9500" +checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" dependencies = [ "proc-macro2", ] @@ -1902,7 +1917,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.9", + "getrandom 0.2.10", ] [[package]] @@ -1938,16 +1953,16 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ - "getrandom 0.2.9", + "getrandom 0.2.10", "redox_syscall 0.2.16", "thiserror", ] [[package]] name = "regex" -version = "1.8.1" +version = "1.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af83e617f331cc6ae2da5443c602dfa5af81e517212d9d611a5b3ba1777b5370" +checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f" dependencies = [ "aho-corasick", "memchr", @@ -1962,17 +1977,17 @@ checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" [[package]] name = "regex-syntax" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c" +checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78" [[package]] name = "reqwest" -version = "0.11.17" +version = "0.11.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13293b639a097af28fc8a90f22add145a9c954e49d77da06263d58cf44d5fb91" +checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55" dependencies = [ - "base64 0.21.0", + "base64 0.21.2", "bytes", "cookie", "cookie_store", @@ -2019,9 +2034,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustix" -version = "0.37.19" +version = "0.37.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d" +checksum = "b96e891d04aa506a6d1f318d2771bcb1c7dfda84e126660ace067c9b474bb2c0" dependencies = [ "bitflags", "errno", @@ -2084,9 +2099,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.9.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2855b3715770894e67cbfa3df957790aa0c9edc3bf06efa1a84d77fa0839d1" +checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8" dependencies = [ "bitflags", "core-foundation", @@ -2107,9 +2122,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.163" +version = "1.0.164" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2" +checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d" dependencies = [ "serde_derive", ] @@ -2126,20 +2141,20 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.163" +version = "1.0.164" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e" +checksum = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.16", + "syn 2.0.18", ] [[package]] name = "serde_json" -version = "1.0.96" +version = "1.0.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1" +checksum = "bdf3bf93142acad5821c99197022e170842cdbc1c30482b98750c688c640842a" dependencies = [ "indexmap", "itoa", @@ -2155,7 +2170,7 @@ checksum = "bcec881020c684085e55a25f7fd888954d56609ef363479dc5a1305eb0d40cab" dependencies = [ "proc-macro2", "quote", - "syn 2.0.16", + "syn 2.0.18", ] [[package]] @@ -2190,7 +2205,7 @@ checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c" dependencies = [ "cfg-if 1.0.0", "cpufeatures", - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -2208,13 +2223,13 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" +checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" dependencies = [ "cfg-if 1.0.0", "cpufeatures", - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -2285,9 +2300,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.16" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6f671d4b5ffdb8eadec19c0ae67fe2639df8684bd7bc4b83d986b8db549cf01" +checksum = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e" dependencies = [ "proc-macro2", "quote", @@ -2308,15 +2323,16 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.5.0" +version = "3.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998" +checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6" dependencies = [ + "autocfg", "cfg-if 1.0.0", "fastrand", "redox_syscall 0.3.5", "rustix", - "windows-sys 0.45.0", + "windows-sys 0.48.0", ] [[package]] @@ -2342,14 +2358,14 @@ checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.16", + "syn 2.0.18", ] [[package]] name = "thread-id" -version = "4.0.0" +version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fdfe0627923f7411a43ec9ec9c39c3a9b4151be313e0922042581fb6c9b717f" +checksum = "3ee93aa2b8331c0fec9091548843f2c90019571814057da3b783f9de09349d73" dependencies = [ "libc", "redox_syscall 0.2.16", @@ -2369,9 +2385,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.21" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3403384eaacbca9923fa06940178ac13e4edb725486d70e8e15881d0c836cc" +checksum = "ea9e1b3cf1243ae005d9e74085d4d542f3125458f3a81af210d901dcd7411efd" dependencies = [ "itoa", "serde", @@ -2430,9 +2446,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.28.1" +version = "1.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0aa32867d44e6f2ce3385e89dceb990188b8bb0fb25b0cf576647a6f98ac5105" +checksum = "94d7b1cfd2aa4011f2de74c2c4c63665e27a71006b0a192dcd2710272e73dfa2" dependencies = [ "autocfg", "bytes", @@ -2453,7 +2469,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.16", + "syn 2.0.18", ] [[package]] @@ -2507,8 +2523,8 @@ dependencies = [ [[package]] name = "ton_abi" -version = "2.3.88" -source = "git+https://github.com/tonlabs/ever-abi.git?tag=2.3.88#01a43ad2d00b0fdfe6774fe666d2b4886bc2028a" +version = "2.3.126" +source = "git+https://github.com/tonlabs/ever-abi.git?tag=2.3.126#310ddff3cceecbcab6b827b7cb192af2e3cd3378" dependencies = [ "base64 0.10.1", "byteorder", @@ -2522,15 +2538,15 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "sha2 0.10.6", + "sha2 0.10.7", "ton_block", - "ton_types 2.0.5", + "ton_types 2.0.15", ] [[package]] name = "ton_api" -version = "0.2.200" -source = "git+https://github.com/tonlabs/ever-tl.git?tag=0.2.200#1ad6faf37768063d08d433f744a5771c778e5e1f" +version = "0.3.20" +source = "git+https://github.com/tonlabs/ever-tl.git?tag=0.3.20#ea8a77dd7c208b334efe242b4e291f12dfa12428" dependencies = [ "byteorder", "extfmt", @@ -2544,13 +2560,13 @@ dependencies = [ "serde_json", "ton_block", "ton_tl_codegen", - "ton_types 2.0.5", + "ton_types 2.0.15", ] [[package]] name = "ton_block" -version = "1.9.51" -source = "git+https://github.com/tonlabs/ever-block.git?tag=1.9.51#6abebeca68439a52ae5117d88257a175890c2262" +version = "1.9.84" +source = "git+https://github.com/tonlabs/ever-block.git?tag=1.9.84#2eec36212d613f9fca46c89603504d481507421a" dependencies = [ "base64 0.13.1", "crc 3.0.1", @@ -2561,14 +2577,14 @@ dependencies = [ "log", "num", "num-traits", - "sha2 0.10.6", - "ton_types 2.0.5", + "sha2 0.10.7", + "ton_types 2.0.15", ] [[package]] name = "ton_block_json" -version = "0.7.123" -source = "git+https://github.com/tonlabs/ever-block-json.git?tag=0.7.123#47e0f56ffc71bfb865b35ad527be749a7f3b95a1" +version = "0.7.163" +source = "git+https://github.com/tonlabs/ever-block-json.git?tag=0.7.163#85d4ccb1bc06bb025543962af4bf7381ac1c9b45" dependencies = [ "base64 0.13.1", "failure", @@ -2580,7 +2596,7 @@ dependencies = [ "serde_json", "ton_api", "ton_block", - "ton_types 2.0.5", + "ton_types 2.0.15", ] [[package]] @@ -2641,7 +2657,7 @@ dependencies = [ "ton_client_processing", "ton_executor", "ton_sdk", - "ton_types 2.0.5", + "ton_types 2.0.15", "ton_vm", "wasm-bindgen", "wasm-bindgen-futures", @@ -2657,7 +2673,7 @@ dependencies = [ "api_derive", "api_info", "async-trait", - "base64 0.21.0", + "base64 0.21.2", "futures", "log", "serde", @@ -2666,19 +2682,19 @@ dependencies = [ "serde_repr", "tokio", "ton_block", - "ton_types 2.0.5", + "ton_types 2.0.15", ] [[package]] name = "ton_executor" -version = "1.16.3" -source = "git+https://github.com/tonlabs/ever-executor.git?tag=1.16.3#32b7325dcf866080fbe8518e668ed6db18d5b60e" +version = "1.16.53" +source = "git+https://github.com/tonlabs/ever-executor.git?tag=1.16.53#a48e02544eb6eec16c991406bea43d4a0ba0b49c" dependencies = [ "failure", "lazy_static", "log", "ton_block", - "ton_types 2.0.5", + "ton_types 2.0.15", "ton_vm", ] @@ -2703,13 +2719,13 @@ dependencies = [ "sha2 0.9.9", "ton_abi", "ton_block", - "ton_types 2.0.5", + "ton_types 2.0.15", ] [[package]] name = "ton_tl_codegen" -version = "0.0.2" -source = "git+https://github.com/tonlabs/ever-tl.git?tag=0.2.200#1ad6faf37768063d08d433f744a5771c778e5e1f" +version = "0.1.0" +source = "git+https://github.com/tonlabs/ever-tl.git?tag=0.3.20#ea8a77dd7c208b334efe242b4e291f12dfa12428" dependencies = [ "crc 1.8.1", "failure", @@ -2743,8 +2759,8 @@ dependencies = [ [[package]] name = "ton_types" -version = "2.0.5" -source = "git+https://github.com/tonlabs/ever-types.git?tag=2.0.5#f9ec93c2d80a2ea5e86f65cb1dc526e17b2d5630" +version = "2.0.15" +source = "git+https://github.com/tonlabs/ever-types.git?tag=2.0.15#466012683d32b4f19563039393c35b362eadb245" dependencies = [ "aes-ctr", "base64 0.13.1", @@ -2763,15 +2779,15 @@ dependencies = [ "rand 0.7.3", "serde", "serde_json", - "sha2 0.10.6", + "sha2 0.10.7", "smallvec", "x25519-dalek", ] [[package]] name = "ton_vm" -version = "1.8.139" -source = "git+https://github.com/tonlabs/ever-vm.git?tag=1.8.139#260daf7eb0f842c81a61d6b8f063aef7d40703f7" +version = "1.8.184" +source = "git+https://github.com/tonlabs/ever-vm.git?tag=1.8.184#5bd9fe532efe2599ccea643ea8fd92090e3d0f34" dependencies = [ "diffy", "ed25519", @@ -2783,10 +2799,9 @@ dependencies = [ "num", "num-traits", "rand 0.7.3", - "sha2 0.10.6", "similar", "ton_block", - "ton_types 2.0.5", + "ton_types 2.0.15", "zstd", ] @@ -2888,9 +2903,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" -version = "1.0.8" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" +checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" [[package]] name = "unicode-normalization" @@ -2941,12 +2956,12 @@ dependencies = [ [[package]] name = "url" -version = "2.3.1" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" +checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" dependencies = [ "form_urlencoded", - "idna 0.3.0", + "idna 0.4.0", "percent-encoding", ] @@ -2962,7 +2977,7 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "getrandom 0.2.9", + "getrandom 0.2.10", ] [[package]] @@ -2994,11 +3009,10 @@ dependencies = [ [[package]] name = "want" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" dependencies = [ - "log", "try-lock", ] @@ -3022,9 +3036,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.85" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b6cb788c4e39112fbe1822277ef6fb3c55cd86b95cb3d3c4c1c9597e4ac74b4" +checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -3032,24 +3046,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.85" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35e522ed4105a9d626d885b35d62501b30d9666283a5c8be12c14a8bdafe7822" +checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.16", + "syn 2.0.18", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.35" +version = "0.4.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "083abe15c5d88556b77bdf7aef403625be9e327ad37c62c4e4129af740168163" +checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -3059,9 +3073,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.85" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "358a79a0cb89d21db8120cbfb91392335913e4890665b1a7981d9e956903b434" +checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3069,28 +3083,28 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.85" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4783ce29f09b9d93134d41297aded3a712b7b979e9c6f28c32cb88c973a94869" +checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.16", + "syn 2.0.18", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.85" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a901d592cafaa4d711bc324edfaff879ac700b19c3dfd60058d2b445be2691eb" +checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" [[package]] name = "web-sys" -version = "0.3.62" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b5f940c7edfdc6d12126d98c9ef4d1b3d470011c47c76a6581df47ad9ba721" +checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" dependencies = [ "js-sys", "wasm-bindgen", @@ -3124,7 +3138,7 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" dependencies = [ - "windows-targets 0.48.0", + "windows-targets", ] [[package]] @@ -3142,37 +3156,13 @@ dependencies = [ "windows_x86_64_msvc 0.42.2", ] -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets 0.42.2", -] - [[package]] name = "windows-sys" version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets 0.48.0", -] - -[[package]] -name = "windows-targets" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", + "windows-targets", ] [[package]] @@ -3326,7 +3316,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.16", + "syn 2.0.18", ] [[package]] diff --git a/ton_client/Cargo.toml b/ton_client/Cargo.toml index 4b61b52c7..9341defdd 100644 --- a/ton_client/Cargo.toml +++ b/ton_client/Cargo.toml @@ -21,13 +21,13 @@ api_info = { path = '../api/info' } ton_sdk = { default-features = false, path = '../ton_sdk' } ton_client_processing = { default-features = false, path = '../ton_client_processing' } -ton_abi = { git = 'https://github.com/tonlabs/ever-abi.git', tag = '2.3.88' } -ton_block = { git = 'https://github.com/tonlabs/ever-block.git', tag = '1.9.51' } -ton_block_json = { git = 'https://github.com/tonlabs/ever-block-json.git', tag = '0.7.123' } -ton_types = { git = 'https://github.com/tonlabs/ever-types.git', tag = '2.0.5' } -ton_executor = { features = ['signature_with_id'], git = 'https://github.com/tonlabs/ever-executor.git', tag = '1.16.3' } -ton_vm = { features = ['signature_with_id', 'signature_no_check'], git = 'https://github.com/tonlabs/ever-vm.git', tag = '1.8.139' } -ever-struct = { git = 'https://github.com/tonlabs/ever-struct.git', tag = '0.1.1' } +ton_abi = { git = 'https://github.com/tonlabs/ever-abi.git', tag = '2.3.126' } +ton_block = { features = ["fast_finality"], git = 'https://github.com/tonlabs/ever-block.git', tag = '1.9.84' } +ton_block_json = { git = 'https://github.com/tonlabs/ever-block-json.git', tag = '0.7.163' } +ton_types = { git = 'https://github.com/tonlabs/ever-types.git', tag = '2.0.15' } +ton_executor = { features = ['signature_with_id'], git = 'https://github.com/tonlabs/ever-executor.git', tag = '1.16.53' } +ton_vm = { features = ['signature_with_id', 'signature_no_check'], git = 'https://github.com/tonlabs/ever-vm.git', tag = '1.8.184' } +ever-struct = { git = 'https://github.com/tonlabs/ever-struct.git', tag = '0.1.2' } lockfree = { git = 'https://github.com/tonlabs/lockfree.git', package = 'lockfree' } sodalite = { features = [ 'rand' ], git = 'https://github.com/tonlabs/sodalite.git' } diff --git a/ton_client/src/debot/calltype.rs b/ton_client/src/debot/calltype.rs index 1cf6fc66e..c88ade46f 100644 --- a/ton_client/src/debot/calltype.rs +++ b/ton_client/src/debot/calltype.rs @@ -204,7 +204,7 @@ async fn decode_and_fix_ext_msg( } new_body .append_u32(func_id) - .and_then(|b| b.append_builder(&BuilderData::from_slice(&in_body_slice))) + .and_then(|b| b.append_builder(&in_body_slice.as_builder())) .map_err(msg_err)?; let mut signed_body = BuilderData::new(); @@ -497,7 +497,7 @@ fn build_answer_msg( return None; } new_body - .append_builder(&BuilderData::from_slice(&body_slice)) + .append_builder(&body_slice.as_builder()) .ok()?; } diff --git a/ton_client_processing/Cargo.toml b/ton_client_processing/Cargo.toml index 6ff1e7159..312804b31 100644 --- a/ton_client_processing/Cargo.toml +++ b/ton_client_processing/Cargo.toml @@ -10,8 +10,8 @@ name = 'ton_client_processing' crate-type = [ 'cdylib', 'rlib', 'staticlib' ] [dependencies] -ton_block = { git = 'https://github.com/tonlabs/ever-block.git', tag = '1.9.51' } -ton_types = { git = 'https://github.com/tonlabs/ever-types.git', tag = '2.0.5' } +ton_block = { git = 'https://github.com/tonlabs/ever-block.git', tag = '1.9.84' } +ton_types = { git = 'https://github.com/tonlabs/ever-types.git', tag = '2.0.15' } api_derive = { path = '../api/derive' } api_info = { path = '../api/info' } diff --git a/ton_sdk/Cargo.toml b/ton_sdk/Cargo.toml index 2a5b64462..f86f8519f 100644 --- a/ton_sdk/Cargo.toml +++ b/ton_sdk/Cargo.toml @@ -6,9 +6,9 @@ license = 'Apache-2.0' authors = [ 'TON Labs LTD ' ] [dependencies] -ton_abi = { git = 'https://github.com/tonlabs/ever-abi.git', tag = '2.3.88' } -ton_block = { git = 'https://github.com/tonlabs/ever-block.git', tag = '1.9.51' } -ton_types = { git = 'https://github.com/tonlabs/ever-types.git', tag = '2.0.5' } +ton_abi = { git = 'https://github.com/tonlabs/ever-abi.git', tag = '2.3.126' } +ton_block = { git = 'https://github.com/tonlabs/ever-block.git', tag = '1.9.84' } +ton_types = { git = 'https://github.com/tonlabs/ever-types.git', tag = '2.0.15' } api_info = { path = '../api/info' } api_derive = { path = '../api/derive' } From 20c7adfa842d051f0cf66bcc4ca92616dcaa7b1f Mon Sep 17 00:00:00 2001 From: tonjen Date: Sat, 24 Jun 2023 10:35:01 +0000 Subject: [PATCH 4/8] Update docs --- tools/api.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/api.json b/tools/api.json index da2c9c1e9..8065e832c 100644 --- a/tools/api.json +++ b/tools/api.json @@ -1,5 +1,5 @@ { - "version": "1.43.2", + "version": "1.43.3", "modules": [ { "name": "client", From 27bbb236e47ef5e9e95680516de8240a62c8a4a7 Mon Sep 17 00:00:00 2001 From: tonjen Date: Sat, 24 Jun 2023 10:40:08 +0000 Subject: [PATCH 5/8] Update trusted blocks --- ton_client/src/proofs/trusted_key_blocks.bin | Bin 415348 -> 425320 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 53f8e3c338b0a0b157b89404d18b84ce5e9afe6a..6b5b47611f37eb3aab63a96717548c5c4ca3cb7a 100644 GIT binary patch delta 10106 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 Date: Sat, 24 Jun 2023 14:54:48 +0300 Subject: [PATCH 6/8] Version 1.43.3 --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5857fb218..4071702aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. -## [1.43.3] – 2023-06-09 +## [1.43.3] – 2023-06-24 ### Fixed From 5028b121300d1aa9df0595b051c215155226d6cc Mon Sep 17 00:00:00 2001 From: Michael Vlasov Date: Sat, 24 Jun 2023 20:00:37 +0300 Subject: [PATCH 7/8] FIX: WebsocketLink stopped the handler loop on unsubscribe. --- ton_client/src/client/tests.rs | 43 +++++++++++++++++++++------- ton_client/src/net/server_link.rs | 4 +-- ton_client/src/net/websocket_link.rs | 1 - 3 files changed, 35 insertions(+), 13 deletions(-) diff --git a/ton_client/src/client/tests.rs b/ton_client/src/client/tests.rs index 6b219267e..6507153a2 100644 --- a/ton_client/src/client/tests.rs +++ b/ton_client/src/client/tests.rs @@ -1,10 +1,13 @@ use crate::client::ResultOfGetApiReference; use crate::crypto::default_mnemonic_word_count; use crate::json_interface::modules::ClientModule; +use crate::json_interface::runtime::Runtime; +use crate::net::{subscribe_collection, unsubscribe, ParamsOfSubscribeCollection}; use crate::tests::TestClient; -use crate::{ClientConfig, create_context, destroy_context}; +use crate::{create_context, destroy_context, ClientConfig}; use api_info::ApiModule; use serde_json::Value; +use std::time::Duration; #[test] fn test_config_fields() { @@ -79,9 +82,9 @@ fn test_invalid_params_error_secret_stripped() { assert!(!error.message.contains(secret)); } -#[test] -fn test_memory_leak() { - for _ in 0..100 { +#[tokio::test] +async fn test_memory_leak() { + for _ in 0..1 { let ctx = create_context( r#" { @@ -90,12 +93,32 @@ fn test_memory_leak() { }"#.to_string()); let context = serde_json::from_str::(&ctx).unwrap()["result"].as_i64().unwrap() as u32; { - // let context = Runtime::required_context(context).unwrap(); - // query_collection(context, ParamsOfQueryCollection { - // collection: "blocks".to_string(), - // result: "id".to_string(), - // ..Default::default() - // }).await.unwrap(); + let context = Runtime::required_context(context).unwrap(); + let subscription = subscribe_collection( + context.clone(), + ParamsOfSubscribeCollection { + collection: "blocks".to_string(), + result: "id".to_string(), + filter: None, + }, + |_| async {}, + ) + .await + .unwrap(); + unsubscribe(context.clone(), subscription).await.unwrap(); + tokio::time::sleep(Duration::from_millis(1000)).await; + let subscription = subscribe_collection( + context.clone(), + ParamsOfSubscribeCollection { + collection: "blocks".to_string(), + result: "id".to_string(), + filter: None, + }, + |_| async {}, + ) + .await + .unwrap(); + unsubscribe(context.clone(), subscription).await.unwrap(); } destroy_context(context); } diff --git a/ton_client/src/net/server_link.rs b/ton_client/src/net/server_link.rs index 2a6e02a7f..eb2f59975 100644 --- a/ton_client/src/net/server_link.rs +++ b/ton_client/src/net/server_link.rs @@ -367,7 +367,7 @@ impl NetworkState { pub(crate) struct ServerLink { config: NetworkConfig, pub(crate) client_env: Arc, - websocket_link: WebsocketLink, + websocket_link: Arc, state: Arc, } @@ -417,7 +417,7 @@ impl ServerLink { config: config.clone(), client_env: client_env.clone(), state: state.clone(), - websocket_link: WebsocketLink::new(client_env, state, config), + websocket_link: Arc::new(WebsocketLink::new(client_env, state, config)), }) } diff --git a/ton_client/src/net/websocket_link.rs b/ton_client/src/net/websocket_link.rs index f25c520b8..0a464745f 100644 --- a/ton_client/src/net/websocket_link.rs +++ b/ton_client/src/net/websocket_link.rs @@ -54,7 +54,6 @@ impl HandlerAction { //================================================================================== WebsocketLink -#[derive(Clone)] pub(crate) struct WebsocketLink { client_env: Arc, handler_action_sender: Sender, From 220e83d3c29852f879c7e21a4a4f5c3a1d34a974 Mon Sep 17 00:00:00 2001 From: Sergei Voronezhskii Date: Sat, 24 Jun 2023 21:01:46 +0300 Subject: [PATCH 8/8] fix test_memory_leak --- ton_client/src/client/tests.rs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/ton_client/src/client/tests.rs b/ton_client/src/client/tests.rs index 6507153a2..e4015bf4f 100644 --- a/ton_client/src/client/tests.rs +++ b/ton_client/src/client/tests.rs @@ -84,13 +84,14 @@ fn test_invalid_params_error_secret_stripped() { #[tokio::test] async fn test_memory_leak() { - for _ in 0..1 { - let ctx = create_context( - r#" - { - "network": { "endpoints": ["http://localhost"] }, - "queries_protocol": "WS" - }"#.to_string()); + for _ in 0..100 { + let config = json!({ + "network": { + "endpoints": TestClient::endpoints(), + "queries_protocol": "WS", + } + }); + let ctx = create_context(config.to_string()); let context = serde_json::from_str::(&ctx).unwrap()["result"].as_i64().unwrap() as u32; { let context = Runtime::required_context(context).unwrap();